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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 Ověřování modelu pomocí automatů Tomáš Masopust Brno, 2003

2 Obsah Úvod 3 1 Temporální logiky Modely Computation Tree Logic Linear-time Temporal Logic CTL* Výrokový µ-kalkul Vyjadřovací schopnosti jednotlivých logik Teorie automatů Automaty nad nekonečnými slovy Büchiho automaty Alternující Büchiho automaty Automaty nad nekonečnými stromy Alternující automaty nad nekonečnými stromy Slabé alternující automaty Váhavé alternující automaty Automaty nad jednoprvkovou abecedou Součin Kripkeho struktury a alternujícího automatu Logiky a automaty LTL a Büchiho automaty CTL, WAA a HAA CTL* a HAA µ-kalkul bez alternací a WAA µ-kalkul a paritní alternující automaty Ověřování modelu (model checking) Specifikace vlastností pomocí CTL* Model checking pro LTL Model checking pro logiky větvícího se času Model checking pro CTL Model checking pro CTL*

3 OBSAH Model checking pro µ-kalkul bez alternací Model checking pro µ-kalkul Závěr 59 Literatura 61 A Splnitelnost a platnost formulí 65 A.1 Splnitelnost LTL formulí A.2 Splnitelnost CTL formulí A.3 Splnitelnost CTL* formulí A.4 Splnitelnost formulí µ-kalkulu bez alternací A.5 Splnitelnost formulí µ-kalkulu

4 Úvod V dnešní době stále rychleji se rozvíjejícího počítačového průmyslu, spojeného s návrhem rozsáhlých a složitých systémů, je stále více zapotřebí spolehlivé metody pro detekci chyb. Takovou metodou je formální verifikace. Formální verifikace spočívá v ověření, zda matematický model systému splňuje formální specifikaci popisující jeho chování. Požadované chování je specifikováno v jazyku formální specifikace s přesně udanou sémantikou, což zaručuje jeho korektnost. Dále je formální verifikace úplná systém je korektní vzhledem ke specifikaci, pokud všechna jeho chování splňují specifikaci. Velkou výhodou formální verifikace je možnost jejího použití během návrhu systému, tedy v době, kdy jsou chyby ještě poměrně neškodné a snadno opravitelné. Na druhou stranu nevýhoda formální verifikace spočívá v nemožnosti dosažení kompletní korektnosti, neboť systém je verifikován pouze vzhledem k požadovaným vlastnostem. Velkou oblibu má automatizovaná formální verifikace a to právě díky tomu, že je prováděna automatizovaně, tedy bez nutnosti hlubších znalostí problému na rozdíl od důkazově založené formální verifikace, kde je hlubší znalost problému nezbytná. Ověřování modelu (model checking) je technika formální verifikace založená na prozkoumávání stavů modelu a může být v mnoha případech plně automatizovaná. Jelikož se při model checkingu prozkoumává prostor dosažitelných stavů modelu, je model checker schopen pracovat pouze nad konečně stavovými systémy. 1 Mnoho zajímavých systémů je však konečně stavových hardwarové systémy, komunikační protokoly, jádra operačních systémů atd. Bohužel model checking má i své nevýhody. Jeho výkonnost podstatně záleží na velikosti modelu. Příliš velký model se nevejde do paměti. Model i poměrně malého systému složeného z několika souběžných procesů může mít až exponenciálně mnoho stavů oproti jednotlivým procesům. Tomuto nárůstu stavů se říká stavová exploze a je to jedna z nejdůležitějších oblastí výzkumu v model checkingu. První algoritmus pro model checking temporálních logik větvícího se času byl zkonstruován na počátku osmdesátých let nezávisle na sobě Clarkem a Emersonem [2] a Quillem a Sifakisem [29]. Tyto algoritmy měly polynomiální složitost. Složitost model checkingu pro CTL byla později zlepšena na lineární vzhledem k velikosti Kripkeho struktury i vzhledem k velikosti vstupní formule 1 Pro nekonečně stavové systémy se používá kombinace důkazově a stavově založené formální verifikace. 3

5 OBSAH 4 [3]. Clark a Sistla byli první, kteří analyzovali teoretickou složitost model checkingu pro LTL a ukázali, že jde o PSPACE-úplný problém [32]. Lichtenstein a Pnueli dále ukázali, že složitost model checkingu pro LTL je lineární vzhledem k velikosti Kripkeho struktury, ale exponenciální vzhledem k velikosti vstupní formule. Emerson a Lei rozšířili tento výsledek na CTL* a ukázali, že složitost model checkingu pro CTL* je stejná jako pro LTL [10]. Problém model checkingu pro µ-kalkul náleží do NP co-np [17]. Ovšem je zde stále otevřená otázka existence polynomiálního algoritmu pro tento problém. Přístupy k model checkingu se rozlišují na lokální a globální: Lokální přístup úkolem je pro danou Kripkeho strukturu K, stav s a formuli ϕ rozhodnout, zda K, s = ϕ. Globální přístup úkolem je spočítat množinu {s K, s = ϕ}. Lokální model checking je speciálním případem globálního model checkingu. Nemusíme u něj obecně procházet všechny stavy, avšak v nejhorším případě je všechny projít musíme. V této práci se budeme věnovat model checkingu konečně stavových systémů založeném na teorii automatů. Popíšeme základní principy fungování těchto přístupů a budeme je demonstrovat na příkladech. V části věnované model checkingu uvedeme příklad jednoho konkrétní reálného systému systému vzájemného vyloučení dvou procesů, na němž budeme demonstrovat princip model checkingu. První kapitola seznamuje se základními temporálními logikami, kterými se budeme zabývat. Druhá se věnuje teorii automatů nezbytné pro model checking. Kapitola třetí pojednává o transformacích formulí temporální logiky na vhodné typy automatů. Dále následuje kapitola věnovaná ověřování modelu. V příloze je možné nalézt ještě jednu aplikaci nastíněné teorie splnitelnost formulí temporálních logik.

6 Kapitola 1 Temporální logiky Logiky lineárního času, stručně lineární a větvící se temporální logiky, jsou modální logiky obohacené o operátory umožňující popisovat chování v neomezeném čase [19, 15]. V lineární temporální logice má každý časový okamžik pouze jediné pokračování, zatímco v logice větvícího se času se může každý časový okamžik rozvětvit na několik možností a pokračovat libovolnou z nich. Lineární temporální logiky jsou proto interpretovány nad lineárními posloupnostmi (řetězci) a jsou chápány jako specifikace vlastností jednotlivých výpočtů systému. Naproti tomu logiky větvícího se času jsou interpretovány nad strukturami, na něž lze nahlížet jako na stromy, z nichž každá popisuje chování možných výpočtů nedeterministického systému. K definování sémantiky temporálních logik potřebujeme mít interpretaci (model) těchto logik. Tímto modelem budou jisté přechodové systémy (s návěštími a tzv. Kripkeho struktury), které popíšeme v následující části. Jelikož se na přechodové systémy s návěštími dá nahlížet i jako na Kripkeho struktury, budeme v dalším textu brát za model temporální logiky pouze Kripkeho struktury. 1.1 Modely Definujme pojem modelu jako matematického popisu systému. Ke každému systému jsme schopni sestrojit (nekonečný) model. Modely rozlišujeme podle toho, zda nás zajímají pouze akce prováděné systémem (přechodové systémy s návěštími), či pouze výsledky těchto akcí jejich působení na stavy (Kripkeho struktury). Definice 1.1 Kripkeho struktura je pětice K = (AP, S,, s 0, L), kde AP je množina atomických formulí (označme je p, q, r,..., p 1, p 2,... ), S je množina stavů, S S je totální přechodová relace, s 0 je počáteční stav a L : S 2 AP je valuace. 5

7 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 6 Výpočet (cesta) v Kripkeho struktuře K je nekonečná posloupnost stavů π = s 0 s 1... taková, že pro všechna i 0 platí s i s i+1. Sufix s i s i+1... výpočtu π označujeme π i. K = S + je velikost Kripkeho struktury K. Intuice je taková, že relace říká jak může daný systém přecházet ze stavu do stavu. Pro každý stav s rovněž máme množinu L(s) všech atomických formulí, které při valuaci L platí v daném stavu. Z požadavku totálnosti přechodové relace plyne, že žádný stav systému nemůže uváznout (z každého stavu vede alespoň jedna šipka do nějakého stavu). Navíc tento požadavek na relaci není na závadu. Pokud relace není totální, můžeme přidat nový stav s d spolu s přechodem s s d pro všechny stavy s s uváznutím a přechod s d s d. Tím se zřejmě chování systému nezmění. Kripkeho strukturu je možné vyjádřit jako orientovaný graf, jehož každý uzel obsahuje všechny atomy platné při dané valuaci. Pro názornost vezměme následující strukturu K, kde S = {s 0, s 1, s 2 }, přechody jsou s 0 s 1, s 0 s 2, s 1 s 0, s 1 s 2 a L(s 0 ) = {p, q}, L(s 1 ) = {q, r}, L(s 2 ) = {r}. Příslušný orientovaný graf je znázorněn na obrázku 1.1. Všimněme si, že stav s 2 uvázl není s 1 s 0 p, q q, r r s 2 Obrázek 1.1: Reprezentace Kripkeho struktury K jako orientovaného grafu. z něj přechod. Podle výše zmíněné nezávadnosti totálnosti relace však již umíme tento stav ztotálnit a dostat tak korektní Kripkeho strukturu z naší definice. Proto můžeme i tato grafická znázornění považovat za korektní znázornění Kripkeho struktury. Definice 1.2 Přechodový systém s návěštím je čtveřice T = (S, Act,, s 0 ), kde S je množina stavů, Act je konečná množina akcí, S Act S je totální přechodová relace a s 0 S je počáteční stav. Intuice je velice podobá intuici u Kripkeho struktury. (s, a, s ), zapisováno s a s, označuje, že přechodový systém nacházející se ve stavu s je schopen provést akci a a jejím provedením přejít do stavu s. Příklad přechodového systému s návěštím T = ({a, b, c, d}, {mince, káva, čaj},, a) je na obrázku 1.2. Relace je zřejmá z obrázku. Zatímco u Kripkeho struktury nás zajímají vlastnosti stavů, tj. jak jsou stavy měněny jistými blíže nespecifikovanými akcemi, u přechodových systémů nás zajímají právě ony prováděné akce. Je však patrné, že každá akce jistým

