1 REZOLUČNÍ FORMÁLNÍ DŮKAZY



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

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

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

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

Převyprávění Gödelova důkazu nutné existence Boha

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

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

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

Logika a logické programování

Která tvrzení jsou pravdivá nezávisle na tom, který den v týdnu byla vyslovena? Tvrzení trosečníka Dana.

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

Sémantika predikátové logiky

platné nejsou Sokrates je smrtelný. (r) 1/??

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

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

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

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

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

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

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný

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

Regresní a korelační analýza

Matematická logika. Rostislav Horčík. horcik

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Základy logiky a teorie množin

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

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

1. Alternativní rozdělení A(p) (Bernoulli) je diskrétní rozdělení, kdy. p(0) = P (X = 0) = 1 p, p(1) = P (X = 1) = p, 0 < p < 1.

Logické programy Deklarativní interpretace

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

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

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

Matematické symboly a značky

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

0. Lineární rekurence Martin Mareš,

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

Výpočetní složitost I

Návody k domácí části I. kola kategorie A

Matematická logika. Rostislav Horčík. horcik

Predikátová logika [Predicate logic]

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

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

Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Ústav biomedicínského inženýrství EXPERTNÍ SYSTÉMY.

Kapitola 1. Tenzorový součin matic

Logika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.

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

MNOŽINY. x A. Jeho varianty paradox mostu se šibenicí, paradox holiče.

Hilbertovský axiomatický systém

Funkce zadané implicitně

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

popel, glum & nepil 16/28

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

Výroková logika - opakování

Jak je důležité být fuzzy

Základy logiky Logika a logické systémy. Umělá inteligence a rozpoznávání, LS

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

Lineární algebra II. Adam Liška. 9. února Zápisky z přednášek Jiřího Fialy na MFF UK, letní semestr, ak. rok 2007/2008

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

KMA/MDS Matematické důkazy a jejich struktura

Negace bázového atomu Negace atomu s existenčním termem Negace klauzule Negace množiny klauzulí Predikát rovnosti. Klauzulární logika

2.1 Formule predikátové logiky. větám. Použijte k tomu predikátových symbolu uvedených v textu.

Klasická predikátová logika

GRAFY A GRAFOVÉ ALGORITMY

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

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

Metody odvozování. matematická východiska: logika, Prolog

Přednáška 2: Formalizace v jazyce logiky.

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

2.5 Rezoluční metoda v predikátové logice

Logika XI. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

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

Částečná korektnost. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Úvod do TI - logika Výroková logika - pokračování (3.přednáška) Marie Duží

Rozptyl. Pozn.: rozptyl je nezávislý na posunu hustoty pravděpodobnosti na ose x, protože Var(X) mi určuje jen šířku rozdělení.

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS

Spojitost funkcí více proměnných

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

