Ověřování modelu pomocí automatů. Tomáš Masopust
|
|
- Antonín Dvořák
- před 7 lety
- Počet zobrazení:
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 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íceVý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íceVý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íceRegulá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íceTuringovy 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ícedoplně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íceSé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ícePro 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íceIV113 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íceVztah 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íceMnož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íceMatematická 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íceVý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íceVý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íceKaž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íceLogika 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íceVý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íce4.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íceZá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íceFormá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íceMatematická 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íceKonstrukce 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íceteorie 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íceMatematická 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íce10. 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íceNaproti 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íceLogika. 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ícePrediká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íceLogické 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íceVý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íceModely 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íce1 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íceVý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íceVý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íce3. 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íceMatematická 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íceNP-ú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íceVý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íceZá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íceMí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íceUná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íceAutomaty 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íceRezoluč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íce10 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íceFormá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íceVý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ícePQ-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íceZadá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íceDalší (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íceMatematická 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ícePrediká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ícePredik 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íceVztah 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íceVý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ícePojem 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íceSé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íceVý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íceTří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íceKapitola 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íceMnož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íce0. Ú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ícePrediká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íceSlož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íceMatematická 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íceOkruh č.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ícePravdě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ícePř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íce1 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 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íce5 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íceDefinice. 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íceMinimalizace 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íceAutomaty 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íceRezoluč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íceVý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íceKapitola 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íceNAIVNÍ 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íceVý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íceAplikace: 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íceInterpolace, 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íceVý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íceMatematická 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íceVlastnosti 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íceNP-Ú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íceVý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 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íce1 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íceTří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íceLimita 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ícePumping 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íceH {{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íceNegativní 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íceVý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íceMatematická 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íceGrafy. 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ícei=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íceZ. 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íceLogika. 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íceAUTOMATY 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íceAUTOMATY 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