8 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 7 a mince b čaj káva c d Obrázek 1.2: Příklad přechodového systému s návěštím. p p p p p... p Obrázek 1.3: Kripkeho struktura a výpočetní strom příslušný formuli ϕ. způsobem změní stav. Tedy na přechodové systémy můžeme nahlížet jako na Kripkeho struktury. Konstrukce Kripkeho struktury z přechodového systému s návěštím je celkem přirozená. Stačí zkonstruovat valuaci L a atomické formule. L(s 0 ) je iniciální stav systému, tj. hodnoty proměnných, registrů atd. na začátku výpočtu. Jestliže s a s je přechod v přechodovém systému, pak s s je přechod v Kripkeho struktuře a L(s ) má na všech atomech změněných akcí a její novou výslednou hodnotu a na všech ostatních hodnotu jako v L(s). Za atomické formule vezmeme to, co je v přechodovém systému použito/měněno nějakou akcí např. formule tvaru (proměnná = hodnota), (registr = hodnota) apod. 1.2 Computation Tree Logic Computation Tree Logic (CTL) je temporální logika větvícího se času, jejíž časový model se dá vyjádřit pomocí stromu. Vezměme například formuli ϕ = AGEF p. Tato formule popisuje systém, v němž je možné se z libovolného stavu dostat do stavu splňujícího p. (Může ovšem existovat i takový výpočet, že p nikdy neplatí smyčka u p.) Kripkeho struktura a časový model (výpočetní strom) systému příslušné formuli ϕ jsou uvedeny na následujícím obrázku 1.3.

9 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 8 Definice 1.3 Formule CTL je definována induktivně takto: ϕ ::= false true p ϕ ϕ 1 ϕ 2 ϕ 1 ϕ 2 AXϕ EXϕ A[ϕ 1 Uϕ 2 ] kde p je atomická formule. E[ϕ 1 Uϕ 2 ] AGϕ EGϕ AF ϕ EF ϕ, Spojky AX, EX, AG, EG, AU, EU, AF a EF se nazývají temporální spojky CTL. Každá temporální spojka je dvojice symbolů. První symbol je kvantifikátor A a E, kde A znamená na všech výpočtech a E znamená existuje výpočet. Druhý symbol může být X další stav, F nějaký budoucí stav, G všechny budoucí stavy, U až do. Proto například F Gp není (syntakticky) formule CTL. Unární spojky, AG, EG, AF, EF, AX a EX mají největší prioritu. Dále jsou spojky a a nejmenší prioritu mají spojky AU a EU. Nyní zadefinujeme sémantiku formulí CTL. Relaci splnitelnosti budeme značit = a zápis K, s = ϕ znamená, že stav s Kripkeho struktury K splňuje formuli ϕ neboli ϕ platí ve stavu s. Definice 1.4 Nechť K je Kripkeho struktura a s S stav K. Relaci splnitelnosti = definujeme induktivně takto: 1. K, s = true a K, s = false pro všechna s S 2. K, s = p p L(s) 3. K, s = ϕ K, s = ϕ 4. K, s = ϕ 1 ϕ 2 K, s = ϕ 1 a K, s = ϕ 2 5. K, s = ϕ 1 ϕ 2 K, s = ϕ 1 nebo K, s = ϕ 2 6. K, s = AXϕ pro všechna s 1 taková, že s s 1 platí K, s 1 = ϕ 7. K, s = EXϕ existuje s 1 takové, že s s 1 a platí K, s 1 = ϕ 8. K, s = AGϕ pro všechny výpočty π = s 1 s 2... s s 1 = s a pro všechna s i (i 1) platí K, s i = ϕ 9. K, s = EGϕ existuje výpočet π = s 1 s 2... s s 1 = s takový, že pro všechna s i (i 1) platí K, s i = ϕ 10. K, s = AF ϕ pro všechny výpočty π = s 1 s 2... s s 1 = s existuje s i (i 1) takové, že K, s i = ϕ 11. K, s = EF ϕ existuje výpočet π = s 1 s 2... s s 1 = s a existuje s i (i 1) takové, že K, s i = ϕ 12. K, s = A[ϕ 1 U ϕ 2 ] pro všechny výpočty π = s 1 s 2... s s 1 = s platí K, s = ϕ 1 U ϕ 2, tj. existuje s i (i 1) takové, že K, s i = ϕ 2 a pro všechna j < i platí K, s j = ϕ K, s = E[ϕ 1 U ϕ 2 ] existuje výpočet π = s 1 s 2... s s 1 = s a platí K, s = ϕ 1 U ϕ 2 Říkáme, že K splňuje ϕ (K = ϕ), jestliže K, s 0 = ϕ.

10 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 9 Poznámka 1.5 V dalším textu budeme též používat operátor V jako duální operátor k operátoru U. 14. K, s = A[ϕ 1 V ϕ 2 ] pro všechny výpočty π = s 1 s 2... s s 1 = s platí K, s = ϕ 1 V ϕ 2, tj. pro každé s i takové, že K, s i = ϕ 2 existuje 1 j < i takové, že K, s j = ϕ K, s = E[ϕ 1 V ϕ 2 ] existuje výpočet π = s 1 s 2... s s 1 = s a platí K, s = ϕ 1 V ϕ 2 Podívejme se na nejdůležitější ekvivalence mezi formulemi CTL. Dvě formule ϕ a ψ jsou sémanticky ekvivalentní, pokud pro libovolnou Kripkeho strukturu K platí K = ϕ K = ψ. Značíme ϕ ψ. Příklady nejdůležitějších ekvivalencí: 1. AF ϕ EG ϕ 2. EF ϕ AG ϕ 3. AXϕ EX ϕ 4. AF ϕ A[true Uϕ] 5. EF ϕ E[true Uϕ] 6. A[ϕ 1 V ϕ 2 ] A[ (( ϕ 1 )U( ϕ 2 ))] E[( ϕ 1 )U( ϕ 2 )] 7. E[ϕ 1 V ϕ 2 ] E[ (( ϕ 1 )U( ϕ 2 ))] A[( ϕ 1 )U( ϕ 2 )] 8. A[ϕ U ψ] (E[ ψ U ( ϕ ψ)] EG ψ) Poznámka 1.6 Odtud a z výrokové logiky plyne, že některé spojky jsou použity redundantně. V podstatě vystačíme s následující množinou spojek {,, AF, EU, EX}, neboť z nich jsme schopni všechny ostatní spojky odvodit. 1.3 Linear-time Temporal Logic Linear-time Temporal Logic (LTL) je temporální logika podobná CTL, ovšem s tím rozdílem, že se vyjadřuje pouze o jednotlivých výpočtech. Výpočet je zde chápán jako lineární řetězec stavů Kripkeho struktury a ne jako strom, jak je tomu u CTL. Proto se nepoužívají operátory E a A. Implicitně se však kvantifikuje operátorem A, tedy bereme všechny možné výpočty. Definice 1.7 Formule LTL je definována induktivně takto: ϕ ::= true p ( ϕ) (ϕ 1 ϕ 2 ) (ϕ 1 Uϕ 2 ) (Gϕ) (F ϕ) (Xϕ), kde p je atomická formule. Sémantika formulí LTL je definována vzhledem k výpočtům a nikoli vzhledem ke stavům Kripkeho struktury, neboť je to přirozenější. Ovšem pomocí této definice lze definovat i platnost formule ve stavu.

11 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 10 Definice 1.8 Vezměme Kripkeho strukturu K. Nechť π = s 0 s 1... je výpočet v K. Relaci splnitelnosti = definujeme následovně: 1. K, π = true 2. K, π = p p L(s 0 ) 3. K, π = ϕ K, π = ϕ 4. K, π = ϕ 1 ϕ 2 K, π = ϕ 1 a K, π = ϕ 2 5. K, π = Xϕ K, π 1 = ϕ 6. K, π = Gϕ i 0 K, π i = ϕ 7. K, π = F ϕ i 0 K, π i = ϕ 8. K, π = ϕuψ i 0 takové, že K, π i = ψ a j < i K, π j = ϕ 9. K, π = ϕ 1 V ϕ 2 i 0 taková, že K, π i = ϕ 2 j < i takové, že K, π j = ϕ 1 Píšeme K, s = ϕ, jestliže je ϕ splněno na každém výpočtu začínajícím v s. K = ϕ právě když K, s 0 = ϕ. Uzávěr cl LT L (ϕ) formule ϕ je množina všech podformulí formule ϕ včetně ϕ, ovšem neobsahující formule true a false. Velikost formule ϕ, psáno ϕ, je počet prvků množiny cl LT L (ϕ). Důležité ekvivalence jsou: F ϕ true Uϕ Gϕ F ϕ ϕ 1 V ϕ 2 (( ϕ 1 )U( ϕ 2 )) Gϕ false V ϕ F (ϕ ψ) F ϕ F ψ G(ϕ ψ) Gϕ Gψ ϕ Uψ ( ψu( ϕ ψ)) F ψ 1.4 CTL* Kombinováním CTL a LTL spojek dostaneme logiku CTL*. Například formule tvaru EGF p (existuje výpočet na němž platí p nekonečně mnohokrát) vznikla z CTL spojky EG a LTL spojky F. Syntaxe CTL* formulí se rozděluje na stavové a výpočetní formule definované takto: stavové formule (vyhodnocované ve stavech) jsou tvaru ϕ ::= true p ( ϕ) (ϕ 1 ϕ 2 ) A[α] E[α], kde p je atomická formule a α je výpočetní formule výpočetní formule (vyhodnocované na výpočtech) jsou tvaru α ::= ϕ ( α) (α 1 α 2 ) (α 1 Uα 2 ) (Gα) (F α) (Xα) (α 1 V α 2 ), kde ϕ je stavová formule.