Tématické celky { kontrolní otázky.

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

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

Edita Kolářová ÚSTAV MATEMATIKY

MATEMATIKA IV - PARCIÁLNÍ DIFERENCIÁLNÍ ROVNICE - ZÁPISKY Z. Obsah. 1. Parciální diferenciální rovnice obecně. 2. Kvaazilineární rovnice prvního řádu

Substituce. Petr Štěpánek. S využitím materialu Krysztofa R. Apta. Logické programování 2 1

4.2 Syntaxe predikátové logiky

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

Elektrotechnická fakulta

Rezoluční kalkulus pro výrokovou logiku

Modely Herbrandovské interpretace

Logické programování

1. Pravděpodobnost a statistika (MP leden 2010)

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Vysoké učení technické v Brně. Fakulta strojního inženýrství. Matematika. Příručka pro přípravu k přijímacím zkouškám

Klauzulární logika. úvod. Šárka Vavrečková. 20. října Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

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 α

2 HRA V EXPLICITNÍM TVARU

1. Základy logiky a teorie množin

Výroková a predikátová logika Výpisky z cvičení Martina Piláta

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

Transkript:

Vážená kolegyně / vážený kolego, součástí Vašeho rozšiřujícího studia informatiky je absolvování předmětu Logika pro učitele 2, jehož cílem je v návaznosti na předmět Logika pro učitele 1 seznámení se základními prostředky formální logické reprezentace znalostí, tak jak jsou používány v umělé inteligenci. Předmět je rozdělen do 10 lekcí. Prostudování každé z nich by Vám mělo trvat přibližně 1.5 hodiny. Doporučuji Vám studovat text po jednotlivých lekcích, řešit úkoly zadané přímo v textu, resp. procvičovat látku na dalších příkladech z Cvičení z logiky 2. Přeji Vám hodně trpělivosti při studiu některých obtížných partií látky a sobě přeji, aby se Vám manipulace s formálně reprezentovanými znalostmi zalíbila. Alena Lukasová 1

1 REZOLUČNÍ FORMÁLNÍ DŮKAZY V této lekci, která navazuje na rezoluční dokazování, s nímž jste se již seznámil(a) v předmětu Logika pro učitele 1, se budeme věnovat podrobněji formální rezoluční dokazovací metodě ve výrokové i predikátové logice. Uvidíte, že formální rezoluční dokazování logické platnosti formulí ve výrokové i predikátové logice představuje ve své podstatě tentýž problém s tím, že na predikátovou formuli lze aplikovat rezoluční princip až po její úpravě do klauzulárního tvaru a po této úpravě je možno rezoluční důkaz provádět pouze s otevřeným jádrem formule. Protože aplikace rezolučního odvozovacího pravidla na dvojici predikátových klauzulí je možná pouze v případě, kdy vzájemně komplementární literály atomů, určené k aplikaci pravidla, jsou unifikovatelné, bude pozornost věnována též problému unifikaci predikátových atomů. Nejdříve však věnujeme pozornost obecným vlastnostem formálních metod dokazování, speciálně rozhodování splnitelnosti, event. logické platnosti výrokových a predikátových formulí a logických důsledků vyvozených z daných předpokladů. Budeme se přísně držet požadavku, aby diskutovaná metoda formálního dokazování měla přesně definovaný jazyk, výchozí znalosti a odvozovací mechanismus. Dále budeme požadovat, aby produkovala pouze ty závěry, které jsou sémanticky korektní, tj. pravdivé, a aby byla též sémanticky úplná, tj. že pomocí ní lze vždy nahradit sémantický důkaz uvažované vlastnosti formule, resp. vztahů mezi formulemi. Prostudování této lekce by vám mělo trvat asi 1,5 hodiny. 1.1 OBECNÉ VLASTNOSTI FORMÁLNÍCH DŮKAZŮ 1.1.1 Jazyk, axiómy, odvozovací pravidla K tomu, aby bylo možno diskutovat specifické vlastnosti jednotlivých systémů formální dedukce, je třeba přesně stanovit, jakým jazykem uvažovaný systém disponuje, jaké vlastnosti by měla mít množina předpokladů (axiómů), z nichž důkazy vycházejí, jak jsou definována odvozovací pravidla pro formální dokazování. V definici 1.10 (Logika pro učitele 1) jazyka výrokové logiky byly zavedeny čtyři typy symbolů abecedy, které jsou v jazyce L spolu s gramatickými pravidly využívány při vytváření jeho dobře utvořených formulí. Pro možnost jazykové reprezentace pravdivostních hodnot, jichž formule při své interpretaci nabývá, byly v rámci jazyka L zavedeny logické konstanty true a false. Formální dedukce, ačkoliv vychází ze zákonitostí a vztahů, které jsou v logice platné, se ve své konečné podobě zcela od významů formálních postupů odpoutává, proto není žádný důvod pro manipulaci se zmíněnými logickými konstantami. Navíc by pro tyto konstanty bylo potřeba dodefinovat některá formální pravidla. Symboly pro logické konstanty budou proto z jazyků všech zde diskutovaných formálních systémů vypuštěny. Modifikace jazyka formálního systému dále závisí na tom, provádí-li se odvozování na speciálních typech formulí, např na formulích v klauzulárním tvaru. Pro každý z formálních 2

systémů, které zde budou diskutovány, bude proto též definována syntax jeho jazyka. Pro převod formulí jazyka L na formule speciálních jazyků formálních systémů je zde k dispozici řada dokázaných ekvivalencí (viz Logiku pro učitele 1). Věty dokázané v kapitolách o sémantice jazyka L zůstávají v platnosti i pro jazyky formálních systémů, neboť se v nich vždy jedná o podjazyk jazyka L. Formální důkazy prováděné v rámci některého axiómatického systému uváděného v dalších lekcích disponují vedle množiny speciálních axiómů, představující výchozí znalostní bázi budované teorie, též logickými axiómy tohoto systému. Jak již ve většině případů bylo ukázáno v textu Logika pro učitele 1, resp. bude ukázáno dále, jde o formule, které jsou z hledista sémantiky formulemi logicky platnými. Pokud jde o množinu speciálních axiómů, z nichž dedukce vychází, nelze zanedbat sémantický problém její konsistence. V umělé inteligenci totiž odvozování ze sporných předpokladů, i když probíhá korektně v souladu s odvozovacími pravidly, nemá praktické uplatnění. Odvozovací pravidla formálních systémů byla vždy vytvořena na základě sémantiky jednotlivých dokazovacích postupů. Pro pochopení principů, správnosti a uplatnitelnosti jednotlivých formálních systémů je tedy namístě sémantické hledisko. 1.1.2 Sémantická korektnost a úplnost formálních důkazů Formální důkazové metody by nemělo smysl používat, kdyby nebyla vždy zaručena jejich korektnost v tom smyslu, že cokoliv je jimi dokázáno či odvozeno, platí též po stránce sémantické. Další vlastností, kterou by neměla metoda formálního dokazování postrádat, je její sémantická úplnost spočívající ve skutečnosti, že touto metodou lze vždy nahradit sémantický důkaz uvažované vlastnosti formule, resp. vztahů mezi formulemi. Přesněji jsou pojmy sémantické korektnosti a úplnosti formální důkazové metody definovány v následující definici. Definice 1.1 (sémantické korektnosti formální důkazové metody) Formální důkazová metoda je sémanticky korektní, je-li každá pomocí ní dokazatelná formule příslušného jazyka platná. Definice 1.2 (sémantické úplnosti formální důkazové metody) Formální důkazová metoda je sémanticky úplná, lze-li pomocí ní dokázat všechny platné formule příslušného jazyka. Formální důkazová metoda je sémanticky korektní a úplná, lze-li pomocí ní dokázat právě všechny platné formule příslušného jazyka. 3

1.1.3 Přímé a nepřímé důkazy Přímým postupem je formule postupnými kroky dokazována (odvozována) z výchozích předpokladů pomocí daných pravidel. Nepřímé postupy naopak spočívají v tom, že popřená formule, která má být dokázána, je zařazena do důkazu, z čehož pak postupnými kroky odvozování vyplyne spor. Při důkazu logické platnosti formule postupují nepřímé důkazové metody tak, že dokazují nesplnitelnost negace této formule. S důkazem logické platnosti formule úzce souvisí důkaz, že formule je logickým důsledkem dané množiny předpokladů, který je základem modelování deduktivního uvažování v umělé inteligenci. Opodstatněnost nepřímých důkazů logického důsledku, z nichž zde budou prezentovány např. tablový důkaz a rezoluční důkaz ve výrokové i predikátové logice, se opírá o platnost dokázané věty v Logice pro učitele 1, podle níž je formule logickým důsledkem dané množiny předpokladů, právě když je množina formulí, sestávající ze všech daných předpokladů a negace předpokládaného závěru, nesplnitelná. 1.1.4 Formální důkazy platnosti metajazykových schémat V následujících odstavcích a kapitolách týkajících se formálních systémů různých typů bude v řadě případů třeba sestrojit důkazy axiómů nebo odvozovacích pravidel formulovaných pro výrokovou logiku obecně v metajazykové notaci. Důkazové postupy, tak jak jsou ve formálních systémech definovány, se však týkají formulí jazyka příslušného formálního systému, nikoliv metajazykových schémat. Důkazy proto budou vždy prováděny pro nějakou instanci metajazykového schématu, která je dobře utvořenou výrokovou formulí příslušného jazyka. Je-li totiž formule v sémanticky korektním formálním systému dokázána, je též dokázána platnost této formule a platí tedy věta o tautologiích (Logika pro učitele 1, věta 2.5), zobecňující platnost formule i na případy, kdy jsou za jednotlivé výrokové proměnné dosazovány uniformně libovolné jiné dobře utvořené výrokové (nebo predikátové) formule, což je v podstatě totéž, co o sémantice axiómu nebo odvozovacích pravidel tvrdí příslušné matajazykové schéma. Dále, je-li formule logicky platná, znamená to, že je v sémanticky úplném systému dokazatelná. 1.2 REZOLUČNÍ FORMÁLNÍ DŮKAZY VE VÝROKOVÉ LOGICE 1.2.1 Jazyk L C rezolučního formálního systému Gramatika jazyka L C rezolučního formálního systému vychází ze skutečnosti, že jediným typem výrokových formulí, se kterým systém pracuje, je formule v klauzulární (konjunktivní normální) formě. Základními stavebními prvky klauzulí jsou literály 4

výrokových proměnných, klauzule jsou pak, jak již bylo uvedeno v prvním dílu, disjunkcemi literálů výrokových proměnných. Induktivně jsou klauzule a formule v klauzulárním tvaru definovány v následujících dvou definicích. Definice 1.3 (klauzule) 1. Literál výrokové proměnné je klauzule. 2. Jsou-li K a L klauzule, pak K L je klauzule. 3. Všechny klauzule jsou výsledkem konečného počtu aplikací pravidel 1.a 2.(báze a indukce) této definice. Definice 1.4 (formule v klauzulární formě) 1. Každá klauzule je formulí v klauzulární formě. 2. Jsou-li A a B formule v klauzulární formě, pak A & B je formule v klauzulární formě. 3. Všechny klauzule jsou výsledkem konečného počtu aplikací pravidel 1.a 2.(báze a indukce) této definice. Úkol 1.1 Převeďte výrokovou formuli ( p (q & r)) ( q r) do klauzulárního tvaru. 1.2.2 Rezoluční odvozovací pravidlo Věta 1.1 Nechť A, B, X jsou formule. Potom A X, B X = A B. Důkaz Předpokládejme, že obě formule ( A X ) a ( B X ) jsou pravdivé. Je-li pravdivé též X, je zřejmě pravdivé i B. Je-li X nepravdivé, musí být pravdivé A. V obou případech je tedy (A B) pravdivé. Je tedy což lze též přepsat jako A X, B X = A B, 5

X A, X B = A B. Ve speciálním případě, kdy X a X tvoří komplementární pár literálů {l, l } výrokové proměnné a A a B jsou klauzule, je možno na základě právě dokázané věty metajazykově definovat rezoluční odvozovací pravidlo: Definice 1.5 (rezolučního odvozovacího pravidla) Nechť (l, l ) je komplementární pár literálů určité výrokové proměnné. Potom pravidlo vyjádřené metajazykově větou Z klauzulí l C 1 a l C 2 odvoď klauzuli C 1 C 2., resp. schématem l C 1, l C 2 se nazývá rezoluční odvozovací pravidlo. C 1 C 2 Definice 1.6 (rezolventy dvou klauzulí) Klauzule C, která byla vytvořena podle rezolučního odvozovacího pravidla z klauzulí C 1 a C 2 se nazývá rezolventou klauzulí C 1 a C 2. Aplikace rezolučního odvozovacího pravidla neznamená úpravu formulí do jiných ekvivalentních tvarů. Jak vyplývá z vlastností logického důsledku a jak bude obecně dokázáno v následující větě, rezolventa dvou klauzulí pouze zachovává jejich splnitelnost. Věta 1.2 Nechť C je výsledná klauzule po aplikaci rezolučního odvozovacího pravidla na klauzule C 1, C 2. Potom platí, že C je splnitelná, právě když C 1, C 2 jsou současně splnitelné (mají společný model). Důkaz 1) Je-li C splnitelná, pak existuje její model - ohodnocení výrokových proměnných takové, že alespoň jeden literál l klauzule C je interpretován jako true. Literál l byl přepsán do rezolventy C na základě jeho výskytu v alespoň jedné z klauzulí C 1, C 2. Vyskytoval-li se v obou klauzulích, jsou uvažovaným modelem splněny i C 1 a C 2. Jestliže se l vyskytoval pouze v jedné z nich (např. C 1 ), je třeba model dourčit takovým ohodnocením proměnné, náležející rezolucí vynechanému komplementárnímu páru literálů k, k, aby ten literál, který se vyskytuje v C 2, byl interpretován jako true. Takto určený model pak splňuje C 1 i C 2. 2) Věta 1.1 tvrdí, že C je logickým důsledkem C 1, C 2, což znamená, že C má model (je splnitelná), pokud C 1, C 2 mají model. 6

1.2.3 Rezoluční strom a rezoluční důkaz K tomu, aby mohla být ukázána souvislost mezi splnitelností výchozí množiny klauzulí U a splnitelností dokázané klauzule C, resp. nesplnitelností množiny U a nesplnitelností klauzule C, je třeba vzít v úvahu celý proces rezolučního odvozování klauzule. Proto zde bude zaveden pojem rezolučního důkazu (resp. odvozování) klauzule C z dané množiny klauzulí U, reprezentovaný rezolučním stromem klauzule C. Definice 1.7 (rezolučního důkazu klauzule z dané množiny klauzulí) Rezoluční důkaz (odvození) klauzule C z dané množiny klauzulí U je posloupnost klauzulí C 1, C 2,..., C n = C taková, že každá klauzule C i, 1 i n, je buď klauzulí z množiny U nebo rezolventou některé dvojice klauzulí C j, C k, j,k < i. Definice 1.8 (rezolučního stromu klauzule) Rezoluční strom klauzule C odvozené rezolučním důkazem z dané množiny klauzulí U je ohodnocený binární strom těchto vlastností : 1) Kořen nese jako návěští klauzuli C. 2) Návěštími listů jsou klauzule z množiny U. 3) Jestliže je uzel, který není listem, ohodnocen návěštím C m a jeho uzly bezprostředně následující návěštími C k a C l, potom C m je rezolventou klauzulí C k a C l. Uvažujme nyní případ, kdy z dané množiny klauzulí byl opakovaným užitím rezolučního odvozovacího pravidla odvozen spor: v důkazové posloupnosti klauzulí se vyskytují klauzule o jediném literálu, které tvoří komplementární pár. Další aplikace rezolučního odvozovacího pravidla na tyto dvě komplementární klauzule musí nutně odvodit prázdnou klauzuli. Klauzule tvořící tu dvojici rodičů, z níž byla rezolventa odvozena, rovněž vznikly rezolučním odvozováním. Proto i zde je třeba při dokazování vztahu mezi nesplnitelnou množinou klauzulí a jejím popřením prázdnou klauzulí vzít v úvahu celý proces tohoto rezolučního popření (resp. odvození prázdné klauzule ) dané nesplnitelné množiny klauzulí U, reprezentovaný stromem rezolučního popření množiny U. Definice 1.9 (rezolučního popření množiny klauzulí a jeho stromu) Rezoluční odvození (důkaz) sporu - prázdné klauzule z množiny klauzulí U se nazývá rezoluční popření množiny klauzulí U. Rezoluční strom odvozené prázdné klauzule se nazývá strom rezolučního popření. Příklad 1.1 Strom rezolučního popření nesplnitelné množiny klauzulí U = {p q, p r, q r, p }. 7

r (6.) r (7.) p r p q r q (5.) (2.) (4.) (3.) p q p (1.) (4.) obr. 1.1 Následující věta vyjadřuje vztah mezi pojmy rezolučního důkazu klauzule a rezolučním stromem klauzule. Věta 1.3 Klauzule C je reprezentovatelná rezolučním stromem, právě když existuje její rezoluční důkaz. Důkaz a) Pro sestrojení rezolučního důkazu klauzule z jejího rezolučního stromu stačí vytvořit seznam návěští uzlů stromu a postupovat přitom od listů jeho podstromu největší hloubky směrem k jeho kořeni. b) Důkaz bude proveden indukcí podle délky rezolučního důkazu klauzule C z množiny klauzulí U. Přitom délka důkazu, jak je zřejmé, závisí vedle počtu klauzulí množiny U též na počtu aplikací rezolučního odvozovacího pravidla. 1) Neuvažujeme-li prázdnou množinu U, je nejkratším možným rezolučním důkazem klauzule C z množiny dvou klauzulí {C 1, C 2 } posloupnost tří klauzulí C 1, C 2, C 3 = C. Z té lze pak sestrojit rezoluční strom tak, aby podle definice 1.8 byly návěštími listů klauzule C 1, C 2, návěštím jeho kořene pak je klauzule C. 2) Předpokládejme platnost indukčního předpokladu až do délky rezolučního důkazu n-1. Protože ke každému důkazu délky menší než n již existuje jeho rezoluční strom, lze i k důkazu délky n jeho rezoluční strom sestrojit z podstromů příslušejících těm členům C i, C j, i,j < n, důkazové posloupnosti, z nichž byl člen C n vytvořen aplikací rezolučního odvozovacího pravidla. Příklad 1.2 Rezoluční odvození prázdné klauzule z nesplnitelné množiny klauzulí z rezolučního stromu příkladu 1.1. 8

U = {p q, p r, q r, p }. 1. p q předpoklad 2. p r předpoklad 3. q r předpoklad 4. p předpoklad 5. q rezolventa 1.a 4. 6. r rezolventa 2.a 4. 7. r rezolventa 3.a 5. 8. rezolventa 6. a 7. 1.2.4 Sémantická korektnost a úplnost rezolučního důkazu Přímé i nepřímé rezoluční dokazování představuje čistě formální postup, který již není vázán na sémantiku klauzulí. Skutečnost, že v obou případech jde o postup sémanticky korektní, induktivně vyplývá z věty 1.2 a je formulována v následujících větách. Věta 1.4 Je-li množina U návěští listů stromu rezolučního důkazu splnitelná, potom je splnitelná i klauzule, která je návěštím kořene tohoto stromu. Důkaz (indukcí podle hloubky podstromu) 1) Podstrom hloubky 1 obsahuje jako návěští listů některou z dvojic současně splnitelných klauzulí C 1, C 2 z U, na niž lze aplikovat rezoluční odvozovací pravidlo a odvodit tak rezolventu C. V tom případě však je podle věty 1.2 splnitelná i klauzule C. 2) Nechť je splněn indukční předpoklad pro podstromy až do hloubky n-1. To znamená, že existuje model množiny U splňující všechny listy podstromů až do hloubky n-1, který splňuje též jejich kořeny. aplikací rezolučního odvozovacího pravidla na vhodnou dvojici kořenů s návěštími C 1, C 2 uvažovaných podstromů se pak vytvoří podstrom houbky n, jehož kořen s návěštím C opět podle věty 1.2 zachová splnitelnost dvojice C 1, C 2. Z předcházející věty 1.4 bezprostředně vyplývá věta následující. Věta 1.5 (o korektnosti rezolučního důkazu nesplnitelnosti množiny klauzulí) Nechť U je množina klauzulí. Jestliže existuje rezoluční popření množiny U, (rezolučním důkazem je odvozen spor - prázdná klauzule ), pak množina klauzulí U je nesplnitelná. 9