12 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 11 Definice 1.9 CTL* je množina stavových formulí generovaných podle předchozích pravidel. Sémantika formulí CTL* je stejně jako u předchozích logik definována pomocí Kripkeho struktury. Zde však máme dvojí typ formulí. Tomu též musíme přizpůsobit definici sémantiky. Definice 1.10 Nechť K je Kripkeho struktura, s S stav K a π = s 0 s 1... výpočet v K. Relaci splnitelnosti = definujeme induktivně takto: 1. K, s = true a K, s = false pro všechna s S 2. K, s = p p L(s) 3. K, s = ϕ K, s = ϕ 4. K, s = ϕ 1 ϕ 2 K, s = ϕ 1 a K, s = ϕ 2 5. K, s = Aϕ pro každé π = s 0 s 1... s s = s 0 platí K, π = ϕ 6. K, s = Eϕ existuje π = s 0 s 1... s s = s 0 a platí K, π = ϕ 7. K, π = ϕ K, s 0 = ϕ (pro stavovou formuli ϕ a π = s 0 s 1... ) 8. K, π = ϕ 1 ϕ 2 K, π = ϕ 1 a K, π = ϕ 2 9. K, π = Xϕ K, π 1 = ϕ 10. K, π = Gϕ i 0 K, π i = ϕ 11. K, π = F ϕ i 0 K, π i = ϕ 12. K, π = ϕuψ i 0 takové, že K, π i = ψ a j < i K, π j = ϕ 13. K, π = ϕv ψ i 0 jestliže K, π i = ψ, pak j < i K, π j = ϕ Dále píšeme K = ϕ právě když K, s 0 = ϕ. (Zde s 0 označuje počáteční stav Kripkeho struktury K.) Formule tvaru ϕ U ψ resp. ϕ V ψ budeme označovat jako U-formule resp. V - formule. Uzávěr cl(ϕ) formule ϕ je množina všech stavových podformulí formule ϕ včetně ϕ, ovšem neobsahující formule true a false. Velikost formule ϕ, psáno ϕ, je počet prvků množiny cl(ϕ). Příklad 1.11 cl(egf p) = {EGF p, p}, a tedy EGF p = 2. CTL* formule je v pozitivní normální formě, jestliže všechny negace jsou aplikovány pouze na atomické formule. Do tohoto tvaru lze převést libovolnou CTL* formuli pomocí De Morganových pravidel a dualit kvantifikátorů a temporálních spojek. V dalším textu budeme předpokládat, že všechny formule jsou v pozitivní normální formě. Poznámka 1.12 Jelikož model checking pro CTL je vzhledem k délce formule lineární a pro CTL* exponenciální, je vhodné umět rozhodnout, zda daná CTL* formule nemá v CTL ekvivalentní formuli. Například formule CTL* E[F p Gq] (existuje výpočet na němž někde platí p a všude platí q) má v CTL svůj ekvivalent E[q U (p EGq)]. Tento problém byl dlouho otevřený. Nyní jej však již umíme řešit ([38]).

13 KAPITOLA 1. TEMPORÁLNÍ LOGIKY Výrokový µ-kalkul Výrokový µ-kalkul je modální výroková logika obohacená o operátory nejmenšího (µ) a největšího (ν) pevného bodu. Budeme předpokládat, že formule jsou zapisovány v pozitivní normální formě. Definice 1.13 Mějme množinu AP atomických formulí a množinu AP V atomických proměnných. Pak formule µ-kalkulu jsou též: 1. true, false, p a p pro všechna p AP 2. y pro všechna y AP V 3. ϕ 1 ϕ 2 a ϕ 1 ϕ 2, kde ϕ 1 a ϕ 2 jsou formule µ-kalkulu 4. ϕ a ϕ, kde ϕ je formule µ-kalkulu 5. µy.f(y) a νy.f(y), kde y AP V a f(y) je formule µ-kalkulu obsahující y jako svoji volnou proměnnou Sentence (věta) je formule, která neobsahuje žádnou volnou atomickou proměnnou. a se nazývají next modality. µ a ν se nazývají modality pevného bodu. Uzávěr cl(ϕ) sentence ϕ µ-kalkulu je nejmenší množina sentencí µ-kalkulu splňující následující: 1. ϕ cl(ϕ) 2. Jestliže ϕ 1 ϕ 2 cl(ϕ) nebo ϕ 1 ϕ 2 cl(ϕ), pak ϕ 1 cl(ϕ) a ϕ 2 cl(ϕ) 3. Jestliže ϕ cl(ϕ) nebo ϕ cl(ϕ), pak ϕ cl(ϕ) 4. Jestliže µy.f(y) cl(ϕ), pak f(µy.f(y)) cl(ϕ) 5. Jestliže νy.f(y) cl(ϕ), pak f(νy.f(y)) cl(ϕ) Velikost ϕ formule ϕ je počet prvků v množině cl(ϕ). Příklad 1.14 Pro ϕ = µy.(q (p y)) je cl(ϕ) = {ϕ, q (p ϕ), q, p ϕ, p, ϕ}. Mějme Kripkeho strukturu K = (AP, S,, s 0, L) a množinu {y 1,..., y n } volných proměnných. Valuace V : {y 1,..., y n } 2 S je přiřazení podmnožin množiny S proměnným z množiny {y 1,..., y n }. Pro valuaci V, proměnnou y a množinu S S označme V [y S ] valuaci získanou z V přiřazením S proměnné y. Formule ϕ s volnými proměnnými {y 1,..., y n } je interpretována nad strukturou K jako funkce ϕ K z valuací do 2 S. ϕ K (V ) je množina stavů splňujících formuli ϕ s valuací V. ϕ K je definováno induktivně takto: 1. true K (V ) = S a false K (V ) =. 2. p K (V ) = {s S p L(s)} a ( p) K (V ) = {s S p L(s)} pro p AP. 3. y K i (V ) = V (y i) pro y i AP V.

14 KAPITOLA 1. TEMPORÁLNÍ LOGIKY (ϕ 1 ϕ 2 ) K (V ) = ϕ K 1 (V ) ϕ K 2 (V ). 5. (ϕ 1 ϕ 2 ) K (V ) = ϕ K 1 (V ) ϕ K 2 (V ). 6. ( ϕ) K (V ) = {s S s.s s s ϕ K (V )}. 7. ( ϕ) K (V ) = {s S s.s s s ϕ K (V )}. 8. (µy.f(y)) K (V ) = {S S f K (V [y S ]) S }. 9. (νy.f(y)) K (V ) = {S S S f K (V [y S ])}. Pro sentenci nepožadujeme žádnou valuaci. Pro stav s S a sentenci ϕ platí, že s = ϕ právě tehdy, když s ϕ K. Formule µ-kalkulu je bez alternací, jestliže pro všechna y AP V neexistují výskyty ν resp. µ na žádné syntaktické cestě od výskytu µy resp. νy k výskytu y. µ-kalkul bez alternací je podmnožina µ-kalkulu obsahující pouze formule bez alternací. Příklad 1.15 Formule µx.(p µy.(x y)) je bez alternací, zatímco formule νx.µy.((p x) y) je s alternací. Formule µ-kalkulu se nazývá střežená, jestliže pro všechna y AP V platí, že všechny výskyty y v rozsahu modality pevného bodu λ jsou též v rozsahu next modality, která je taktéž v rozsahu λ, λ {µ, ν}. Příklad 1.16 Formule µy.(p y) je střežená, zatímco formule µy.(p y) střežená není. Věta 1.17 [17] Ke každé formuli µ-kalkulu jsme schopni v lineárním čase sestrojit ekvivalentní střeženou formuli. Důkaz: Pro tuto transformaci využijeme funkci new. new(y, µ, y) = false, new(y, ν, y) = true new(ϕ 1 ϕ 2, λ, y) = new(ϕ 1, λ, y) new(ϕ 2, λ, y), kde λ {µ, ν} new(ϕ 1 ϕ 2, λ, y) = new(ϕ 1, λ, y) new(ϕ 2, λ, y), kde λ {µ, ν} new(ϕ, λ, y) = ϕ pro všechna ostatní ϕ, λ {µ, ν} Postup transformace je pak následující: 1. Začneme od nejvnitřnějších podformulí tvaru λy.f(y) a nahradíme je formulemi new(f, λ, y)(λy.new(f, λ, y)(y)). 2. Nejvnějšnější formuli nahradíme formulí λy.new(f, λ, y)(y).