Věta 1.6 (o úplnosti rezolučního důkazu nesplnitelnosti množiny klauzulí) Je-li množina klauzulí U nesplnitelná, pak vždy existuje její rezoluční popření (rezolučním důkazem lze vždy odvodit spor - prázdnou klauzuli ). Důkaz lze snadno provést pomocí sémantického stromu množiny klauzulí U (resp. formule U v klauzulárním tvaru). Stačí si uvědomit, jakým způsobem obecně dochází v sémantickém stromě nesplnitelné formule v klauzulární formě k uzavření všech jeho větví pravdivostní hodnotou false. Větev sémantického stromu formule v klauzulární formě se uzavře jako false, je-li při ohodnocení proměnné příslušející její poslední hraně interpretována jako nesplnitelná (false) alespoň jedna klauzule z formule, která je návěštím uzlu selhání, z něhož hrana vychází. V každém (i neúplném) sémantickém stromě existuje alespoň jedna dvojice nejdelších větví, jejichž poslední dvě hrany příslušejí proměnné p i a vycházejí z téhož uzlu selhání. Aby však toto selhání mohlo nastat na obou koncových listech současně, musela formule po své částečné interpretaci obsahovat dvě klauzule tvořené komplementárním párem literálů proměnné p i. sémantické hledisko formální hledisko sémantická úplnost rezolučního důkazu logického důsledku logické důsledky C i množiny klauzulí U rezolucí dokázané klauzule C i z U sémantická korektnost rezolučního důkazu logického důsledku obr. 1.2 Pojmy sémantické korektnosti a úplnosti pro případ nepřímého rezolučního důkazu logického důsledku množiny klauzulí znázorňuje obr. 1.2. 1.2.5 Nepřímé formální důkazy rezolučním popřením Nepřímý důkaz, že formule Z je logickým důsledkem dané množiny formulí H 1, H 2,..,H n, tedy že platí H 1, H 2,..,H n = Z lze provést, jak již bylo uvedeno, převedením na důkaz nesplnitelnosti formule H 1 & H 2 &.. & H n & Z. 10

V případě, že H 1, H 2,.., H n, Z jsou klauzule, lze tento nepřímý důkaz provést rezolučním popřením. V sémanticky korektním formálním systému totiž formální odvození příslušného sporu znamená nesplnitelnost konjunkce H 1 & H 2 &.. & H n & Z. V následujících příkladech bude tento postup ilustrován na důkazech platnosti známých odvozovacích pravidel. Příklad 1.3 Nepřímý rezoluční důkaz pravidla modus ponens A, A B = B, kde A, B jsou formule. Důkaz bude proveden prostřednictvím jeho instance a, a b = b(viz odst. 1.1.4). Klauzulární formou formule a b je disjunkce a b. Přitom podobně jako v předcházejících příkladech lze popřít předpokládaný logický důsledek, schéma pravidla modus ponens přepsat pomocí tří klauzulí a aplikovat pak rezoluční metodu důkazu nesplnitelnosti množiny klauzulí : 1. a předpoklad 2. a b předpoklad 3. b popření důsledku 4. b rezolventa 1. a 2. 5. spor -rezolventa 3. a 4. Úkol 1.2 Dokažte nepřímo rezolucí pravidlo tranzitivity A B, B C = A C, kde A, B, C jsou formule, prostřednictvím jeho instance a b, b c = a c. Jak je vidět z uvedených příkladů, rezoluční popření spočívající v odvození prázdné klauzule z nesplnitelné množiny klauzulí je nedeterministický proces. Existuje zde více než jeden způsob postupného výběru dvojic klauzulí pro aplikaci rezolučního principu. Navíc, jak již bylo konstatováno v předcházejícím příkladě, některé rezolventy mohou být vytvářeny vícenásobně. 1.2.6 Přímé generování vět teorie Následující příklad ukazuje, jak je možno opakovaným použitím rezolučního odvozovacího pravidla získat z daných předpokladů, formulovaných pomocí množiny klauzulí, řadu formálně odvozených vět teorie, které jsou v sémanticky korektním systému logickými důsledky vybudovanými na daných předpokladech. Příklad 1.4 11

Rodinu tvoří otec Antonín, matka Berta a tři děti : Cyril, Dáša a Eliška. Situace, jež v rodině nastaly při sledování televize, lze vystihnout takto : 1) Dívá-li se Antonín, dívá se i jeho žena. 2) Buď Dáša nebo Eliška nebo obě se dívají na televizi. 3) Dívá se buď Berta nebo Cyril, ale nikdy oba společně. 4) Dáša a Cyril se vždy buď oba dívají nebo oba nedívají. 5) Dívá-li se Eliška, dívá se též Antonín a Dáša. Kdo se za těchto podmínek dívá na televizi? Formule vyjadřující daný problém je třeba převést do klauzulárního tvaru. 1. a b 1. a b 2. d e 3. (b c) & (b & c) (b c) & ( b c) 4. (d c) 4 (d c) & (c d) ( d c) & ( c d) 5. e a & d 5. e (a & d) ( e a) & ( e d) Klauzule získané úpravou původních formulí do klauzulárního tvaru budou nyní seřazeny jako první členy rezolučního důkazu. 1. a b 2. d e 3. b c 4. b c 5. c d 6. d c 7. e a 8. e d Dalšími členy rezoluční důkazové posloupnosti jsou již klauzule získané aplikací rezolučního odvozovacího pravidla. 9. d rezolventa 2. a 8. Dáša se dívá 10. c rezolventa 9. a 6. Cyril se dívá 12

11. b rezolventa 4. a 10. Berta se nedívá 12. a rezolventa 1. a 11. Antonín se nedívá 13. e rezolventa 7. a 12. Eliška se nedívá Příklad 1.4 ukazuje rezoluční odvozování logických důsledků splnitelné množiny předpokladů. Je vidět, že dalšími rezolučními kroky by se v daném případě opakovaně vytvářely klauzule o jediném literálu, které už předtím byly odvozeny. 1.3 REZOLUCE A NEKONEČNÉ MNOŽINY KLAUZULÍ Testování nesplnitelnosti množiny klauzulí je řešitelné rezoluční metodou, pokud je množina klauzulí C konečná. Totéž platí pro množinu libovolných dobře utvořených výrokových formulí, neboť ty lze vždy transformovat do klauzulárního tvaru. Zde bude ukázáno, že aplikovatelnost této metody lze rozšířit i na nekonečné množiny klauzulí, resp. formulí. Definice 1.10 (konečně konsistentních podmnožin) Nechť P je množina výrokových proměnných (konečná nebo nekonečná) a je množina všech formulí, které lze vytvořit z P. Podmnožina S je konečně konsistentní, jsou-li všechny její konečné podmnožiny konsistentní. S je maximální konečně konsistentní podmnožina, je-li konečně konsistentní a navíc pro každou formuli A platí, že buď A S nebo A S. Na základě každé valuace v výrokových proměnných lze zřejmě vytvořit maximální konečně konsistentní množinu formulí S v = {A : I(A[v]) = true}. Věta 1.7 Každá maximální konečně konsistentní množina má jediný model. Důkaz Mějme maximální konečně konsistentní množinu S a určeme valuaci v výrokových proměnných p P tak, že v(p) = true pro p S, pro p P - S v(p) = false. Má-li konečně konsistentní množina S model, pak je jím zřejmě právě v. Tato valuace podle toho, jak byla zavedena, především splňuje všechny atomické formule z S. Navíc, má-li být v modelem S, mělo by platit též I(A[v]) = true, je-li A S. Vytvořme k formuli A množinu Q + všech pozitivních literálů výrokových proměnných vyskytujících se v A a množinu Q - všech negativních literálů výrokových proměnných vyskytujících se v A. Průnik S Q + označme R +, průnik S Q - označme R -. Sjednocení R + R - A je konečná podmnožina S, která je proto konsistentní. Podle způsobu konstrukce je model v určený výše popsanou valuací též modelem R + R -. Ze způsobu zavedení valuace v pak vyplývá, že musí být I(A[v]) = true, je tedy v modelem A. 13

Věta 1.8 (o kompaktnosti) Množina S formulí je konsistentní, právě když jsou všechny její konečné podmnožiny konsistentní. Důkaz 1. Je-li S konsistentní, pak zřejmě model v, který ji splňuje, splňuje též každou její podmnožinu. 2. Pro důkaz v opačném směru je třeba sestrojit maximání konsistentní nadmnožinu obsahující S. Předpokládejme, že P je spočetná množina výrokových proměnných. Podle věty 2.4 (1. díl skript) je množina formulí vytvořených ze spočetné abecedy spočetná množina formulí A 1, A 2,...Definujme induktivně posloupnost podmnožin množiny takto : S 0 = S Jsou-li všechny konečné podmnožiny S n A n konsistentní, je S n+1 = S n A n, jinak S n+1 = S n A n. Je snadné indutivně dokázat, že S n je konečně konsistentní pro všechna n. a) Pro S 0 je to zřejmé. b) Předpokládejme, že S n je konečně konsistentní. Z konstrukce S n+1 vyplývá, že je konečně konsistentní buď S n A n nebo S n A n. v závislosti na tom, zdali model množiny S n splňuje formuli A n nebo formuli A n. Sjednocením množin S n vytvořených uvedenou konstrukcí vznikne maximální množina, jejíž každá konečná podmnožina je konečnou podmnožinou některé z množin S n a proto je konsistentní. Sjednocení je proto maximální konečně konsistentní množinou, jejíž model je též modelem S. 1.4 REZOLUČNÍ DŮKAZY V PREDIKÁTOVÉ LOGICE 1.4.1 Unifikace dvojice atomů Pokud je rezoluční odvozovací pravidlo aplikováno na bázové atomy dvojice klauzulí, je možno tyto atomy pojímat jako výrokové proměnné a všechny vlastnosti rezolučního důkazu výrokové logiky přenést i do logiky predikátové. Problémem však bývá docílení unifikované podoby bázových atomů, na něž má být rezoluční odvozovací pravidlo aplikováno. Aplikace rezolučního principu v predikátové logice totiž zpravidla vyžaduje, jak ukazuje následující příklad, navíc provedení určitých vhodných substitucí termů za proměnné v atributech příslušných predikátů. Oprávněnost takových substitucí vyplývá z univerzálního charakteru všech proměnných vyskytujících se v otevřeném jádru formule, upravené do klauzulárního tvaru. Před použitím rezolučního odvozovacího pravidla je třeba dvojici pozitivního a negativního literálu příslušného atomu ve dvou různých klauzulích vhodnými substitucemi unifikovat, tak aby navzájem si odpovídající termy vyskytující se v atributech predikátu byly shodné. Při důkazu, že q(a) vyplývá z formulí p(a) a p(x) q(x), je potřeba vytvořit instanci p(a) q(a) druhé z formulí, aby bylo možno použít rezoluční odvozovací pravidlo. 14

Obecně lze konstatovat, že žádný algoritmus automatického dokazování vět v rámci formálních systémů predikátové logiky, založených na klauzulárním tvaru formulí, se v podstatě neobejde bez vyřešení problému unifikace univerzálních formulí (vytvoření vhodných instancí univerzálních formulí), která umožní následnou aplikaci příslušného odvozovacího pravidla. Definice 1.11 (unifikace a unifikátoru dvojice atomických formulí) Proces provedení nutných substitucí do atributů atomů téhož predikátu, vyskytujících se ve dvojici formulí za účelem jejich přípravy pro aplikaci příslušného pravidla v daném formálním systému se nazývá unifikace dvojice atomických formulí. Substituce termů {t 1 /s 1... t n /s n }, která způsobí, že se dvojice atomů těchto formulí stanou identickými, se nazývá jejich unifikátorem. Definice 1.12 (složené substituce) Nechť θ = {s 1 /X 1,..., s n /X n } a σ = {t 1 /Y 1,..., t n /Y m } jsou substituce. Potom složením substitucí θ a σ je substituce θ ο σ = { s 1 [σ]/x 1,..., s n [σ]/x n, t 1 /Y 1,..., t n /Y m } Příklad 1.5 Unifikace výrazů vzájemně si odpovídajících atributů s týmž predikátovým symbolem. a) f(a,x,x) a f(y,y,b) b) f(x,y,g(x,a)) a f(r(b),c,u) c) p(f(x), g(y)) a p(f(f(c)), g(z)) a) Funkční symboly obou funkčních výrazů jsou zde shodné, proto se problém unifikace přesouvá dovnitř k atributům obou funkcí. V případě prvního atributu jde o dvojici výrazů a a y. Protože y je proměnná, která dosud nebyla unifikována, je možno unifikovat y = a. V případě druhého atributu je zkoumána vazba x a y. Má-li být x = y a zároveň z prvního atributu y = a, musí proto být x = a. x a b tvoří třetí pár výrazů k unifikaci. Zde nastane pro x = b situace, kdy jsou dvě navzájem různé konstanty a, b, které by podle předcházejících kroků měly být substituovány za x, neunifikovatelné. b) Při unifikaci termů f(x,y,g(x,a)) a f(r(b),c,u) lze postupně substituovat x = r(b) (r(b) je konstantní term), y = c. Nelze však unifikovat u = g(x,a), neboť porovnávané výrazy nemají týž funktor. c) Při unifikaci výrazů f(x) a f(f(c)) prvního z atributů predikátu p možno substituovat x = f(c), kde f(c) je konstantní term. Rovněž unifikace dvojice výrazů g(y) a g(z) druhého argumentu predikátu je problémem řešitelným, a to pomocí rovnosti y = z, neboť jde o funkce s týmž funktorem. Unifikátorem je pak substituce {f(c)/x, y/y, y/z}. 15

Unifikace představuje přípravu atomických formulí pro aplikaci pravidla, při níž vytvoření příslušných instancí formulí - instanciace je závěrečným krokem. Předpokladem unifikace atomů formulí je shodnost jejich predikátových symbolů. Unifikace se pak týká jejich vzájemně si odpovídajících atributů. 1.4.2 Množina neshod Jde o metodu, která převádí problém unifikace atomů na problém řešení soustavy rovností mezi odpovídajícími si termy v atributech těchto atomů. V předcházejícím příkladě jde o soustavy a = y x = r(b) x = f(c) x = y y = c y = z x = b g(x,a) = u, z nichž první dvě zjevně nemají řešení. Algoritmus řešení množiny neshod postupně vytváří soustavy rovnic pro unifikaci výrazů X,Y tak, že po každém návratu znova pracuje s levou a pravou stranou jako s výrazy X a Y určenými pro unifikaci. Nalezení unifikantů, tj. provedení substitucí, které unifikují dva atomy v páru formulí, na něž má být aplikováno příslušné odvozovací pravidlo, není vždy jednoduché. Následující příklad ilustruje problémy, které mohou při substitucích nastat. Např. při unifikaci atomů rodiče(y,z,x) a rodiče(x,y,z) obsažených ve dvou formulích určených pro aplikaci pravidla by mohla být hledaným unifikátorem substituce {y/x, z/y, x/z}. Kdyby se substituce prováděly postupně, docházelo by k nežádoucímu efektu přepisů proměnných jinými proměnnými. Aby v tomto a podobných případech nedocházelo k nežádoucím efektům, postupuje se zpravidla tak, že se klauzule před unifikací standardizují, tj. zavádějí se v nich za proměnné vyskytující se v obou formulích, jiné ve formulích se dosud nevyskytující pomocné proměnné (zde např {x1/x} apod.). Příklad 1.6 Jsou dány substituce θ = {f(x)/y, b/z} a σ = {c/x}. Potom platí θ ο σ = { f(c)/y, b/z}. 1.4.3 Nejobecnější unifikátor Z řešení předcházejících příkladů je vidět, že zpravidla existuje více než jedna možnost, jak atomy daných formulí unifikovat. Tuto skutečnost ilustruje i následující příklad. 16