15 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 14 Poznámka 1.18 Většina vět v této práci je uváděna s důkazy, které však obsahují pouze základní konstrukci nezbytnou pro pochopení principu. Jejich úplné znění lze nalézt v uvedené literatuře. 1.6 Vyjadřovací schopnosti jednotlivých logik Věnujme se hierarchické struktuře uvedených logik. Ačkoliv syntaxe LTL neobsahuje výpočetní kvantifikátory A a E, sémanticky bereme všechny výpočty. Tedy LTL formule ϕ je ekvivalentní CTL* formuli A[ϕ]. Proto se na LTL můžeme dívat jako na podmnožinu CTL*. Podobně CTL je taktéž podmnožina CTL*, neboť jde o část CTL*, kde výpočetní formule jsou tvaru: α ::= (ϕ 1 Uϕ 2 ) (Gϕ) (F ϕ) (Xϕ). Navíc platí, že LTL [20] i CTL [2, 3] jsou vlastní podmnožiny CTL*. LTL a CTL jsou vzhledem k inkluzi neporovnatelné [15]. Příklad 1.19 Nechť ϕ 1 = AGEF p, ϕ 2 = AG(p AF q), ϕ 3 = A(GF p F q) a ϕ 4 = EGF p. Pak ϕ 1 patří do CTL, ale nepatří do LTL, ϕ 2 patří do LTL i do CTL, ϕ 3 patří do LTL, ale nepatří do CTL a ϕ 4 patří do CTL*, ale nepatří do CTL ani do LTL. Dále platí, že každá formule CTL*, a tedy i CTL a LTL, se dá vyjádřit pomocí formule µ-kalkulu. Formule µ-kalkulu rozdělíme podle toho, kolik alternací obsahují. Alternační hloubkou, značeno ad(ϕ), formule ϕ nazveme počet alternací definovaný takto: ad(p) = ad( p) = ad(y) = 0 pro p AP a y AP V ad(ϕ ψ) = ad(ϕ ψ) = max{ad(ϕ), ad(ψ)} ad(µy.f(y)) = 1 + max{ad(νz.g(z) νz.g(z) je podformule f(y) s y jako svojí volnou proměnnou} ad(νy.f(y)) = 1 + max{ad(µz.g(z) µz.g(z) je podformule f(y) s y jako svojí volnou proměnnou} Označme L µk množinu všech formulí µ-kalkulu alternační hloubky nejvýše k (L µ1 je µ-kalkul bez alternací). Pak platí následující věty: Věta 1.20 [6] Každou formuli CTL můžeme převést na ekvivalentní formuli µ-kalkulu ležící v L µ1. Důkaz: Podle poznámky 1.6 je každá CTL formule generovatelná z následující množiny spojek {,, AF, EU, EX}. Platí EXϕ ϕ, E[ϕUψ] µz.(ψ (ϕ z)) a AF ϕ µz.(ϕ z) (obecně totiž platí A[ϕUψ] µz.(ψ (ϕ z))), pro libovolné CTL formule ϕ a ψ.

16 KAPITOLA 1. TEMPORÁLNÍ LOGIKY 15 Věta 1.21 [6] Každou formuli CTL* můžeme převést na ekvivalentní formuli µ-kalkulu ležící v L µ2. Celkem tedy dostáváme následující hierarchii logik. µ-kalkul L µ1 L µ2 CTL* CTL LTL Obrázek 1.4: Hierarchie logik Poznámka 1.22 LTL L µ1. Například F Gp µy.νz.((p y) z). Taktéž L µ1 CTL*, neboť v CTL* se nedá vyjádřit formule νy.p y popisující systém, v němž platí p v každém druhém stavu.

17 Kapitola 2 Teorie automatů V této kapitole se seznámíme se základními typy automatů používanými pro ověřování modelů. Nejprve se budeme zabývat automaty nad nekonečnými slovy, které jsou důležité pro model checking systémů specifikovaných lineární temporální logikou, poté nad nekonečnými stromy, jenž jsou naopak použity pro model checking systémů specifikovaných logikou větvícího se času. Nejdříve definujme pojem nekonečného slova a nekonečného stromu nad danou abecedou. Definice 2.1 Máme dánu konečnou neprázdnou abecedu Σ. Nekonečné slovo w nad abecedou Σ je prvek množiny Σ ω, tj. nekonečná posloupnost w = σ 0 σ 1... symbolů ze Σ. Sufix slova w začínající l-tým symbolem značíme w l = σ l σ l Definice 2.2 Strom je množina T N taková, že jestliže x c T, kde x N a c N, pak x T a pro všechna 0 c < c také x c T. Prvky množiny T se nazývají uzly a prázdné slovo ε je kořen stromu T. Pro všechna x T se uzly x c nazývají následníci uzlu x. Počet následníků uzlu x se nazývá stupeň uzlu x a značí se d(x). Uzel je listem, jestliže nemá žádného následníka. Nekonečný strom je strom bez listů. x označuje úroveň uzlu x ve stromu T, ε = 0. Cesta (větev) π stromu T je množina π T taková, že ε π a pro každé x π je x buď list, nebo existuje jediné c N takové, že x c π. Nechť Σ je abeceda. Σ-označený strom je dvojice (T, V ), kde T je strom a V : T Σ přiřazuje každému uzlu stromu T písmeno abecedy Σ. Je patrné, že na nekonečné slovo ze Σ ω se dá nahlížet jako na nekonečný Σ-označený strom, jehož každý uzel má stupeň 1. Nás budou především zajímat Σ-označené stromy s abecedou Σ = 2 AP pro nějakou množinu AP atomických formulí. Takovéto Σ-označené stromy nazýváme výpočetní stromy. Pro dané D N označuje D-strom výpočetní strom, jehož všechny uzly mají stupeň z množiny D. Pokud D = {k}, označujeme daný strom jako k-ární strom. 16

18 KAPITOLA 2. TEORIE AUTOMATŮ 17 Mějme množinu X. Označme B + (X) množinu pozitivních Booleovských formulí nad X, tj. formulí vystavěných z prvků množiny X,, a formulí true a false. Nechť Y X. Říkáme, že Y splňuje formuli ϕ B + (X), jestliže přiřazení pravdivostní hodnoty true všem prvkům Y a false všem prvkům množiny X Y splňuje ϕ. Příklad 2.3 Množiny {q 1, q 3 } a {q 2, q 4 } splňují formuli (q 1 q 2 ) (q 3 q 4 ), kdežto množina {q 1, q 2 } danou formuli nesplňuje. Poznámka 2.4 Vzhledem k tomu, že odpovídá nedeterministickému výběru (viz dále), by vhodnější definice Y splňuje ϕ byla taková, která by říkala, že Y je množina splňující ϕ a jestliže odstraníme libovolný prvek z Y, tak již splňující nebude. Tedy jakoby pouze ty nejmenší splňující množiny. Podlé této definice by například množina {q 1, q 2, q 3 } nesplňovala formuli z předchozího příkladu. K čemu je to dobré si ukážeme v příkladu 3.4. Algoritmicky by se tato varianta dala realizovat tak, že nejprve formuli ϕ převedeme do disjunktivního tvaru, odstraníme duplikované prvky (jak v konjunktech, tak disjunktech), nahradíme za +, za, každý prvek Y za 1 a ostatní za 0. Výsledek pak musí být 1. Například pro formuli q 1 (q 1 q 2 ) máme jedinou splňující množinu {q 1 }, neboť pro množinu {q 1, q 2 } dostaneme q 1 +q 1 q 2 = = Automaty nad nekonečnými slovy Büchiho automaty Büchiho automaty jsou základním nástrojem pro rozhodování problému model checkingu pro LTL a pro splnitelnost formulí logiky LTL vůbec. V této části se s těmito automaty seznámíme, zejména se základními operacemi nezbytnými pro model checking. Definice 2.5 (Nedeterministický) Büchiho automat je pětice A = (Q, Σ, δ, q 0, F ), kde Q je konečná množina stavů, Σ je konečná abeceda, δ : Q Σ 2 Q je přechodová funkce, q 0 Q je počáteční stav a F Q je množina akceptujících stavů. Běh automatu A nad nekonečným slovem w = σ 1 σ 2... je posloupnost π = q 0 q 1..., kde q 0 je počáteční stav a q i δ(q i 1, σ i ) pro všechna i 1. Limita běhu π = q 0 q 1... je množina inf(π) = {q Q q = q i pro nekonečně mnoho

19 KAPITOLA 2. TEORIE AUTOMATŮ 18 i}. Běh π splňuje Büchiho podmínku akceptování, jestliže inf(π) F. Nekonečné slovo w je akceptováno automatem A, jestliže existuje akceptující běh automatu A na w. Množinu nekonečných slov akceptovaných automatem A nazýváme (regulární) jazyk automatu A a značíme L(A). Stav q Q je deterministický, jestliže δ(q, σ) = 1 pro všechna σ Σ. Automat A se nazývá deterministický, jestliže jsou všechny stavy deterministické. Intuice je taková, že δ(q, σ) je množina všech stavů automatu A do kterých se může automat ze stavu q při čtení vstupního symbolu σ přesunout. Jestliže je automat A deterministický, je přechodová funkce δ : Q Σ Q. Tuto funkci δ lze snadno rozšířit na funkci typu Q Σ ω Q předpisem δ(q, ε) = q a δ(q, σw) = δ(δ(q, σ), w) pro σ Σ a w Σ ω. Věta 2.6 [5, 34] Nechť A 1, A 2 jsou Büchiho automaty s n 1 a n 2 stavy. Pak existuje Büchiho automat A s O(n 1 n 2 ) stavy takový, že L(A) = L(A 1 ) L(A 2 ). Důkaz: Idea důkazu spočívá v tom, že automat pracuje nad oběma automaty synchronně a pamatuje si ve kterém automatu právě očekává akceptující stav. Pokud se dostane do akceptujícího stavu v tomto automatu, začne očekávat akceptující stav ve druhém. Vstupní slovo je akceptováno, pokud takto přeskočí mezi automaty nekonečně mnohokrát. Nechť A 1 = (Q 1, Σ, δ 1, q1, 0 F 1 ) a A 2 = (Q 2, Σ, δ 2, q2, 0 F 2 ) jsou Büchiho automaty. Pak A = (Q, Σ, δ, q 0, F ), kde Q = Q 1 Q 2 {1, 2}, q 0 = q 0 1 q 0 2 {1}, F = F 1 Q 2 {1} a (s, t, j) δ((s, t, i), σ), jestliže s δ 1 (s, σ), t δ(t, σ) a 1 pokud i = 2 t F 2, j = 2 pokud i = 1 s F 1, i jinak. Poznámka 2.7 Je dobré si povšimnout, že standardní konstrukce známá z konečných automatů u Büchiho automatů nefunguje. Proč? Celkem jednoduše se nahlédne, že Büchiho automaty jsou uzavřeny na sjednocení. Mnohem komplikovanější výsledek je, že Büchiho automaty jsou uzavřeny na komplement. Důkaz je však poměrně rozsáhlý a pro naše potřeby nepodstatný, proto ho zde neuvádíme.

20 KAPITOLA 2. TEORIE AUTOMATŮ 19 Věta 2.8 [1, 18, 22, 31] Nechť A je Büchiho automat nad Σ s n stavy. Pak O(n log n) existuje nedeterministický Büchiho automat N s 2 stavy takový, že L(N) = Σ ω L(A). Dále platí, že nedeterministické Büchiho automaty jsou silnější než deterministické. Tedy Büchiho automaty nejsou uzavřeny na determinizaci. Čtenář se sám může přesvědčit, že například pro automat 1, 0 s 0 0 t neexistuje ekvivalentní deterministický Büchiho automat. Nyní se zaměříme na problém neprázdnosti, především na časovou a prostorovou složitost řešení. Problém neprázdnosti se redukuje na problém dosažitelnosti v orientovaném grafu. Definice 2.9 Problém neprázdnosti pro automaty je problém rozhodnout, zda pro daný automat A je L(A). Věta 2.10 [3, 9, 10, 34, 37] 1. Problém neprázdnosti pro Büchiho automaty je rozhodnutelný v lineárním čase. 2. Problém neprázdnosti pro Büchiho automaty velikosti n je rozhodnutelný v prostoru O(log 2 n). 3. Problém neprázdnosti pro Büchiho automaty je NLOGSPACE-úplný. Důkaz: Uvažme graf G = (S, E), kde E = {(s, t) t δ(s, σ), σ Σ}. L(A) právě tehdy, když G má netriviální (obsahuje alespoň jednu hranu) silně souvislou komponentu dosažitelnou z q 0 obsahující alespoň jeden uzel z F. Algoritmus prohledávání do hloubky sestrojí rozklad na maximální silně souvislé komponenty v lineárním čase. Poznámka 2.11 Mimo Büchiho automatů existují i jiné typy automatů nad nekonečnými slovy, které však akceptují stejnou třídu ω-jazyků. Více o těchto typech automatů lze nalézt například v [40].

21 KAPITOLA 2. TEORIE AUTOMATŮ Alternující Büchiho automaty Zatímco nedeterminismus dovoluje pouze existenční volby ve výpočtech (zvolení pokračování daného výpočtu jednou cestou), alternace umožňuje oboje jak existenční, tak i univerzální výběr. Definice 2.12 Alternující Büchiho automat je pětice A = (Q, Σ, δ, q 0, F ), kde Σ je konečná neprázdná abeceda, Q je konečná neprázdná množina stavů, q 0 Q je počáteční stav, F je množina akceptujících stavů a δ : Q Σ B + (Q) je přechodová funkce. Běh A na nekonečném slově w = σ 0 σ 1... je (nekonečný) Q-označený strom (T r, r) takový, že r(ε) = q 0 a platí: Jestliže x = i, r(x) = q a δ(q, σ i ) = ϕ, pak x má k potomků x 1,..., x k pro nějaké k Q a {r(x 1 ),..., r(x k )} splňuje ϕ. Běh (T r, r) je akceptující, jestliže každá nekonečná větev v T r obsahuje nekonečně mnoho značek z F. Slovo w je akceptováno právě tehdy, když existuje akceptující běh na w. Příklad 2.13 δ(q 0, σ 0 ) = (q 1 q 2 ) (q 3 q 4 ). Pak uzly běhu (stromu) úrovně 1 obsahují značku q 1 nebo značku q 2 a také obsahují značku q 3 nebo značku q 4. Poznámka 2.14 Všimněme si, že běh může mít i konečné větve. Jestliže x = i, r(x) = q a δ(q, σ i ) = true, pak x nemusí mít žádné potomky. Stejně tak nemůže existovat běh mající ϕ = false, neboť neexistuje množina splňující formuli false. Uvažme nedeterministický automat A = (Q, Σ, δ, q 0, F ). Přechodová funkce δ zobrazuje stav q Q a vstupní symbol σ Σ do množiny stavů. Každý prvek z této množiny je možný nedeterministický výběr dalšího stavu. Přechodová funkce δ se dá snadno reprezentovat pomocí B + (Q). Například δ(q, σ) = {q 1, q 2, q 3 } se dá zapsat jako δ(q, σ) = q 1 q 2 q 3. V alternujícím automatu může samozřejmě δ(q, σ) být libovolná formule z B + (Q). Například δ(q, σ) = (q 1 q 2 ) (q 3 q 4 ) znamená, že automat akceptuje slovo σw, kde σ Σ a w Σ ω, jestliže se nachází ve stavu q a w je akceptováno z obou stavů q 1 a q 2 nebo z obou stavů q 3 a q 4. Výsledky platné pro Büchiho automaty platí i pro alternující Büchiho automaty a naopak. Vše bude zřejmé z následujících dvou vět:

22 KAPITOLA 2. TEORIE AUTOMATŮ 21 Věta 2.15 [24, 34] Nechť A je Büchiho automat. Pak existuje alternující Büchiho automat A a stejné velikosti jako A takový, že L(A a ) = L(A). Věta 2.16 [23, 34] Nechť A je alternující Büchiho automat s n stavy. Pak existuje nedeterministický Büchiho automat A s 2 O(n) stavy takový, že L(A ) = L(A). Důkaz: Automat A hádá běh automatu A. V daném bodě běhu si automat A uloží do paměti celou úroveň běhu (stromu) A. Při čtení dalšího vstupního symbolu hádá další úroveň běhu automatu A. K ujištění se o tom, že každá nekonečná větev navštíví stavy z F nekonečně mnohokrát, si A uchovává záznam stavů dlužící F návštěvu. Nechť A = (Q, Σ, δ, q 0, F ). Pak A = (2 Q 2 Q, Σ, δ, ({q 0 }, ), 2 Q { }), kde δ je definovaná pro všechna (S, O) 2 Q 2 Q a σ Σ takto: Jestliže O, pak δ ((S, O), σ) = {(S, O F ) S splňuje q S Jestliže O =, pak δ ((S, O), σ) = δ(q, σ), O S a O splňuje δ(q, σ)}. {(S, S F ) S splňuje q S δ(q, σ)}. q O Problém neprázdnosti pro alternující Büchiho automaty Věta 2.17 [34, 33] 1. Problém neprázdnosti pro alternující Büchiho automaty je rozhodnutelný v exponenciálním čase. 2. Problém neprázdnosti pro alternující Büchiho automaty je rozhodnutelný v kvadratickém prostoru. 3. Problém neprázdnosti pro alternující Büchiho automaty je PSPACE-úplný. 2.2 Automaty nad nekonečnými stromy Definice 2.18 (Nedeterministický) Büchiho automat nad nekonečnými stromy je šestice A = (Q, Σ, D, δ, q 0, F ), kde Q je konečná množina stavů, Σ je konečná abeceda,

23 KAPITOLA 2. TEORIE AUTOMATŮ 22 D N je konečná množina stupňů, q 0 Q je počáteční stav, F Q je množina akceptujících stavů a δ : Q Σ D 2 Q, kde δ(q, σ, k) Q k pro všechna q Q, σ Σ a k N. Definice 2.19 k-ární Rabinův stromový automat je pětice A = (Q, Σ, δ, Q 0, G), kde Σ je konečná abeceda, Q je konečná množina stavů, Q 0 Q je množina počátečních stavů, G 2 Q 2 Q je Rabinova podmínka akceptování a δ : Q Σ 2 Qk je přechodová funkce. Běh r : T r Q automatu A na Σ-označeném k-árním stromu (T, V ) je Q-označený k-ární strom (T r, r) takový, že kořen je označen počátečním stavem a přechody respektují přechodovou funkci δ. Tedy r(ε) Q 0 a pro všechny uzly x T r platí (r(x 1),..., r(x k)) δ(r(x), V (x)). Büchi: Běh je akceptující, jestliže pro každou větev β = x 0 x 1... stromu T je inf(β) F, kde inf(β) = {q q = r(x i ) pro nekonečně mnoho i}. Rabin: Běh je akceptující, jestliže pro každou větev β = x 0 x 1... stromu T existuje dvojice (L, U) G taková, že inf(β) L a inf(β) U =. Jazyk akceptovaný automatem A je množina stromů akceptovaných automatem A. Značíme ji L(A). Poznámka 2.20 [40] Důležitý rozdíl mezi automaty nad slovy a automaty nad stromy je ten, že Büchiho podmínka akceptování u automatů nad stromy je slabší než Rabinova (obecně i než ostatní typy podmínek akceptování). Navíc platí, že třída jazyků akceptovaná Büchiho automaty nad stromy není uzavřena na komplement ([30]). Proto se zde také regulární jazyky definují jako jazyky akceptované Rabinovými automaty nad stromy, neboť tyto jsou uzavřeny na komplement. Rabinovy automaty (jakož i všechny ostatní (uvedené v [40]) typy automatů nad stromy) však nejsou uzavřeny na determinizaci.

24 KAPITOLA 2. TEORIE AUTOMATŮ 23 Problém neprázdnosti pro stromové automaty Věta 2.21 [33, 40] Problém neprázdnosti pro nedeterministické Büchiho automaty nad stromy je rozhodnutelný v kvadratickém čase a je P-úplný. Na rozdíl od předcházejících případů je problém neprázdnosti pro Rabinovy stromové automaty mnohem obtížnější. V roce 1988 bylo dokázáno, že je NPúplný [8, 28] Alternující automaty nad nekonečnými stromy Definice 2.22 Alternující automat nad nekonečnými stromy je šestice A = (Q, Σ, D, δ, q 0, F ), kde Q je konečná množina stavů, Σ je konečná vstupní abeceda, D N je konečná množina stupňů, δ : Q Σ D B + (N Q) je přechodová funkce, kde pro každé k D je δ(q, σ, k) B + ({0,..., k 1} Q), q 0 Q je počáteční stav a F je podmínka akceptování. Velikost automatu A, značeno A, je D + Q + F + δ, kde D, Q a F jsou kardinality množin D, Q a F a δ je suma délek formulí, které nejsou identicky rovné false, vyskytující se v δ(q, σ, k) pro nějaké q Q, σ Σ a k D. Tím se vyhneme tomu, aby minimální velikost δ byla rovna Q Σ D. Běh alternujícího automatu A na stromě (T, V ) je strom (T r, r), kde kořen je označen q 0 a všechny ostatní uzly jsou označeny prvky z množiny N Q. Každý uzel stromu T r odpovídá uzlu stromu T. Uzel (x, q) stromu T r popisuje kopii automatu, který čte uzel x stromu T a nachází se ve stavu q. Formálně: Běh (T r, r) je Σ r -označený strom, kde Σ r = N Q a (T r, r) splňuje následující: 1. r(ε) = (ε, q 0 ) 2. Nechť y T r, r(y) = (x, q) a δ(q, V (x), d(x)) = θ. Pak existuje (možná prázdná) množina S = {(c 0, q 0 ),..., (c n, q n )} {0,..., d(x) 1} Q taková, že platí: S splňuje θ a pro všechna 0 i n je y i T r a r(y i) = (x c i, q i ). Běh (T r, r) je akceptující, jestliže všechny jeho nekonečné větve splňují podmínku akceptování. Mějme běh (T r, r) a nekonečnou větev π T r. Nechť inf(π) Q je taková množina, že q inf(π) právě tehdy, když existuje nekonečně mnoho y π pro něž r(y) N {q}. Podmínky akceptování jsou definovány následovně: Větev π T r splňuje

25 KAPITOLA 2. TEORIE AUTOMATŮ 24 Büchiho podmínku akceptování F Q, jestliže inf(π) F. Rabinovu podmínku G = {(L 1, U 1 ),..., (L k, U k )}, L i, U i Q pro 1 i k, jestliže existuje dvojice (L i, U i ) G taková, že inf(π) L i a inf(π) U i =. paritní podmínku F = {F 1,..., F k }, F 1 F 2... F k právě tehdy, když minimální i pro něž inf(π) F i je sudé. k se nazývá index automatu. Automat akceptuje strom (T, V ) právě tehdy, když existuje akceptující běh na (T, V ). L(A) označuje množinu všech Σ-označených D-stromů akceptovaných automatem A. Poznámka 2.23 Alternující automat nad nekonečnými slovy je automat nad nekonečnými stromy s D = {1}. Věta 2.24 [25] Nechť A je alternující Büchiho automat nad stromy s n stavy. Pak existuje nedeterministický Büchiho automat A O(n log n) nad stromy s 2 stavy takový, že L(A ) = L(A). Problém neprázdnosti pro alternující Büchiho automaty Důsledkem předchozí věty je tato věta: Věta 2.25 Problém neprázdnosti pro alternující Büchiho automaty je rozhodnutelný v exponenciálním čase Slabé alternující automaty Definice 2.26 Slabý alternující automat (weak alternating automaton WAA) je šestice A = (Q, Σ, D, δ, q 0, F ), kde Q je konečná množina stavů, Σ je konečná vstupní abeceda, D N je konečná množina stupňů, δ : Q Σ D B + (N Q) je přechodová funkce, kde pro každé k D je δ(q, σ, k) B + ({0,..., k 1} Q), q 0 Q je počáteční stav, F je Büchiho podmínka akceptování a existuje rozdělení množiny Q na disjunktní množiny Q 1,..., Q m takové, že pro každou množinu Q i je buď Q i F (Q i je akceptující množina), nebo Q i F = (Q i je zamítající množina). Navíc existuje uspořádání množin Q i takové, že pro všechna q Q i a q Q j pro něž se q vyskytuje v δ(q, σ, k) pro nějaké

26 KAPITOLA 2. TEORIE AUTOMATŮ 25 σ Σ a k D máme Q j Q i. Tedy přechody ze stavu z Q i vedou do stavů ze stejné množiny Q i nebo do stavů z menší množiny. Odtud plyne, že každá nekonečná větev běhu WAA se uzavře v nějaké množině Q i. Větev běhu pak splňuje podmínku akceptování právě tehdy, když Q i je akceptující množina. Rozdělení množiny Q nazýváme slabé rozdělení a uspořádání na množinách slabého rozdělení slabé uspořádání. Často je WAA dán spolu se svým slabým rozdělením a uspořádáním. Nezadání rozdělení a uspořádání však není na závadu, neboť je lze najít v lineárním čase. Věta 2.27 [18, 17] Mějme WAA A. Rozdělení jeho stavů do maximálních silně souvislých komponent je slabé rozdělení se slabým uspořádáním definovaným tak, že C i C j C i je dosažitelné z C j, C i a C j jsou maximální silně souvislé komponenty. Poznámka 2.28 Modality obvyklých temporálních logik, jako je µ kalkul a CTL*, nerozlišují mezi jednotlivými následníky uzlu. Umí se vyjadřovat o všech následnících, nebo o nějakém z nich. Tedy alternující stromové automaty získané transformací formule na automat mají speciální strukturu. Formule z B + ({0,..., k 1} Q), které se vyskytují v přechodu δ(q, σ, k) takového alternujícího automatu, jsou pak prvky B + ({, } Q), kde s znamená c {0,...,k 1} (c, s) a s znamená c {0,...,k 1} (c, s). Říkáme, že alternující stromový automat je symetrický, jestliže má tuto speciální strukturu. Problém neprázdnosti pro WAA Věta 2.29 Problém neprázdnosti pro WAA je EXPTIME-úplný. Problém neprázdnosti pro WAA nad slovy je PSPACE-úplný ([23]). Příslušnost do EXPTIME je dokázána v [26], EXPTIME-těžkost je ukázána v [12] Váhavé alternující automaty Váhavé alternující automaty (hesitant alternating automata HAA) jsou základním nástrojem model checkingu pro CTL a CTL* vůbec. Definice 2.30 HAA je automat A = (Q, Σ, D, δ, q 0, F ), kde Q je konečná množina stavů, Σ je konečná vstupní abeceda, D N je konečná množina stupňů,

27 KAPITOLA 2. TEORIE AUTOMATŮ 26 δ : Q Σ D B + (N Q) je přechodová funkce, kde pro každé k D je δ(q, σ, k) B + ({0,..., k 1} Q), q 0 Q je počáteční stav, F = (G, B), G Q a B Q a existuje rozdělení Q na disjunktní množiny a uspořádání takové, že přechody ze stavu z Q i vedou do stavů ze stejné množiny Q i nebo z menší. Navíc je každá množina Q i klasifikována buď jako přechodná, existenční, nebo univerzální tak, že pro každou množinu Q i a pro všechna q Q i, σ Σ a k D platí: 1. Jestliže Q i je přechodná množina, pak δ(q, σ, k) neobsahuje žádné prvky z Q i. Například pro Q i = {q 0 } δ(q 0, a, 2) = (0, q 1 ) (1, q 2 ) δ(q 0, a, 2) = ((0, q 1 ) (1, q 2 )) (0, q 3 ). 2. Jestliže Q i je existenční množina, pak δ(q, σ, k) obsahuje pouze disjunktivní prvky Q i, tj. pokud přepíšeme δ(q, σ, k) do disjunktivního normálního tvaru, tak existuje nejvýše jeden prvek z Q i v každém disjunktu. Například pro Q i = {q 0 } δ(q 0, a, 2) = (0, q 0 ) (1, q 0 ) δ(q 0, a, 2) = ((0, q 0 ) (1, q 0 )) (0, q 1 ). 3. Jestliže Q i je univerzální množina, pak δ(q, σ, k) obsahuje pouze konjunktivní prvky Q i, tj. pokud přepíšeme δ(q, σ, k) do konjunktivního normálního tvaru, tak existuje nejvýše jeden prvek z Q i v každém konjunktu. Například pro Q i = {q 0 } δ(q 0, a, 2) = (0, q 0 ) (1, q 0 ) δ(q 0, a, 2) = ((0, q 0 ) (1, q 0 )) (0, q 1 ). Odtud plyne, že každá nekonečná cesta π běhu (T r, r) se uzavře v nějaké existenční nebo univerzální množině Q i. Cesta pak splňuje podmínku akceptování (G, B) právě tehdy, když buď Q i je existenční množina a inf(π) G, nebo Q i je univerzální množina a inf(π) B =. Rozdělení množiny Q nazýváme váhavé rozdělení a uspořádání váhavé uspořádání. Délka nejdelšího sestupného řetězce ve váhavém uspořádání udává hloubku HAA. Stejně jako u WAA se vidí, že rozdělení grafu odvozeného z HAA na maximální silně souvislé komponenty zjemňuje jakékoliv váhavé rozdělení, a může proto sloužit jako takové rozdělení. Uspořádání dosažitelností na maximálních silně souvislých komponentách pak udává váhavé uspořádání a hloubku HAA. Věnujme se chvíli komplementu HAA. Mějme přechodovou funkci δ. Nechť δ označuje duální přechodovou funkci k δ, tj. pokud δ(q, σ, k) = ϕ, tak δ (q, σ, k) = ϕ, kde ϕ vznikne z ϕ nahrazením za a true za false a naopak. Například pro δ(q, σ, k) = true q 1 je δ (q, σ, k) = false q 1. Pak platí následující věta:

28 KAPITOLA 2. TEORIE AUTOMATŮ 27 Věta 2.31 [17] Nechť A = (Q, Σ, δ, q 0, (G, B)) je HAA. Pak A = (Q, Σ, δ, q 0, (B, G)) je HAA komplementující A. Automat A nazýváme duální k automatu A. 2.3 Automaty nad jednoprvkovou abecedou Automaty nad jednoprvkovou abecedou jsou automaty s Σ = 1. Pro tyto automaty jsou některé problémy jednodušší. Zejména problém neprázdnosti. Problém neprázdnosti pro nedeterministické automaty nad slovy je redukovatelný na problém neprázdnosti pro tyto automaty nad jednoprvkovou abecedou. Namísto testování neprázdnosti automatu A = (Q, Σ, D, δ, q 0, F ) testujeme neprázdnost automatu A = (Q, {a}, D, δ, q 0, F ), kde pro všechna q Q máme δ (q, a, k) = σ Σ δ(q, σ, k). Snadno se nahlédne, že A akceptuje nějaké slovo právě když A akceptuje a ω. Na tomto principu funguje algoritmus pro rozhodování problému neprázdnosti pro nedeterministické Büchiho automaty nad slovy uvedený dříve. Tato redukce ovšem neplatí pro alternující automaty nad slovy. Jestliže A akceptuje a ω, není stále garantováno, že A akceptuje nějaké slovo. Vezměme automat A = ({q 0, q 1, q 2 }, {b, c}, δ, q 0, {q 1, q 2 }), kde δ je dána tabulkou q δ(q, b) δ(q, c) q 0 q 1 q 2 q 1 q 2 q 1 q 1 false q 2 false q 2 Zredukujme ho podobným způsobem jako u nedeterministických automatů na automat A = ({q 0, q 1, q 2 }, {a}, δ, q 0, {q 1, q 2 }), kde δ je q δ (q, a) q 0 q 1 q 2 q 1 q 1 q 2 q 2 Automat A zřejmě akceptuje a ω, ovšem A akceptuje prázdný jazyk. Definice 2.32 Formule B + (X) je jednoduchá, jestliže je buď atomická, true, false, nebo má tvar x y, kde {, } a x, y X. Alternující automat je jednoduchý, jestliže všechny jeho přechody jsou jednoduché. Následující věta porovnává složitost problému neprázdnosti pro různé třídy automatů nad nekonečnými slovy. Věta 2.33 [17] Pro automaty daného typu (Büchiho, Rabinovy, paritní, slabé, váhavé) jsou následující tři problémy navzájem redukovatelné v lineárním čase a logaritmickém prostoru.

29 KAPITOLA 2. TEORIE AUTOMATŮ Neprázdnost alternujících automatů nad slovy nad jednoprvkovou abecedou 2. Neprázdnost jednoduchých alternujících automatů nad slovy nad jednoprvkovou abecedou 3. Neprázdnost nedeterministických stromových automatů pevné arity. Důkaz: Zde popíšeme redukci 1. na 2., neboť ji využijeme při konstrukci algoritmu pro rozhodování problému neprázdnosti pro WAA. Mějme WAA A = (Q, {a}, δ, q 0, F ) a slabé rozdělení {Q 1,..., Q n }. Definujeme WAA A = (Q, {a}, δ, q 0, F ) takový, že pro každé q Q je δ (q, a) jednoduchá formule a L(A) právě tehdy, když L(A ). Idea je taková, že to co automat A provede v jednom kroku provede A ve více krocích, což není na závadu, neboť máme pouze jedno slovo a ω. Bez ztráty na obecnosti můžeme předpokládat, že δ(q, a) je buď true, false, nebo tvaru θ 1 θ 2, {, }. Definujme Q induktivně takto: Pro každé q Q je q Q. Pro každé q Q s δ(q, a) = θ 1 θ 2 je θ 1 Q a θ 2 Q. Pro každé θ 1 θ 2 Q je θ 1 Q a θ 2 Q. a δ je definována následovně: δ (q, a) = δ(q, a), δ (θ 1 θ 2, a) = θ 1 θ 2. Slabé rozdělení {Q 1,..., Q n} definujeme následovně; q Q náleží do Q i právě když splňuje jednu z podmínek: q Q i nebo i = min{j q je podformule δ(q, a) pro q Q j }. F = F {θ θ Q i, kde Q i je akceptující množina}. Tedy je nutno do nového akceptujícího stavu přidat ty nové stavy, které padnou do akceptujících množin slabého rozdělení. Příklad 2.34 Vezměme WAA nad jednoprvkovou abecedou sestrojený v příkladu A K,ϕ = ({(s, ϕ), {a}, (t, ϕ), (s, EF p), (t, EF p)}, δ, (s, ϕ), {(s, ϕ), (t, ϕ)}), kde δ je dána následující tabulkou q δ (q, a) (s, ϕ) ((s, EF p) (t, EF p)) (s, ϕ) (t, ϕ) (t, ϕ) (t, ϕ) (s, EF p) (s, EF p) (t, EF p) (t, EF p) true

30 KAPITOLA 2. TEORIE AUTOMATŮ 29 a slabé rozdělení je Q 1 = {(s, EF p), (t, EF p)}, Q 2 = {(s, ϕ), (t, ϕ)}, Q 1 Q 2. K tomuto automatu sestrojíme jednoduchý WAA nad jednoprvkovou abecedou A. A = (Q, {a}, δ, (s, ϕ), F ), kde Q = {(s, ϕ), (t, ϕ), (s, EF p), (t, EF p), (s, ϕ) (t, ϕ), (s, EF p) (t, EF p)} a δ je dána tabulkou q δ(q, a) (s, ϕ) ((s, EF p) (t, EF p)) (s, ϕ) (t, ϕ) (t, ϕ) (t, ϕ) (s, EF p) (s, EF p) (t, EF p) (t, EF p) true (s, ϕ) (t, ϕ) (s, ϕ) (t, ϕ) (s, EF p) (t, EF p) (s, EF p) (t, EF p) a slabé rozdělení je Q 1 = {(s, EF p), (t, EF p), (s, EF p) (t, EF p)} a Q 2 = {(s, ϕ), (t, ϕ), (s, ϕ) (t, ϕ)}, Q 1 Q 2, neboť δ((s, EF p), a) = (s, EF p) (t, EF p) a (s, EF p) Q 1. Obdobně pro (s, ϕ) (t, ϕ). F = {(s, ϕ), (t, ϕ)} {(s, ϕ) (t, ϕ)}. Jak již bylo zmíněno ve věta 2.29, obecný problém neprázdnosti pro WAA je EXPTIME-úplný. Jelikož však při model checkingu formulí CTL používáme automat vzniklý součinem Kripkeho struktury a WAA sestrojeného k dané CTL formuli (viz dále) a tento výsledný automat je WAA nad slovy nad jednoprvkovou abecedou, je pro nás více jak obecný případ důležitá následující věta. Věta 2.35 [17] Problém neprázdnosti pro WAA nad slovy nad jednoprvkovou abecedou je rozhodnutelný v lineárním čase. Problém neprázdnosti pro WAA nad slovy nad jednoprvkovou abecedou je P-úplný. Důkaz: Podle věty 2.33 zkonstruujeme algoritmus pro rozhodování problému neprázdnosti pro jednoduchý WAA nad slovy nad jednoprvkovou abecedou A = (Q, {a}, δ, q 0, F ) s rozšířeným slabým rozdělením Q 1 Q n. Ke konstrukci užijeme and/or grafu G. Každému uzlu grafu G odpovídá stav q Q. Pro q s δ(q, a) = q 1 q 2, {, }, označujeme q jako -uzel s následníky q 1 a q 2. Pro q = true nebo q = false je q sink-uzel. Každý -uzel je označen trojicí (, last, ptrs), kde last je logická hodnota a ptrs je seznam ukazatelů na předchůdce q. last má hodnotu true právě když jeden ze dvou následníků q byl již označen T nebo F. Tedy last je na počátku algoritmu inicializováno na false pro všechny uzly. Algoritmus navíc uchovává v i = 1,..., n informaci o tom, ve kterém Q i se právě nachází a dále používá dva zásobníky S T a S F, které uchovávají uzly označené T resp. F. Na počátku je i = 1, S T obsahuje sinkuzel true (pokud existuje) a S F obsahuje sink-uzle false (pokud existuje). Dále

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou

Více

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

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více

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

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a

Více

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

Turingovy stroje. Teoretická informatika Tomáš Foltýnek Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,

Více

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

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je 28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci

Více

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

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23 Výroková logika Alena Gollová Výroková logika 1/23 Obsah 1 Formule výrokové logiky 2 Alena Gollová Výroková logika 2/23 Formule výrokové logiky Výrok je oznamovací věta, o jejíž pravdivosti lze rozhodnout.

Více

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

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie. Zpracoval: hypspave@fel.cvut.cz 5. Výroková logika, formule výrokové logiky a jejich pravdivostní ohodnocení, splnitelné formule, tautologie, kontradikce, sémantický důsledek, tautologicky ekvivalentní

Více

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

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat IV113 Validace a verifikace Převod LTL formule na Büchi automat Jiří Barnat Připomenutí IV113 úvod do validace a verifikace: LTL BA str. 2/26 Problém Kripkeho struktura M LTL formule ϕ M = ϕ? Řešení pomocí

Více

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

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31 Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31 IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu

Více

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 Σ

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 Σ Abecedou se rozumí libovolná konečná množina Σ. Prvky abecedy nazýváme znaky (symboly) Slovo (řetězec) v nad abecedou Σ je libovolná konečná posloupnost znaků této abecedy. Prázdné posloupnosti znaků odpovídá

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Výroková logika - opakování

Výroková logika - opakování - opakování ormální zavedení Výroková formule: Máme neprázdnou nejvýše spočetnou množinu A výrokových proměnných. 1. Každá proměnná je výroková formule 2. Když α, β jsou formule, potom ( α), (α β), (α

Více

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 α

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 α 1. JAZYK ATEATIKY 1.1 nožiny nožina je souhrn objektů určitých vlastností, které chápeme jako celek. ZNAČENÍ. x A x A θ A = { { a, b a A = B A B 0, 1 2 a, a,..., a n x patří do množiny A x nepatří do množiny

Více

Logika a regulární jazyky

Logika a regulární jazyky 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íce

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

Výroková a predikátová logika - V Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

Základy logiky a teorie množin

Základy logiky a teorie množin Pracovní text k přednášce Logika a teorie množin (I/2007) 1 1 Struktura přednášky Matematická logika 2 Výroková logika Základy logiky a teorie množin Petr Pajas pajas@matfyz.cz Predikátová logika 1. řádu

Více

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

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška třetí Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

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

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, [161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p

Více

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

teorie logických spojek chápaných jako pravdivostní funkce Výroková logika teorie logických spojek chápaných jako pravdivostní funkce zabývá se způsoby tvoření výroků pomocí spojek a vztahy mezi pravdivostí různých výroků používá specifický jazyk složený z výrokových

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.    horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 20 Predikátová logika Motivace Výroková

Více

10. Techniky formální verifikace a validace

10. Techniky formální verifikace a validace Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 10. Techniky formální verifikace a validace 1 Simulace není

Více

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více

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

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D. Logika 2. Výroková logika RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216, Logika:

Více

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

Predikátová logika. prvního řádu Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)

Více

Logické programy Deklarativní interpretace

Logické programy Deklarativní interpretace Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou

Více

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

Výroková a predikátová logika - IX Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2013/2014 1 / 15 Korektnost a úplnost Důsledky Vlastnosti teorií

Více

Modely Herbrandovské interpretace

Modely Herbrandovské interpretace Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší

Více

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

1 Pravdivost formulí v interpretaci a daném ohodnocení 1 Pravdivost formulí v interpretaci a daném ohodnocení Než uvedeme konkrétní příklady, zopakujme si definici interpretace, ohodnocení a pravdivosti. Necht L je nějaký jazyk. Interpretaci U, jazyka L tvoří

Více

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

Výroková a predikátová logika - VI Výroková a predikátová logika - VI Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VI ZS 2017/2018 1 / 24 Predikátová logika Úvod Predikátová logika Zabývá

Více

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

Výroková logika. Teoretická informatika Tomáš Foltýnek Výroková logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox

Více

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

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 Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.  horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Sémantická věta o dedukci Věta Pro

Více

NP-úplnost problému SAT

NP-úplnost problému SAT Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x

Více

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

Výroková a predikátová logika - IV Výroková a predikátová logika - IV Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IV ZS 2018/2019 1 / 17 Tablo metoda Tablo Tablo - příklady F (((p q)

Více

Základní pojmy matematické logiky

Základní pojmy matematické logiky KAPITOLA 1 Základní pojmy matematické logiky Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. 1. Výroková logika Co je

Více

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

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu VÝROKOVÁ LOGIKA Matematická logika se zabývá studiem výroků, jejich vytváření a jejich pravdivostí. Základním kamenem výrokové logiky jsou výroky. Co je výrok nedefinujejme, pouze si řekneme, co si pod

Více

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

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 Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.

Více

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

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické

Více

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

Rezoluční kalkulus pro logiku prvního řádu AD4M33AU Automatické uvažování Rezoluční kalkulus pro logiku prvního řádu Petr Pudlák Logika prvního řádu (Někdy nepřesně nazývaná predikátová logika.) Výhody Vyšší vyjadřovací schopnost jazyka, V podstatě

Více

10 Funkce více proměnných

10 Funkce více proměnných M. Rokyta, MFF UK: Aplikovaná matematika II kap. 10: Funkce více proměnných 16 10 Funkce více proměnných 10.1 Základní pojmy Definice. Eukleidovskou vzdáleností bodů x = (x 1,...,x n ), y = (y 1,...,y

Více

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

Formální jazyky a gramatiky Teorie programovacích jazyků Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina

Více

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2014/2015 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2014/2015 1 / 21 Výroková logika Horn-SAT Horn-SAT Jednotková

Více

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase -stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S

Více

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014 Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia

Více

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

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20 Predikátová logika Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20 Jazyk predikátové logiky Má dvě sorty: 1 Termy: to jsou objekty, o jejichž vlastnostech chceme hovořit. Mohou být proměnné. 2 Formule:

Více

Matematická analýza 1

Matematická analýza 1 Matematická analýza 1 ZS 2019-20 Miroslav Zelený 1. Logika, množiny a základní číselné obory 2. Limita posloupnosti 3. Limita a spojitost funkce 4. Elementární funkce 5. Derivace 6. Taylorův polynom Návod

Více

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

Predikátová logika. Teoretická informatika Tomáš Foltýnek Predikátová logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz strana 2 Opakování z minulé přednášky Z čeho se skládá jazyk výrokové logiky? Jaká jsou schémata pro axiomy VL? Formulujte

Více

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

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16 Predikátová logika - přednáška 3 6. 1. 2015 () Predikátová logika - přednáška 3 6. 1. 2015 1 / 16 Věta (o dedukci) Bud L jazyk, T teorie pro L, ϕ L-sentence a ψ L-formule. Pak Věta (o kompaktnosti) T ϕ

Více

Vztah jazyků Chomskeho hierarchie a jazyků TS

Vztah jazyků Chomskeho hierarchie a jazyků TS Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé

Více

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

Výroková a predikátová logika - IX Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2015/2016 1 / 16 Tablo metoda v PL Důsledky úplnosti Vlastnosti

Více

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

Více

Sémantika predikátové logiky

Sémantika predikátové logiky Sémantika predikátové logiky pro analýzu sémantiky potřebujeme nejprve specifikaci jazyka (doména, konstanty, funkční a predikátové symboly) příklad: formální jazyk s jediným binárním predikátovým symbolem

Více

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

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2013/2014 1 / 21 Sémantika PL Teorie Vlastnosti teorií Teorie

Více

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

Třídy složitosti P a NP, NP-úplnost Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není

Více

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...

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... Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -

Více

Množiny, relace, zobrazení

Množiny, relace, zobrazení Množiny, relace, zobrazení Množiny Množinou rozumíme každý soubor určitých objektů shrnutých v jeden celek. Zmíněné objekty pak nazýváme prvky dané množiny. Pojem množina je tedy synonymem pojmů typu soubor,

Více

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

0. ÚVOD - matematické symboly, značení, 0. ÚVOD - matematické symboly, značení, číselné množiny Výroky Výrok je každé sdělení, u kterého lze jednoznačně rozhodnout, zda je či není pravdivé. Každému výroku lze proto přiřadit jedinou pravdivostní

Více

Predikátová logika dokončení

Predikátová logika dokončení Predikátová logika dokončení Jiří Velebil: X01DML 1. října 2010: Predikátová logika dokončení 1/18 Syntaktická analýza Jako ve výrokové logice (syntaktické stromy). Každý list úspěšného stromu je obsazen

Více

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost 1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.  horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 18 Příklad Necht L je jazyk obsahující

Více

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

Okruh č.3: Sémantický výklad predikátové logiky Okruh č.3: Sémantický výklad predikátové logiky Predikátová logika 1.řádu formalizuje úsudky o vlastnostech předmětů a vztazích mezi předměty pevně dané předmětné oblasti (univerza). Nebudeme se zabývat

Více

Pravděpodobnost a statistika

Pravděpodobnost a statistika Pravděpodobnost a statistika 1 Náhodné pokusy a náhodné jevy Činnostem, jejichž výsledek není jednoznačně určen podmínkami, za kterých probíhají, a které jsou (alespoň teoreticky) neomezeně opakovatelné,

Více

Přijímací zkouška - matematika

Přijímací zkouška - matematika Přijímací zkouška - matematika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Grafy 1 Pro který z následujících problémů není znám žádný algoritmus s polynomiální časovou složitostí? Problém,

Více

1 Topologie roviny a prostoru

1 Topologie roviny a prostoru 1 Topologie roviny a prostoru 1.1 Základní pojmy množin Intervaly a okolí Intervaly v rovině nebo prostoru jsou obdélníky nebo hranoly se stranami rovnoběžnými s osami souřadnic. Podmnožiny intervalů se

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Minimalizace KA - Úvod

Minimalizace KA - Úvod Minimalizace KA - Úvod Tyto dva KA A,A2 jsou jazykově ekvivalentní, tzn. že rozpoznávají tentýž jazyk. L(A) = L(A2) Názorně lze vidět, že automat A2 má menší počet stavů než A, tudíž našim cílem bude ukázat

Více

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T. BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné

Více

Rezoluční kalkulus pro výrokovou logiku

Rezoluční kalkulus pro výrokovou logiku AD4M33AU Automatické uvažování Rezoluční kalkulus pro výrokovou logiku Petr Pudlák Výroková logika Výhody Jednoduchý jazyk. Rozhodnutelnost dokazatelnosti i nedokazatelnosti. Rychlejší algoritmy. Nevýhody

Více

Výroková logika syntaxe a sémantika

Výroková logika syntaxe a sémantika syntaxe a sémantika Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 1/16 1 Proč formální jazyk? 1 Přirozené jazyky jsou složité a často nejednoznačné. 2 Komunikace s formálními nástroji musí být

Více

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w

Více

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

NAIVNÍ TEORIE MNOŽIN, okruh č. 5 NAIVNÍ TEORIE MNOŽIN, okruh č. 5 Definování množiny a jejích prvků Množina je souhrn nějakých věcí. Patří-li věc do množiny X, říkáme, že v ní leží, že je jejím prvkem nebo že množina X tuto věc obsahuje.

Více

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

Výroková a predikátová logika - XII Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2018/2019 1 / 15 Rezoluční metoda v PL Rezoluční důkaz Obecné

Více

Aplikace: Znalostní báze

Aplikace: Znalostní báze Aplikace: Znalostní báze 1 Znalostní báze je systém, který dostává fakta o prostředí a dotazy o něm. Znalostní báze je agentem ve větším systému, který obsahuje prostředí (také agent), správce (agent),

Více

Interpolace, ortogonální polynomy, Gaussova kvadratura

Interpolace, ortogonální polynomy, Gaussova kvadratura Interpolace, ortogonální polynomy, Gaussova kvadratura Petr Tichý 20. listopadu 2013 1 Úloha Lagrangeovy interpolace Dán omezený uzavřený interval [a, b] a v něm n + 1 různých bodů x 0, x 1,..., x n. Nechť

Více

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

Výroková a predikátová logika - X Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2018/2019 1 / 16 Rozšiřování teorií Extenze o definice Rozšiřování

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.  horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 15 Splnitelnost množin Definice Množina

Více

Vlastnosti regulárních jazyků

Vlastnosti regulárních jazyků Vlastnosti regulárních jazyků Podobně jako u dalších tříd jazyků budeme nyní zkoumat následující vlastnosti regulárních jazyků: vlastnosti strukturální, vlastnosti uzávěrové a rozhodnutelné problémy pro

Více

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do

Více

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

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2018/2019 1 / 15 Platnost (pravdivost) Platnost ve struktuře

Více

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Úvod do informatiky přednáška čtvrtá Miroslav Kolařík Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Pojem relace 2 Vztahy a operace s (binárními) relacemi

Více

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, ),

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, ), Pracovní text k přednášce Logika a teorie množin 4.1.2007 1 1 Kardinální čísla 2 Ukázali jsme, že ordinální čísla reprezentují typy dobrých uspořádání Základy teorie množin Z minula: 1. Věta o ordinálních

Více

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

Třída PTIME a třída NPTIME. NP-úplnost. VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní

Více

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Limita a spojitost funkce a zobrazení jedné reálné proměnné Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé

Více

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

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 2/22 Pumping lemma - podstata problému BI-AAG (2011/2012) J. Holub: 10. Vlastnosti regulárních jazyků p. 4/22 Automaty a gramatiky(bi-aag)

Více

H {{u, v} : u,v U u v }

H {{u, v} : u,v U u v } Obyčejný graf Obyčejný graf je dvojice G= U, H, kde U je konečná množina uzlů (vrcholů) a H {{u, v} : u,v U u v } je (konečná) množina hran. O hraně h={u, v} říkáme, že je incidentní s uzly u a v nebo

Více

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1 Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit

Více

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

Výroková a predikátová logika - VIII Výroková a predikátová logika - VIII Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VIII ZS 2017/2018 1 / 21 Tablo Tablo metoda v PL - rozdíly Formule

Více

Matematická analýza III.

Matematická analýza III. 1. - limita, spojitost Miroslav Hušek, Lucie Loukotová UJEP 2010 Úvod Co bychom měli znát limity posloupností v R základní vlastnosti funkcí jedné proměnné (definiční obor, monotónnost, omezenost,... )

Více

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13. Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy

Více

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

Více

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43 Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu 2018 1/ 43 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným

Více

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

Logika. 6. Axiomatický systém výrokové logiky Logika 6. Axiomatický systém výrokové logiky RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216,

Více

AUTOMATY A GRAMATIKY

AUTOMATY A GRAMATIKY AUTOMATY A 1 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Stručný přehled přednášky Automaty Formální jazyky, operace

Více

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

Více