Příklad 1.7 Unifikace dvojice atomů r(x,y) a r(z, b). Jako unifikátor dané dvojice zde může stejně dobře posloužit substituce θ 1 = {a/x, a/z, b/y} jako substituce θ 2 = {b/x, b/z, b/y} a jako celá řada dalších substitucí. Jestliže je však za unifikátor zvolena substituce nové proměnné t θ = {t/x, t/z, b/y}, je pak možno všechny další unifikátory získat jako složenou substituci θ ο σ i. V prvním z uvedených případů je pak σ 1 = {a/t}, ve druhém případě je σ 2 = {b/t}. Řešení předcházejících dvou příkladů ukázalo za prvé, že jde-li o unifikaci, v níž mají být proměnné nahrazeny jinými proměnnými, se zpravidla neobejde bez pomocných substitucí nových proměnných. Za druhé bylo možno si uvědomit, že některé unifikátory jsou obecnější než jiné unifikátory a že proto má smysl uvažovat o nejobecnějším unifikátoru, tj. takovém unifikátoru, z něhož lze všechny ostatní unifikátory odvodit složením s dalšími substitucemi. Definice 1.13 (nejobecnějšího unifikátoru dvojice formulí) Nechť σ a θ jsou unifikátory dvojice formulí. Unifikátor θ dvojice formulí je obecnější než unifikátor σ téže dvojice formulí jestliže existuje substituce λ taková, že platí θ ο λ = σ. Unifikátor θ je nejobecnějším unifikátorem dané dvojice formulí, jestliže pro každý jejich unifikátor γ existuje substituce λ taková, že platí θ ο λ = γ. Při automatizovaném odvozování ve formálních systémech logiky prvního řádu je třeba mít k dispozici algoritmus, který pro dvojici atomů téhož predikátu připadajících v úvahu pro aplikaci odvozovacího pravidla na dvojici formulí sestrojí jejich nejobecnější unifikátor. Mezi efektivními unifikačními algoritmy zaujímá významné místo algoritmus řešení množiny neshod. Definice 1.14 (řešení množiny neshod) Množina neshod je vyřešena, má-li tyto vlastnosti : 1. Všechny rovnice mají tvar x i = t i 17

2. Pro každou proměnnou vyskytující se na levé straně rovnice platí, že se nesmí vyskytovat nikde jinde v množině neshod. 3. Řešením množiny neshod je substituce {t 1 /x 1,..., t n /x n } (t 1,..., t n jsou termy), která je nejobecnějším unifikátorem. Unifikační algoritmus pro danou množiny neshod : 1. Je-li x proměnná a t není proměnná, transformace rovnice typu t = x, na x = t. 2. Vyřazení rovnice typu x = x. 3. Jsou-li v rovnici t = t oba termy t a t funkce, kontrola, zdali mají společný funktor a stejný počet atributů. Jestliže ano, zařazení do soustavy rovností příslušných argumentů a návrat. Jestliže ne, výrazy jsou neunifikovatelné. 4. Vyskytuje-li se proměnná x levé strany rovnice x = t ještě jinde v množině neshod, pak : jestliže se x vyskytuje v t, množina není unifikovatelná, jinak se provede transformace náhradou všech ostatních výskytů proměnné x termem t. Příklad 1.8 Aplikace unifikačního algoritmu na množinu neshod g(y) = x f(x,h(x),y) = f(g(z),w,z) Aplikací 1. kroku algoritmu na první rovnici a aplikací 3. kroku algoritmu na druhou rovnici dané množiny je vytvořena nová množina neshod : x = g(y) x = g(z) h(x) = w y = z Náhrada opakovaně se vyskytující proměnné x podle kroku 4. g(z) = g(y) x = g(z) h(g(z)) = w y = z Aplikace kroku 3. na první rovnici : z = y x = g(z) h(g(z)) = w y = z 18

Náhrada opakovaného výskytu y proměnnou z podle 4. a následné vyřazení rovnice z = z : x = g(z) h(g(z)) = w y = z Transformace druhé rovnice podle 1 : x = g(z) w = h(g(z)) y = z Nejobecnějším unifikátorem je pak substituce {g(z)/x, h(g(z))/w, z/y} 1.5 PŘÍKLADY PREDIKÁTOVÝCH REZOLUČNÍCH DŮKAZŮ Příklad 1.9 Nepřímý rezoluční důkaz závěru vyplývajícího z daných předpokladů : Předpoklady : P1 : Kdo má rád zvířata, nenosí kožešiny. P2 : Kdo chce držet krok s módou, nosí kožešiny. P3 : BB má ráda zvířata. Závěr : BB za těchto předpokladů nechce držet krok s módou. Předpoklad a závěr dedukce formulované v jazyce L 1 : x(má_rád(x,zvířata) nosí(x,kožešiny)), x(módní(x) nosí(x,kožešiny)), má_rád(bb,zvířata) módní(bb) Převod predikátových formulí do klauzulárního tvaru : Predikátová formule : Klauzule : P1 : x (má_rád(x,zvířata) nosí(x,kožešiny)) má_rád(x,zvířata) nosí(x,kožešiny) P2 : x (módní(x) nosí(x, kožešiny)) módní(x) nosí(x, kožešiny) P3 : má_rád(bb, zvířata) má_rád(bb, zvířata) závěr : módní(bb) módní(bb) 1. má_rád(x, zvířata) nosí(x, kožešiny) P1 2. módní(x) nosí(x, kožešiny) P2 19

3. má_rád(x, zvířata) módní(x) rezoluce na 1 a 2 4. má_rád(bb, zvířata) P3 5. má_rád(x, zvířata) módní(x) unifikace 3 s 4 6. módní(x) rezoluce na 4 a 5 7. módní(bb) negace závěru 8. módní(bb) unifikace 6 s 7 9. spor - rezoluce na 5 a 9 Příklad 1.10 Nepřímý rezoluční důkaz Mooreova problému tří bloků : Problém se týká světa tří bloků a, b, c. a leží na b, b na c. a je zelený, c není zelený a o barvě b není nic známo. Je třeba ukázat, že zelený blok leží na bloku, který není zelený. 1. na(a,b) 2. na(b,c) 3. zelený(a) 4. zelený(c) 5. (zelený (x) & na(x,y) & zelený(y)) popřené tvrzení zelený (x) na(x,y) zelený(y) převedeno na klauzuli 6. zelený (a) na(a,y) zelený(y) unifikace 5. s 3. 7. na(a,y) zelený(y) rezoluce 6.a 3. 8. na(a,b) zelený(b) unifikace 7. s 1. 9. zelený(b) rezoluce 1. a 8. 10. zelený (b) na(b,y) zelený(y) unifikace 5. s 9. 11. na(b,y) zelený(y) rezoluce 9.a 10. 12. na(b,c) zelený(c) unifikace 11. s 2. 13. zelený(c) rezoluce na 2. a 12. 14. spor - rezoluce na 4. a 13. Úkol 1.3 Jsou dány speciální axiómy f(x) g(x,y) h(y) h(x) f(x) g(x,y) h(x) g(y,x) Odvoďte pomocí vhodných unifikací f(y) g(x,y) f(x) S1 S2 S3 20

Obecně je pro každý systém formální dedukce třeba přesně stanovit jazyk, jímž uvažovaný systém disponuje, množinu předpokladů (axiómů), z nichž důkazy vycházejí, a odvozovací pravidla pro formální dokazování. Formální systém by dále měl být sémanticky korektní, tj. co je v něm dokázáno by mělo platit, a sémanticky úplný, tj. ke každé platné formuli by měl existovat v systému důkaz. Gramatika jazyka L C rezolučního formálního systému výrokové logiky vychází z výrokové formule v klauzulární (konjunktivní normální) formě, v níž jsou základními konstrukčními prvky literály výrokových proměnných, klauzule jsou pak disjunkcemi literálů výrokových proměnných. Pravidlo Z klauzulí l C 1 a l C 2 odvoď klauzuli C 1 C 2., kde l, l, tvoří komplementární pár literálů téže výrokové proměnné, je rezoluční odvozovací pravidlo. Rezoluční důkaz je reprezentován rezolučním stromem. Rezoluční popření spočívá v odvození sporu (prázdné klauzule) ze sporných (nekonsistentních) předpokladů. Rezoluční popření je sémanticky korektní a úplný formální postup výrokové logiky. Aplikace rezolučního principu v predikátové logice zpravidla vyžaduje provedení určitých vhodných substitucí termů za proměnné v atributech příslušných predikátů za účelem docílení unifikované podoby bázových atomů, na jejichž komplementární pár má být rezoluční odvozovací pravidlo aplikováno. Oprávněnost takových substitucí vyplývá z univerzálního charakteru všech proměnných vyskytujících se v otevřeném jádru formule, upravené do klauzulárního tvaru. Unifikace se zpravidla provádí na základě množiny neshod atributů příslušných atomů, která je řešena některým z vhodných unifikačních algoritmů. 21

2 TABLOVÉ FORMÁLNÍ DŮKAZY V této lekci se budeme v návaznosti předcházející předmět Logika pro učitele 1 věnovat blíže tablovým důkazům ve výrokové i predikátové logice. Pro definici sémantického tabla výrokové formule, která je zde uvedena, je charakteristické její úplné odpoutání od sémantiky. Jsou zde příslušnými tabulkami formálně definována α-pravidla a β-pravidla odpovídající příslušným pravidlům výrokové logiky Je zde též dokázána sémantická korektnost a úplnost výrokového nepřímého tablového důkazu. V této lekci bude v návaznosti na lekci předcházející definováno sémantické tablo predikátové formule. Jsou zde příslušnými tabulkami formálně definována α-pravidla a β-pravidla odpovídající příslušným pravidlům výrokové logiky a další dvojice pravidel pro formule s kvantifikátory, a to γ-pravidla a δ-pravidla. Je zde též dokázána sémantická korektnost a úplnost nepřímého predikátového tablového důkazu. Prostudování kapitoly by mělo trvat zhruba 1,5 hodiny. Prostudování kapitoly by vám mělo trvat zhruba 2 hodiny. 2.1 TABLOVÉ DŮKAZY VE VÝROKOVÉ LOGICE 2.1.1 Jazyk tablových důkazů výrokové logiky Tablové formální důkazy ve výrokové logice probíhají prostřednictvím svých pravidel, vyžadujících především exaktně definovaný jazyk. Ten bude zaveden v následující definici gramatiky jazyka L G Backus-Naurovou formou. Definice 2.1(gramatiky jazyka L G sémantického tabla ) < formule > ::= < výroková proměnná > ::= (formule) ::= (< formule >)< binární logická spojka >(< formule >) < výroková proměnná > ::= a / b / c /... < binární logická spojka > ::= & / / / 22

2.1.2 Sémantické tablo formule výrokové logiky Přetváření formule do jejího disjunktivního normálního tvaru postupnými úpravami s využitím vhodných ekvivalencí formulí představuje konečný proces, proto též konstrukce sémantického tabla výrokových formulí podle následující konstruktivní definice je konečná. Definice 2.2 (sémantického tabla formule jazyka L G výrokové logiky) Sémantické tablo formule A jazyka L G výrokové logiky je konečný ohodnocený binární strom, jehož všechny uzly jsou ohodnoceny seznamy formulí tak, že platí : 1) Kořen je ohodnocen formulí A. 1) Listy jsou ohodnoceny seznamy literálů výrokových proměnných, vyskytujících se ve formuli A. 2) K uzlu, který není listem, se vytvoří uzly následující úrovně vždy na základě jediné vybrané formule ze seznamu v jeho návěští, která není literálem výrokové proměnné, podle těchto pravidel : a) Jestliže je uzel ohodnocen seznamem formulí X 1, X 2,...,α,..,X n obsahující jako člen formuli typu α (tab. 2.1 α - pravidel, kde A, A 1, A 2 jsou formule) a jeli pro vytvoření následující úrovně stromu vybrána právě tato formule α, pak jediný uzel bezprostředně následující je ohodnocen seznamem obsahujícím formule α 1, α 2. α - pravidla : X 1, X 2,..., α 1, α 2,...,X n α α 1 α 2 A A A 1 & A 2 A 1 A 2 ( A 1 A 2 ) A 1 A 2 ( A 1 A 2 ) A 1 A 2 ( A 1 A 2 ) A 1 A 2 A 1 A 2 A 1 A 2 A 1 A 2 tab. 2.1 b) Jestliže je uzel ohodnocen seznamem formulí X 1, X 2,...,β,...,X n obsahující jako člen formuli typu β (tab. 2.2 β - pravidel, kde B 1, B 2 jsou formule) a je-li pro vytvoření následující úrovně stromu vybrána právě tato formule β, pak dvojice uzlů bezprostředně následujících je ohodnocena seznamy 23

X 1, X 2,...,β 1,...,X n a X 1, X 2,...,β 2,...,X n obsahujícími po řadě formule β 1, β 2. β - pravidla : β β 1 β 2 B 1 B 2 B 1 B 2 ( B 1 & B 2 ) B 1 B 2 B 1 B 2 B 1 B 2 B 1 B 2 B 1 B 2 ( B 1 B 2 ) ( B 1 B 2 ) ( B 1 B 2 ) tab. 2.2 Definice 2.3 (uzavřenosti a otevřenosti větve sémantického tabla formule jazyka L G ) Větev sémantického tabla formule A jazyka L G výrokové logiky je uzavřenou větví, jestliže se v seznamu literálů výrokových proměnných formule A, tvořící návěští jejího listu, vyskytuje komplementární pár literálů některé výrokové proměnné formule A. V opačném případě jde o otevřenou větev. Definice 2.4 (uzavřenosti a otevřenosti sémantického tabla formule jazyka L G ) Sémantické tablo je uzavřené tablo, jsou-li všechny jeho větve uzavřené. V opačném případě jde o otevřené tablo. Jak již bylo konstatováno, jazyk L G nezahrnuje symboly pro logické konstanty true a false. Důkazy formulí, v nichž se tyto logické konstanty vyskytují, je tak potřeba provádět s využitím formulí ekvivalentních. Sémantické tablo formule true lze pak nahradit tablem ekvivalentní formule p p (obr. 2.1 a)) s dvěma otevřenými větvemi označenými kroužky, sémantické tablo formule false uzavřeným tablem ekvivalentní formule p & p (obr. 2.1 b)), kde p je libovolně zvolená výroková proměnná. p p p & p p p a) b) obr. 2.1 Věta 2.1 tablo. Ke každé formuli jazyka L G výrokové logiky existuje její odpovídající sémantické 24

Důkaz indukcí podle složitosti formule : 1. Pro atomickou formuli, která je symbolem pro výrokovou proměnnou, sestává sémantické tablo pouze z kořene, jehož návěštím je právě tato atomická formule. 2. Předpokládejme existenci sémantického tabla pro formule X a Y. Tabulky α - pravidel a β - pravidel obsahují všechny typy formulí vytvořených z X a Y základními výrokovými spojkami, včetně jejich negací. Odpovídajícími pravidly je pak určeno, jakým způsobem se konstruuje návěští uzlu následujícího uzel s výskytem (ve svém seznamu) formulí X & Y, X Y, X Y, X Y, resp. jejich negací (X & Y), (X Y), (X Y), (X Y). Pro přepracování výskytu negace atomické formule vyskytující se v seznamu předpis v obou tabulkách chybí, neboť ta je již v cílovém tvaru - literálem výrokové proměnné. Je zřejmé, že sémantické tablo formule není předcházející definicí jednoznačně určeno. Při jeho konstrukci totiž záleží na volbě pořadí podformulí seznamu, na něž byla pravidla postupně aplikována. 2.1.3 Sémantická korektnost a úplnost nepřímých tablových důkazů Je třeba dokázat, že konstrukce uzavřeného sémantického tabla formule A podle formálních pravidel je právě důkazem nesplnitelnosti formule A, tj. logické platnosti formule A jazyka L G. Je tedy třeba dokázat sémantickou korektnost nepřímého tablového důkazu (obr. 2.2), tj. tvrzení, že každá formule, pro jejíž negaci byl sestrojen nějaký tablový formální důkaz nesplnitelnosti, je logicky platná. Sémanticky korektní nepřímý tablový důkaz logického důsledku množiny formulí představuje významný nástroj formální dedukce v umělé inteligenci. sémantické hledisko formální hledisko sémantická úplnost nepřímého tablového důkazu logicky platné formule jazyka L G, formule jejichž negaci přísluší jazyka L G sémantická korektnost nepřímého tablového důkazu uzavřené sémantické tablo obr. 2.2 Aby bylo možno vždy rozhodovat logickou platnost dobře utvořené formule, resp. logický důsledek množiny formulí, pomocí formálního důkazu, je třeba dokázat též 25

sémantickou úplnost tablového formálního postupu dokazování, tj., že (obr. 2.2) ke každé logicky platné formuli A existuje uzavřené sémantické tablo její negace A. V případě logického důsledku pak jde o existenci uzavřeného sémantického tabla množiny formulí sestavené z předpokladů a negace závěru. Věta 2.2 Výroková formule A jazyka L G je logicky platná, právě když se některé sémantické tablo její negace uzavře. Důkaz Podle věty 3.1 textu Logika pro učitele 1 je formule A jazyka L G logicky platná, právě když je její negace A nesplnitelná. Je třeba dokázat, že se sémantické tablo uzavře, právě když je A nesplnitelná. Jde tedy o důkaz korektnosti a úplnosti nepřímého formálního postupu dokazování nesplnitelnosti formulí tablovou metodou. 1) Důkaz sémantické korektnosti nepřímé tablové metody : Důkaz sémantické korektnosti tablové metody dokazování nesplnitelnosti formule A je v podstatě důkazem korektnosti jednotlivých odvozovacích pravidel, tj. α - pravidel a β - pravidel. Indukcí podle hloubky podstromu sémantického tabla dané formule bude dokázáno : Jestliže se podstrom hloubky h stromu sémantického tabla s kořenem úrovně n uzavře, pak je množina formulí U(n), která je návěštím uzlu n, nesplnitelná. 1. Je-li h = 0, jde o list tabla. Jestliže se tablo uzavře, musí množina U(0) obsahovat komplementární pár literálů, což znamená, že je nesplnitelná. 2. Předpokládejme do hloubky h-1 platnost indukčního předpokladu : jestliže se podstrom hloubky k < h uzavře, pak seznam formulí, který je návěštím kořene tohoto podstromu, je nesplnitelný. Uvažujme nyní podstrom stromu hloubky h sémantického tabla formule, jehož kořenem je uzel n. Pro vytvoření návěští následujících uzlů je třeba použít některého z α - pravidel nebo β - pravidel. Přitom použití α - pravidla vyžaduje, aby seznam formulí návěští uzlu n U α obsahoval formuli α některého z tvarů uvedených v tab. 2.1, kde U je množina (event. prázdná) formulí. Podobně možnost použití β - pravidla vyžaduje výskyt některé z formulí β z tab. 2.2 v seznamu formulí uzlu n U β a) Nechť jde v případě α - pravidel např. o pravidlo pro spojku &. Návěští uzlu n má přitom např. tvar U(n) = U {A 1 & A 2 }. Návěští jediného následníka - uzlu n následující úrovně pak bude mít podle příslušného α - pravidla tvar U(n ) = U {A 1, A 2 }. 26

Protože hloubka uzlu n je h - 1, platí pro ni indukční předpoklad. Tedy, jestliže se podstrom uzlu n uzavře, pak je U(n ) = U {A 1, A 2 } nesplnitelná. Předpokládejme, že jde o případ, kdy se podstrom uzlu n uzavře. Protože n je jediným následníkem n, uzavře se i podstrom uzlu n. Je třeba dokázat, že je v tom případě nesplnitelná i U(n) = U {A 1 & A 2 }. Předpokládejme, že existuje taková valuace výrokových proměnných, při níž je U {A 1 & A 2 } splnitelná. Avšak valuace splňující konjunkci A 1 & A 2 musí též splňovat každý její konjunkt, tzn., že musí též splňovat U {A 1, A 2 }, což je ve sporu s předpokladem. Podobný důkaz lze též provést i pro další způsoby vytvoření uzlu n z uzlu n pomocí zbývajících α - pravidel. b) Nechť jde v případě β - pravidel např. o pravidlo pro spojku. Návěští uzlu n má přitom tvar U(n) = U {A 1 A 2 }. Návěští dvou následníkú - uzlů n a n následující úrovně pak budou mít podle příslušného β - pravidla tvar U(n ) = U {B 1 } a U(n ) = U {B 2 }. Protože hloubka obou uzlů n i n je h - 1, platí pro ně indukční předpoklad. Tedy, jestliže se podstromy uzlů n uzavřou, pak jsou U(n ) i U(n ) nesplnitelné. Předpokládejme, že jde o případ, kdy se podstromy uzlů n i n uzavřou a tedy se uzavře i podstrom uzlu n. Je třeba dokázat, že je v tom případě nesplnitelná i U(n) = U {B 1 B 2 }. Předpokládejme, že existuje taková valuace výrokových proměnných, při níž je U {B 1 B 2 } splnitelná. Avšak valuace splňující disjunkci B 1 B 2 musí též splňovat alespoň jeden její disjunkt, tzn., že musí též splňovat U {B 1 }nebo U {B 1 }, což je ve sporu s předpokladem. Podobný důkaz lze též provést i pro další způsoby vytvoření uzlů n a n z uzlu n pomocí zbývajících β - pravidel. 2) Důkaz sémantické úplnosti tablové metody : Jde-li o důkaz úplnosti rozhodovací tablové metody, je třeba dokázat tuto větu : Je-li formule A jazyka L G nesplnitelná, pak se některé její sémantické tablo uzavře. Zde bude dokázána ekvivalentní implikace, tedy věta Jestliže libovolné sémantické tablo formule obsahuje nějakou otevřenou větev, pak A je splnitelná. Aby bylo možno vycházet při důkazu úplnosti z vlastností celé otevřené větve tabla, je třeba zavést pojem Hintikkovy množiny formulí. Definice 2.5 (Hintikkovy množiny formulí výrokové logiky) Množina formulí U jazyka L G se nazývá Hintikkova množina, jestliže platí (1) Je-li p výroková proměnná, je buď p U nebo p U. 27

(2) Je-li A U α-formulí s komponentami A 1, A 2, pak též A 1 U, A 2 U. (3) Je-li B U β-formulí s komponentami B 1, B 2, pak je buď B 1 U nebo B 2 U. Věta 2.3 Nechť V je otevřená větev sémantického tabla formule A jazyka L G. Potom množina n U = U(n), i = 1 která je sjednocením seznamů formulí všech návěští uzlů větve V, je Hintikkova množina. Důkaz Platnost podmínek (2) a (3) z definice 2.5 vyplývá z postupu, jakým se stanoví na základě návěští uzlu k návěští uzlu následujícího k. Pro literály p, p výrokové proměnné neexistuje mezi α-pravidly a β-pravidly žádný předpis jejich dekompozice. Proto je buď p U nebo p U (nikoliv oba literály, neboť větev je otevřená). Věta 2.4 (Hintikkova) Je-li U Hintikkova množina, pak U je splnitelná. Důkaz Pro Hintikkovu množinu formulí U definujeme tuto valuaci výrokových proměnných p 1,p 2,...,p m : Je-li p U, pak v(p) = true, je-li p U, pak v(p) = false. Protože z páru p, p se v U vyskytuje jen jeden literál, je pravdivostní hodnota proměnné p jednoznačně dána. Je třeba ukázat, že pro každou formuli A U je při zavedeném způsobu valuace výrokových proměnných I(A) = true. Důkaz indukcí podle složitosti formule : 1. je-li A = p, pak I(A) = v(p) = true, je-li A = p, pak I(A) = I( p) = false = true. 2. a) je-li A α-formulí složitosti n zkomponovanou z A 1, A 2 konjunkcí nebo ekvivalentním logickým spojením, pak podle (2) je A 1 U a A 2 U, přičemž podle indukčního předpokladu platí pro formule A 1, A 2 složitosti n-1 I(A 1 ) = true a I(A 2 ) = true. b) Je-li A β-formulí složitosti n zkomponovanou z A 1, A 2 disjunkcí nebo ekvivalentním logickým spojením, pak podle (3) je buď A 1 U nebo A 2 U, přičemž pro každou z nich platí indukční předpoklad I(A 1 ) = true a I(A 2 ) = true. 28