Rachunek zdań. 2.1 Podstawowe pojęcia



Podobne dokumenty
Adam Meissner.

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Klasyczny rachunek predykatów

Rachunek predykatów. Formuły rachunku predykatów. Plan wykładu. Relacje i predykaty - przykłady. Relacje i predykaty

LOGIKA I TEORIA ZBIORÓW

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

1. Składnia. Logika obliczeniowa - zadania 1 SKŁADNIA Teoria

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Semantyka rachunku predykatów

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

Matematyka ETId Elementy logiki

Rezolucja w rachunku predykatów. Przedrostkowa koniunkcyjna postać normalna. Formu ly ustalone. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Interpretacja Niech U będzie zbiorem formuł takim, że zbiór {p 1,..., p k } jest zbiorem wszystkich symboli predykatywnych, {f 1,..., f l } jest zbior

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów

Predykat. Matematyka Dyskretna, Podstawy Logiki i Teorii Mnogości Barbara Głut

Podstawowe Pojęcia. Semantyczne KRZ

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

Składnia rachunku predykatów pierwszego rzędu

Paradygmaty dowodzenia

Elementy logiki matematycznej

Drzewa Semantyczne w KRZ

Rachunek zdań. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Metoda Tablic Semantycznych

Przykładowe dowody formuł rachunku kwantyfikatorów w systemie tabel semantycznych

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

LOGIKA Klasyczny Rachunek Zdań

Logika Matematyczna (10)

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP

III rok kognitywistyki UAM,

Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu

Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

III rok kognitywistyki UAM,

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne

Logika pragmatyczna. Logika pragmatyczna. Kontakt: Zaliczenie:

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

Michał Lipnicki (UAM) Logika 11 stycznia / 20

Podstawy Sztucznej Inteligencji (PSZT)

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Język rachunku predykatów Formuły rachunku predykatów Formuły spełnialne i prawdziwe Dowody założeniowe. 1 Zmienne x, y, z...

Rachunek logiczny. 1. Język rachunku logicznego.

Logika pragmatyczna dla inżynierów

Logika formalna wprowadzenie. Ponieważ punkty 10.i 12. nie były omawiane na zajęciach, dlatego można je przeczytać fakultatywnie.

Wstęp do logiki. Klasyczny Rachunek Zdań II

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Rachunek zdań i predykatów

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Rachunek zdań. Zdanie w sensie logicznym jest to wyraŝenie jednoznacznie stwierdzające, na gruncie reguł danego języka, iŝ tak a

Elementy logiki i teorii mnogości

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki. Wykład 14. Wprowadzenie do logiki intuicjonistycznej

Zagadnienia podstawowe dotyczące metod formalnych w informatyce

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

Struktury formalne, czyli elementy Teorii Modeli

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Wykład 11b. System aksjomatyczny Klasycznego Rachunku Predykatów. Aksjomaty i reguły inferencyjne

Wstęp do logiki. Klasyczny Rachunek Predykatów I

Logika. Michał Lipnicki. 15 stycznia Zakład Logiki Stosowanej UAM. Michał Lipnicki () Logika 15 stycznia / 37

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Uzgadnianie formuł rachunku predykatów

Definicja: alfabetem. słowem długością słowa

PODSTAWY SZTUCZNEJ INTELIGENCJI

Wstęp do Techniki Cyfrowej... Algebra Boole a

Wprowadzenie do Sztucznej Inteligencji

Kultura logiczna Klasyczny rachunek zdań 2/2

1. Elementy logiki matematycznej, rachunek zdań, funkcje zdaniowe, metody dowodzenia, rachunek predykatów

1.2.3 Funkcjonalna pełność

1 Logika Zbiory Pewnik wyboru Funkcje Moce zbiorów Relacje... 14

Logika Matematyczna (2,3)

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Elementy logiki Klasyczny rachunek predykatów

Schematy Piramid Logicznych

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Problem. Uzgadnianie wyrażeń rachunku predykatów. Instancja wyrażenia. Podstawienie termu za zmienną. Joanna Józefowska

Automatyczne dowodzenie twierdzeń metodą rezolucji

Kultura logicznego myślenia

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Egzamin z logiki i teorii mnogości, rozwiązania zadań

Wprowadzenie do Sztucznej Inteligencji

W pewnym mieście jeden z jej mieszkańców goli wszystkich tych i tylko tych jej mieszkańców, którzy nie golą się

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Adam Meissner SZTUCZNA INTELIGENCJA

Wstęp do logiki. Klasyczny Rachunek Zdań III

Logika I. Wykład 4. Semantyka Klasycznego Rachunku Zdań

Programowanie deklaratywne

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Logika Matematyczna. Zadania Egzaminacyjne, 2007

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Wprowadzenie do Sztucznej

Jako symbole niedeklaratywne wprowadzamy: <argument>, <argumenty>, <atom>, <form>. Regułami produkcji języka są:

LOGIKA Dedukcja Naturalna

ĆWICZENIE 2. DEF. Mówimy, że formuła A wynika logicznie z formuł wartościowanie w, takie że w A. A,, A w KRZ, jeżeli nie istnieje

Transkrypt:

Rachunek zdań 2.1 Podstawowe pojęcia 2.1.1. Rachunek zdań to teoria zajmująca się formami wnioskowania zbudowanymi wyłącznie ze zmiennych zdaniowych oraz funktorów prawdziwościowych, będących pewnego rodzaju spójnikami zdaniowymi. Teoria ta stanowi zakładaną przez inne teorie logiczne - część logiki formalnej. 2.1.2. Proces formalizacji ogólnie pojmowanej teorii rozpoczyna się od formalizacji języka teorii. W tym celu ustala się zbiór symboli nazywanych alfabetem języka formalnego lub znakami pierwotnymi teorii zbiór reguł konstrukcji, które pozwalają w ściśle określony sposób konstruować ze znaków pierwotnych tzw. formuły, czyli wyraŝenia, którymi wolno w danej teorii operować. Wśród znaków pierwotnych wyróŝnia się: (a) stałe indywiduowe (w skrócie: stałe), czyli symbole oznaczające wszystkie pojęcia pierwotne formalizowanej teorii (b) zmienne indywiduowe (w skrócie: zmienne), czyli symbole oznaczające obiekty, którymi zajmuje się dana teoria (c) symbole funktorów zdaniotwórczych (koniunkcji, alternatywy,...) (d) nawiasy i przecinki, czyli symbole graficzne stosowane dla celów przejrzystego zapisywania i jednoznacznego odczytywania formuł. Z wymienionych w punktach (a), (b) i (d) znaków pierwotnych tworzy się tzw. formuły atomowe, które odpowiadają najprostszym funkcjom zdaniowym danej teorii. Z formuł atomowych tworzy się stosując znaki wymienione w punkcie (c) oraz reguły konstrukcji wszystkie formuły języka formalnego. 2.1.3. Konstruując język formalny nie odwołujemy się do jakiejkolwiek interpretacji jego symboli ani formuł. A skoro nie wymaga on rozumienia, moŝe być w pełni przyswojony przez maszynę (o ile alfabet języka jest skończony). Ujmując rzecz inaczej, język formalny moŝna utoŝsamić ze zbiorem jego dobrze zbudowanych formuł (zwanych w skrócie formułami). JeŜeli zbiór wszystkich formuł języka formalnego L jest identyczny ze zbiorem formuł języka formalnego L, to L jest tym samym językiem formalnym, co L ; w przeciwnym wypadku są to róŝne języki. 2.1.3.1. Formuła jest przedmiotem abstrakcyjnym. Egzemplarzem formuły jest znak lub ciąg znaków. Zbiór wszystkich dobrze zbudowanych formuł pewnego języka formalnego ustalony zostaje na mocy decyzji twórcy tego języka, który po prostu informuje, jakie przedmioty są formułami tego języka. Czyni to zazwyczaj przez podanie zbioru symboli (a więc alfabetu tego języka) oraz zbioru reguł konstrukcji, ustalających, które ciągi symboli naleŝących do alfabetu są dobrze zbudowanymi formułami tego języka.

Obydwa te zbiory muszą być określone bez jakiegokolwiek odwoływania się do interpretacji. W przeciwnym wypadku język nie jest językiem formalnym. Symbole podobnie jak formuły są przedmiotami abstrakcyjnymi. Egzemplarzem symbolu jest znak lub ciąg znaków. 2.1.3.2. Przykład. Język J określony jest jak następuje: Alfabet: 5 7; Formuły: KaŜdy skończony ciąg symboli z alfabetu zaczynający się symbolem 5 jest formułą. Przykłady formuł: 5 5 7; 5 7777. Natomiast 777 nie jest formułą. 2.1.3.3. Przykład. Język X określony jest jak następuje: Alfabet: a b c d e f g; Formuły: KaŜdy skończony ciąg symboli z alfabetu będący słowem polskim jest formułą. Nie jest to język formalny, gdyŝ definicja formuły w X odwołuje się w istocie do znaczenia, skoro słowem polskim jest tylko to co ma znaczenie z języku polskim. 2.1.4. Mając dany język formalny (nazywany teŝ językiem przedmiotowym) moŝemy (a) podać aparat dedukcyjny dla tego języka, oraz/lub (b) zdefiniować pojęcie interpretacji (semantyki) języka. W pierwszym przypadku znajdujemy się na gruncie teorii dowodu, w drugim na gruncie teorii modeli. 2.1.4.1. Aparat dedukcyjny tworzony jest przez wyodrębnienie ze zbioru formuł języka przedmiotowego pewnego podzbioru nazywanego aksjomatami, oraz przez określenie reguł wnioskowania (nazywanymi teŝ regułami inferencji lub dowodzenia), które pozwalają wyprowadzać jedne formuły z innych. Reguły wnioskowania wyznaczają relację bezpośredniej konsekwencji. Aparat dedukcyjny określany jest bez odwoływania się do jakiejkolwiek interpretacji języka. MoŜe się on składać z aksjomatów i reguł wnioskowania lub tylko z aksjomatów, lub tylko z reguł dowodzenia. Język formalny wraz z aparatem dedukcyjnym tworzą system formalny (teorię). Podstawowymi pojęciami teorii dowodu są pojęcia: dowodu formalnego, twierdzenia formalnego, derywacji formalnej, oraz konsekwencji syntaktycznej. Przykład. Dla języka J określonego w 2.1.3.2 określmy regułę inferencji w następujący sposób: KaŜda formuła w J, której ostatnimi dwoma symbolami są kolejno 5 i 7 jest bezpośrednią konsekwencją w J dowolnej formuły w J, której 2

pierwszymi symbolami są 5 i 7. Nic poza tym nie jest bezpośrednią konsekwencją w J Ŝadnej formuły. (a) 5 5 7 jest bezpośrednia konsekwencją w J z formuły 5777 (b) 57 jest bezpośrednia konsekwencją w J z formuły 57 (c) 5775 nie jest bezpośrednią konsekwencją w J z formuły 5775 (kończy się 75, a nie 57) (d) 75775 nie jest bezpośrednią konsekwencją w J z formuły 57757 (nie jest bowiem formułą w J) 2.1.4.b) Problemami interpretacji języków formalnych, a więc problemami przypisywania znaczeń symbolom i formułom tych języków zajmuje się teoria modeli, nazywana teŝ semantyką logiczną. Do podstawowych pojęć tej teorii naleŝą pojęcia: prawdziwości dla danej interpretacji, poprawności logicznej oraz konsekwencji semantycznej. Przykład. Jedną z moŝliwych interpretacji jest przypisanie znakowi 5 tego samego znaczenia, które ma dziesiętna cyfra 0, a znakowi 7 znaczenia, które ma cyfra 1. Wtedy formuła 575 znaczyłaby tyle, co 010 w systemie dziesiętnym. Zinterpretowana formuła nie musi być zdaniem w sensie logicznym. MoŜe ona być jak wyŝej nazwą czegoś. 2.1.5. Teorię, której przedmiotem zainteresowania są systemy formalne oraz ich interpretacje nazywamy metamatyką. UŜywany na jej gruncie język, słuŝący do opisu języka formalnego, nosi nazwę metajęzyka (w naszym przypadku jest to język polski wzbogacony o pewne sztuczne symbole). Do najwaŝniejszych zagadnień, którymi zajmuje się metamatyka są: niesprzeczność, zupełność i rozstrzygalność. 2.2 Język formalny dla logiki zdań Do formalizacji języka logiki zdań, L, konieczne są: zmienne indywiduowe (w tym wypadku: zdaniowe) i funktory zdaniotwórcze. 2.2.1. W logice zdań interesują nas stwierdzenia, które mogą być prawdziwe lub fałszywe. Przez zdanie rozumiemy więc stwierdzenie, które jest albo prawdziwe, albo fałszywe. Np.: śnieg biały, cukier węglowodan. Zdania oznaczamy literami pisanymi kursywą: p, q, r,... i nazywanymi zmiennymi zdaniowymi. Innymi słowy: zmienna zdaniowa wskazuje wolne miejsce, które moŝe zostać wypełnione przez dowolne wyraŝenie naleŝące do kategorii zdań. Zmienne zdaniowe nazywane są teŝ formułami atomowymi, lub krócej: formułami. 2.2.2. Spójniki zdaniowe logiki zdań są podobne do pewnych spójników zdaniowych języka naturalnego, jeŝeli weźmie się pod uwagę jedynie ich rolę syntaktyczną. Rola ta polega na tworzeniu zdań złoŝonych z innych zdań (złoŝonych lub nie), tak jak jest to w przypadku spójników języka polskiego: i, lub, jeŝeli... to, itp. 2.2.2.a) Spójniki zdaniowe traktowane są w logice jako funktory 1 w funkcjach prawdziwościowych, tj. w takich funkcjach, których wartościami są prawda lub fałsz. Prawda 1 Symbol reprezentowany przez literę f w formule f(x) nazywamy funktorem. 3

i fałsz nazywane są wartościami (stałymi) logicznymi i zwykle oznaczane są, odpowiednio, symbolami 1 i 0; uŝywa się teŝ do tego celu symboli P i F lub V (verum) i F (falsum). Przykłady funkcji prawdziwościowych: T1 p p T2 p q p q 0 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 Podane wyŝej tablice nazywane są tabelami prawdziwościowymi. MoŜna określić cztery funkcje prawdziwościowe 1-argumentowe i szesnaście 2- argumentowych. Tylko niektóre z nich są uŝywane w systemach logicznych. W logice zdań stosujemy pięć spójników:,,,,. 2.2.3. Definicja (reguły formowania). Zbiór formuł języka L 0 logiki zdań określamy następująco: (i) (ii) (iii) (iv) Atom jest formułą. JeŜeli p jest formułą to ( p) jest formułą. JeŜeli p i q są formułami, to formułami są takŝe (p q), (p q), (p q), (p q). Innych formuł nie ma. 2.2.4.Uwagi: Korzystając z tautologii logiki zdań (por. 2.4) warunek (iii) przyjmuje prostszą postać. Tworząc formuły logiczne moŝna obejść się bez nadmiarowych nawiasów porządkujemy malejąco waŝność operatorów,,,, i wymagamy, aby spójnik o większej randze miał większy zakres. Tak więc p q r oznacza (p (q r)) a p q r s oznacza (p (q (( r) s))). Niech p i q będą formułami i niech [p] i [q] oznaczają wartości logiczne tych formuł. Wówczas: (a) [ p] = 1 [p], (b) [p q] = min([p],[q]), (c) [p q] = max([p],[q]), (d) [p q] = [ p q], (e) [p q] = [(p q) (q p)] 2.3. Interpretacja formuł logiki zdań. 2.3.1. Niech formuła p składa się z n zmiennych q 1,..., q n. Interpretacją formuły p nazywamy dowolne przyporządkowanie wartości logicznych występującym w niej zmiennym, I = {[q 1 ],..., [q n ]} gdzie [q i ] {0, 1}, i = 1,...,n. Oznacza to, Ŝe p ma 2 n interpretacji. 4

Np. formuła p (q r) (s ( t)) składa się z czterech formuł atomowych q, r, s i t, co oznacza, Ŝe p ma 16 interpretacji. 2.3.2. Formuła p jest prawdziwa w interpretacji I wtw, gdy [p] = 1 w tej interpretacji, co oznaczamy [p] = I 1. JeŜeli [p] = I 0 to p jest fałszywa w interpretacji I. Inaczej: interpretacja I spełnia p, gdy p jest prawdziwa w I; równowaŝnie mówimy, Ŝe p jest spełnialna w I. Na odwrót, interpretacja I falsyfikuje p, gdy p jest fałszywa w I; równowaŝnie mówimy, Ŝe p jest falsyfikowalna w I. Np. formuła (p ( q)) jest spełnialna w I 1 = {p, q} i falsyfikowalna w I 2 = {p, q}. 2.3.4. Zbiór interpretacji spełniających formułę p nazywamy modelem formuły p. 2.4 Tautologie 2.4.1 Formuła logiki zdań jest tautologią, jeŝeli ma wartość prawdy przy wszystkich interpretacjach, lub inaczej: to te formuły, które są prawdziwe we wszystkich moŝliwych światach (Leibniz). Dlatego moŝna powiedzieć, Ŝe tautologia nie przynosi Ŝadnej informacji o rzeczywistym świecie, gdyŝ daje się pogodzić z kaŝdym moŝliwym stanem rzeczy. Uwaga: JeŜeli formuła p ma wartość prawdy przy wszystkich interpretacjach języka L, nazywamy ją logicznie poprawną formułą w L i oznaczamy symbolem = L p. Np. = (p p), ale ( (p p)); podobnie, gdy p jest zmienną zdaniową to p. Przykład. RozwaŜmy formułę g ((p q) p) q. Matryca dla tej formuły ma postać p q (p q) ((p q) p) ((p q) p) q 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 2.4.2. Formuła logiki zdań jest kontrtautologią, jeŝeli ma wartość fałszu przy wszystkich interpretacjach. Przykładem jest tu sprzeczność p p. 2.4.3. (Klasyfikacja formuł) Formuła p logiki zdań jest: spełniona, jeŝeli istnieje taka interpretacja I, Ŝe p jest prawdziwa w I falsyfikowalna, jeŝeli istnieje taka interpretacja I, Ŝe p jest fałszywa w I 2.4.4. Przykłady tautologii modus ponendo ponens ((p q) p) q modus tolendo tolens ((p q) q) p prawa de Morgana (p q) = p q 5

(p q) = p q prawa kompozycji ((p q) r) (p r) ((p q) r) (q r) prawa pochłaniania p (p q) p p (p q) p prawa przemienności p q q p p q q p (p q) (q p) prawa rozdzielności p (q r) (p q) (p r) p (q r) (p q) (p r) prawa symplifikacji (p q) p q (p q) q (p q) 2.5 Postacie normalne 2.5.1. W świetle praw przemienności nawiasy w wyraŝeniach (p q) r lub (p q) r mogą być opuszczone. Ogólnie, moŝna bez obawy popełnienie błędu pisać p 1 p 2... p n, gdzie p i, i = 1,...,n są formułami. Formułę q p 1 p 2... p n nazywamy formułą dyzjunkcyjną (w skrócie: dyzjunkcją), a formułę q p 1 p 2... p n nazywamy formułą koniunkcyjną (w skrócie: koniunkcją). ZauwaŜmy, Ŝe porządek składników (czynników) formuły dyzjunkcyjnej (koniunkcyjnej) nie wpływa na jej wartość logiczną. 2.5.2. Literą (literałem) nazywamy atom lub negację atomu. 2.5.3. Formuła q stanowi koniunkcyjną postać normalną (KPN), gdy jest koniunkcją p 1 p 2... p n, gdzie kaŝdy czynnik p i ma kształt dyzjunkcji literałów. 2.5.3.1. Formułę będącą pojedynczą literą traktuje się jako alternatywę z jednym członem, jako Ŝe jest ona równowaŝna dyzjunkcji p p. Formuła będąca pojedynczą dyzjunkcją, np. p q uwaŝana jest za jednoczłonową koniunkcję, gdyŝ jest równowaŝna z (p q) (p q). 2.5.3.2. Sprowadzenie formuły q do KPN pozwala rozstrzygnąć czy q jest, czy nie jest tautologią dzięki następującemu twierdzeniu. JeŜeli q jest w KPN, to q jest tautologią wtedy i tylko wtedy, gdy kaŝdy jej czynnik zawiera jednocześnie jakąś zmienną i jej negację. Istotnie, koniunkcja p 1 p 2... p n jest tautologią wtw, gdy wszystkie jej czynniki są tautologiami. Gdy czynnik p i zawiera zmienną i jej negację, to stanowi prawdziwą alternatywę; jeŝeli natomiast Ŝadna taka para nie występuje w p i, alternatywa ta będzie przy pewnych interpretacjach fałszywa. 2.5.3.3. Aby sprowadzić dowolna formułę do KPN korzystamy z reguł zastępowania i reguł transformacji. Reguły zastępowania pozwalają wyeliminować symbole implikacji i równowaŝności: (Imp) p q wolno zastąpić przez p q, 6

(Rw) p q wolno zastąpić przez ( p q) ( q p) Reguły transformacji to: prawa de Morgana, prawa podwójnej negacji, łączności, przemienności, rozdzielności, itp. 2.5.3.4. Przykład. Sprowadzić do KPN formułę ((p q) p) q. KaŜdy wiersz w poniŝszym ciągu powstaje z poprzedniego przez zastosowanie reguły wymienionej w prawej kolumnie. ((p q) p) q (( p q) p) q (Imp) zastosowana dwa razy ( ( p q) p) q prawo de Morgana ((p q) p) q prawo de Morgana i podwójne przeczenie q ( p (p q)) przemienność q (( p p) ( p q)) rozdzielność (q ( p p)) (q ( p q)) rozdzielność (q ( p p)) ((q q) p) przemienność, łączność 2.5.4. Formuła q stanowi alternatywną postać normalną (APN), gdy jest dyzjunkcją p 1 p 2... p n, gdzie kaŝdy składnik p i ma kształt koniunkcji literałów. 2.5.4.1. Formuła w APN jest logicznie fałszywa (jest kontrtautologią) wtw, gdy kaŝdy składnik zawiera jednocześnie jakąś zmienną i jej negację. Zatem procedura sprowadzania formuły do APN nadaje sie do wykazania fałszywości tej formuły. Tej samej metody moŝna uŝyć do wykazania, Ŝe formuła jest tautologią; wystarczy bowiem udowodnić fałszywość jej zaprzeczenia. 2.5.4.2. Przykład. RozwaŜmy formułę (p p). Jej zaprzeczenie ( (p p)), a więc p p, jest równowaŝne następującym formułom (p p) ( p p) (Rw), przemienność ((p p) p) ((p p) p) rozdzielność (p p) (p p) (p p) (p p) rozdzielność Ostatnie z tych formuł jest oczywiście sprzeczna, a zatem formuła (p p) jest tautologią. 2.6. Konsekwencja logiczna. 2.6.1. Przykład. ZałóŜmy, Ŝe kurs akcji spada, jeŝeli rosną stopy procentowe. JeŜeli kurs akcji spada to większość ludzi jest niezadowolona. Ze stwierdzeń tych moŝna wywnioskować, Ŝe jeŝeli rosną stopy procentowe to większość ludzi jest niezadowolona. Aby wykazać to stwierdzenie wprowadźmy zmienne p stawki procentowe rosną, q kurs akcji spada, r większość ludzi jest niezadowolona. Wypowiedziane wyŝej zdania mają postać: 7

1. p q 2. q r 3. p 4. r PokaŜmy, Ŝe (4) jest prawdziwe tylko wtedy, gdy (1) (2) (3) prawdziwe. W tym celu przekształćmy (p q) (q r) (p) do KPN: (p q) (q r) (p) ( p q) ( q r) (p) (Imp) (p ( p q) ( q r)) przemienność (((p p) (p q)) ( q r)) rozdzielność (((p p) (p q q)) (p q r)) rozdzielność 0 0 (p q r) (p q r) Oznacza to, Ŝe jeŝeli formuła (p q) (q r) p jest prawdziwa, to prawdziwa jest formuła (p q r). Ta ostatnia formuła jest prawdziwa tylko wtedy gdy wszystkie jej czynniki są jednocześnie prawdziwe. A zatem r jest prawdziwe, jeŝeli tylko prawdziwa jest formuła (p q) (q r) p. 2.6.2. Definicja. Niech dane będą formuły p 1 p 2,..., p n, oraz formuła q. Mówimy, Ŝe q jest semantyczną konsekwencją formuł p 1 p 2,..., p n (lub, Ŝe q wynika logicznie z p 1 p 2,..., p n ) wtw, gdy dla kaŝdej interpretacji I, w której koniunkcja p 1 p 2... p n jest prawdziwa, prawdziwa jest formuła q. p 1 p 2,..., p n nazywamy aksjomatami (postulatami, lub przesłankami) q. JeŜeli przez A oznaczymy zbiór przesłanek, a przez q konkluzję, to q jest semantyczną konsekwencją A, co oznaczamy A = q, wtw, gdy nie ma takiej interpretacji, dla której kaŝda formuła z A jest prawdziwa, a q jest fałszywa. 2.6.3. Twierdzenie. Niech dane będą formuły p 1 p 2,..., p n, oraz formuła q. Formuła q jest logiczną konsekwencją formuł p 1 p 2,..., p n wtw, gdy formuła (p 1 p 2... p n ) q jest tautologią. UWAGA: JeŜeli q jest logiczną konsekwencją formuł p 1 p 2,..., p n, to ((p 1 p 2... p n ) q) nazywamy twierdzeniem, a q konkluzja twierdzenia. 2.6.4. Twierdzenie. Niech dane będą formuły p 1 p 2,..., p n, oraz formuła q. Formuła q jest logiczną konsekwencją formuł p 1 p 2,..., p n wtw, gdy formuła (p 1 p 2... p n q) jest kontrtautologią 2. 2.6.5. Przykład. Dane są formuły f 1 (p q), f 2 q, f 3 p. Pokazać, Ŝe f 3 jest konsekwencją logiczną f 1 i f 2. 2 GdyŜ negacją formuły (p 1 p 2... p n ) q jest (p 1 p 2... p n q). 8

2.6.5.1. Metoda zero-jedynkowa. Konstruujemy matryce logiczna i sprawdzamy, czy f 3 jest prawdziwa w kaŝdym modelu formuły (p q) q. Z podanej niŝej tabeli wynika, Ŝe posiada tylko jeden model: { p, q}. Formuła p jest prawdziwa w tym modelu, a zatem f 3 jest konsekwencją logiczną f 1 i f 2. p q p q q (p q) q p 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 1 1 1 2.6.5.2. Druga metoda polega na wykorzystaniu twierdzenia 2.6.3, czyli na wykazaniu, ze (p q) q p jest tautologią. MoŜna tu wykorzystać metodę zerojedynkową, albo przekształcić tę ostatnią formułę do KPN. Skorzystajmy z tej drugiej metody. (p q) q p ((p q) q) p (Imp) (( p q) q) p (Imp) (( p q) (q q)) p rozdzielność (( p q) 0) p ( p q) p (p q) p podwójna negacja q (p p) przemienność i łączność q 1 1 2.6.5.3. Trzecia metoda polega na wykorzystaniu twierdzenia 2.6.4, czyli na wykazaniu, ze formuła ((p q) q p) jest kontrtautologią. MoŜna tu wykorzystać metodę zero-jedynkową, albo przekształcić tę ostatnią formułę do APN. 2.7. Aparat dedukcyjny dla logiki zdań Uwaga: Punkt ten traktujemy tak, jakby następował bezpośrednio po 2.2, tzn. załóŝmy, Ŝe nie wiemy niczego o jakiejkolwiek interpretacji języka L logiki zdań. 2.7.1 Aksjomaty logiki zdań JeŜeli A,B i C są dowolnymi formułami w L to aksjomatami są (A1) A (B A) (A2) (A (B C)) ((A B) (A C)) (A3) ( A B) (B A) Nic poza tym nie jest aksjomatem. Uwagi: 9

WyraŜenia A (B A) itp. naleŝą do metajęzyka ( A i B nie są symbolami L). Tak więc (A1) (A3) naleŝy traktować jako schematy aksjomatów: aksjomatem będzie kaŝda formuła równokształtna z (A1), (A2) lub (A3). Np. na mocy (A1) otrzymujemy następujące aksjomaty: p (q p) p (p p) p (p p) O aksjomatach tych nie zakłada się, Ŝe są prawdami oczywistymi. Zostały one zdefiniowane bez odwoływania się bez jakiejkolwiek interpretacji. 2.7.2 Reguła inferencji Gdy A i B są dowolnymi formułami w L, to B jest bezpośrednią konsekwencją pary formuł A i (A B). Jest to reguła MP (modus ponens). Oznaczamy ją teŝ A, A B B 2.7.3 Definicja. Dowodem jest skończony (lecz nie pusty) ciąg formuł języka L, z których kaŝda jest albo aksjomatem, albo bezpośrednią konsekwencją pewnych dwóch formuł poprzedzających ja w tym ciągu. Przykład: p ((p p) p) (A1) (p ((p p) p)) ((p (p p)) (p p)) (A2) (p (p p)) (p p) MP formuł (1) i (2) p (p p) (A1) p p MP formuł (3) i (4) 2.7.4 Definicja. Formuła p jest twierdzeniem, co oznaczamy p, jeŝeli istnieje dowód, którego ostatnią formułą jest p. Uwaga: w ciągu, który jest dowodem, kaŝda formuła jest twierdzeniem. 2.7.5 Definicja. Ciąg formuł jest derywacją formuły p ze zbioru A wtw, gdy (a) Jest on skończonym (lecz nie pustym) ciągiem formuł języka L, przy czym (b) Ostatnią formułą w tym ciągu jest p, oraz (c) KaŜda formuła w tym ciągu jest albo aksjomatem, albo bezpośrednią konsekwencją pewnych dwu formuł poprzedzających ja w tym ciągu, albo elementem zbioru A. Z powyŝszego określenia wynika, Ŝe kaŝdy dowód jest derywacją ze zbioru pustego. 2.7.6 Definicja. Formuła p jest syntaktyczną konsekwencją zbioru formuł A, co oznaczamy A p, wtw, gdy istnieje derywacją p z A. 10

2.7.7 Definicja. Zbiór A jest teoriodowodowo niesprzecznym zbiorem formuł wtw gdy dla Ŝadnej formuły p nie ma tak, Ŝe A p, i zarazem A p. 2.7.8. Twierdzenie o dedukcji (Alfred Tarski, 1921): A, p q to A (p q) JeŜeli q jest syntaktyczną konsekwencją zbioru formuł {A, p} to p q jest syntaktyczną konsekwencją zbioru A} 2.8 Konsekwencja semantyczna a konsekwencja syntaktyczna. KaŜde twierdzenie jest logicznie poprawne, tzn. jeŝeli q to = q. JeŜeli q jest syntaktyczną konsekwencją zbioru formuł A to jest semantyczną konsekwencją tego zbioru, A q to A = q. 3. Logika predykatów 3.1 Wprowadzenie Logika predykatów wraz z logika zdań stanowi całość logiki formalnej. O ile logika zdań dostarcza praw wnioskowania odwołujących się do struktury zdań złoŝonych (nie wnikając w budowę zdań będących składnikami owych złoŝeń), to logika predykatów dostarcza praw wnioskowania odwołujących się do wewnętrznej budowy zdań, w której wyróŝnia się predykaty (odpowiednik orzeczenia w tradycyjnej gramatyce), argumenty predykatów (odpowiednik podmiotu), oraz kwantyfikatory wskazujące, do których (wszystkich lub wybranych) przedmiotów odnoszą się predykaty 3.2 Język formalny dla logiki predykatów 3.2.1 Symbole języka nieskończenie wiele zmiennych zdaniowych: p, q, r,... nieskończenie wiele stałych indywiduowych (słuŝą do nazywania obiektów): a, b, c,... nieskończenie wiele zmiennych indywiduowych: x, y, z,... nieskończenie wiele symboli predykatowych: P, Q,... nieskończenie wiele symboli funkcyjnych: f, g, h,... stałe logiczne, tzn. spójniki logiki zdań oraz symbole specyficzne (kwantyfikatory) znaki graficzne: nawiasy, myślnik, przecinek 3.2.1a) Dopuszcza się stosowanie ciągów liter na oznaczanie stałych indywiduowych, symboli funkcyjnych oraz symboli predykatowych, ew. indeksowanie symboli. 11

3.2.1b) Symbole funkcyjne i predykatowe mają określoną liczbę argumentów, n. Dla symboli predykatowych n > 0, a dla symboli funkcyjnych n 0 (symbol funkcyjny, dla którego n = 0 utoŝsamiamy ze stałą indywiduową). 3.2.1c) Symbole funkcyjne słuŝą do nazywania funkcji, tzn. odwzorowań uporządkowanych n-tek stałych w określone stałe. Symbole predykatowe słuŝą do nazywania predykatów, tzn. wyraŝeń zawierających pewne zmienne i opisujących pewną własność lub pewną relację. Predykaty to odwzorowania przypisujące n-tkom stałych wartość logiczną 1 (prawda) lub 0 (fałsz). 3.2.2 Termy. Stała jest termem. Zmienna jest termem. JeŜeli f jest n-argumentowym symbolem funkcyjnym i t 1,...t n są termami to f(t 1,...t n ) jest termem. Innych termów nie ma. Przykłady. (a) Niech plus będzie dwuargumentowym symbolem funkcyjnym. plus(x, 1) jest termem bo stała 1 i zmienna x są termami. Podobnie plus (plus (x,1),1) jest termem. (b) ojciec(jan), ojciec (ojciec(jan)) są termami 3.2.3 Atomy. JeŜeli P jest n-argumentowym symbolem predykatowym i t 1,...t n są termami, to P(t 1,...t n ) jest formułą atomową, w skrócie: atomem. Przykład: Niech EQ będzie 2-argumentowym symbolem predykatowym. EQ(x,y), EQ(plus(x, 1), plus(y, 1)) są atomami. 3.2.4. Niech Q będzie dowolnym, tzn. ogólnym ( ) lub egzystencjalnym ( ), kwantyfikatorem. RozwaŜmy wyraŝenie postaci (Qx)A. A nazywamy zasiegiem kwantyfikatora Q, natomiast x zmienną objętą kwantyfikatorem. Zmiennymi związanymi kwantyfikatorem Q są wszystkie symbole zmiennych równokształtne ze zmienną objęta kwantyfikatorem i zawarte w jego zasięgu. Pewna litera jest zmienną wolną w A gdy nie jest zmienną związaną w A. Przykłady: (a) ( x) P(x,y) (b) ( x) P(x) ( y)q(x,y) x jest zmienną związaną, y - swobodną x jest zmienną swobodną i związaną, y - związaną 3.2.5. Formuły (a) Atom jest formułą (b) JeŜeli F i G są formułami, to: F, F G, F G, F G, F G są formułami (c) JeŜeli F jest formułą, a x jest zmienną wolną w F to ( x)f i ( x)f są formułami (d) Innych formuł nie ma. 12

3.2.6. Formułę, w której nie występują zmienne wolne nazywamy formułą domkniętą (zdaniem). Formułę, która nie jest domknięta nazywamy otwartą. JeŜeli w F występują symbole zmiennych wolnych, x 1,...,x n, to formułę ( x 1 )...( x n )F nazywamy uniwersalnym domknięciem formuły F i oznaczamy symbolem F c. 3.3 Przykłady 3.3.1 Aksjomaty liczb naturalnych: A 1 : Dla kaŝdej liczby istnieje jedna i tylko jedna liczba występująca bezpośrednio za nią A 2 : Nie istnieje liczba, za którą bezpośrednio występuje 0 A 3 : Dla kaŝdej liczby róŝnej od zera istnieje dokładnie jedna liczba występująca przed nią. Niech f(x) oznacza liczbę występującą bezpośrednio za x, a g(x) liczbę występującą bezpośrednio przed x. Niech E(x,y) oznacza x = y. PowyŜsze aksjomaty reprezentują formuły: S 1 : ( x)( y)(e(y, f(x)) ( z)(e(z, f(x)) E(y,z))), S 2 : (( x) E(0,f(x)) S 3 : ( x)( E(0,x) (( y) E(y,g(x)) ( z)(e(z, g(x)) E(y,z)) E(y,z))). 3.3.2 (analiza scen) RozwaŜmy sytuację z rys. 1 przedstawiającą układ trzech klocków. Określając predykaty NA(x,y), NA-STOLE(x), LUZEM(x), z których pierwszy wskazuje, Ŝe na klocku x leŝy klocek y, drugi Ŝe klocek x leŝy na stole, a trzeci, ze klocek x jest luzem, powyŝszą sytuację opisuje formuła S = S 1 S 2 S 3 S 4 S 5 S 6 gdzie: S 1 : NA(A,C), S 2 : NA-STOLE(A), S 3 : NA-STOLE(B), S 4 : LUZEM(B), S 5 : LUZEM(C), S 6 : ( x)(luzem(z) ( x)na(z,x)) Ten sposób opisu scen wykorzystano w systemie STRIPS. C A B Rys. 1 Prosta scena 13

3.3.3 Niech PRACUJE-W(x,z) oznacza, Ŝe pracownik x zatrudniony jest w wydziale produkcyjnym z i niech MAŁśEŃSTWO(x,y) oznacza, Ŝe x i y są małŝeństwem. Formuła ( x)( y)( z) (MAŁśEŃSTWO(x,y) (PRACUJE-W(x,z) PRACUJE-W(y,z))) reprezentuje przepis, Ŝe małŝonkowie nie mogą być zatrudnieni w tym samym miejscu pracy. 3.4 Interpretacja formuł logiki predykatów Niech L 1 oznacza język logiki predykatów. 3.4.1 Interpretację dla L 1 wyznacza uporządkowana para (D, F), gdzie D jest niepustym zbiorem zwanym dziedziną interpretacji, natomiast F jest odwzorowaniem takim, Ŝe (a) KaŜdej stałej indywiduowej przyporządkowany jest pewien element ze zbioru D, (b) KaŜdemu n-argumentowemu symbolowi funkcyjnemu f przyporządkowana jest pewna funkcja f I : D n D, (c) KaŜdemu n-argumentowemu symbolowi predykatowemu P przyporządkowana jest pewna funkcja P I : D n {0,1} będąca funkcją charakterystyczną pewnej n- argumentowej relacji w D; stałe 0 i 1 odpowiadają stałym logicznym. 3.4.2 Dla kaŝdej interpretacji w dziedzinie D formuła przyjmuje wartość 1 lub 0 zgodnie z następującymi regułami: (a) JeŜeli znane są wartości formuł G i H to znaczenia formuł G, H G, H G, H G, H G wyznaczane są przy uŝyciu tabel prawdziwościowych. (b) ( x) G otrzymuje wartość 1 tylko wtedy, gdy G ma wartość 1 dla kaŝdego elementu x z D; w przeciwnym razie ( x) G otrzymuje wartość 0 (c) ( x) G otrzymuje wartość 1 tylko wtedy, gdy G ma wartość 1 dla przynajmniej jednego elementu x z D; w przeciwnym razie ( x) G otrzymuje wartość 0 3.4.3 Przykłady interpretacji 3.4.2.1 RozwaŜmy formuły ( x) P(x), ( x) P(x). Przyjmujemy następującą interpretację: D = {1,2}, P I (1) = 1, P I (2) = 0. Oczywiście ( x) P(x) otrzymuje wartość 0, natomiast ( x) P(x) wartość 1. 3.4.2.2 Dana jest formuła ( x) ( y) P(x,y). Niech D = {1,2}, a P I zadane jest następująco: P I (1,1) P I (1,2) P I (2,1) P I (2,2) 1 0 0 0 Dla x = 1 istnieje takie y (y=1) Ŝe P I (1,y) = 1, podobnie dla x = 2. Zatem formuła jest prawdziwa w tej interpretacji. 3.4.2.3 Dana jest formuła ( x) (P(x) Q(f(x),a)). Określamy interpretację I: D = {1,2}, 14

a 1 f I (1) =2, f I (2) = 1. P I (1) P I (2) Q I (1,1) Q I (1,2) Q I (2,1) Q I (2,2) 1 0 1 1 0 1 Gdy x = 1 to P(x) Q(f(x),a) = P(1) Q(f(1),1) = P(1) Q(2,1) = 0 0 = 1. Gdy x = 2 to P(x) Q(f(x),a) = P(2) Q(f(2),1) = P(2) Q(1,1) = 1 1 = 1. Zatem formuła jest prawdziwa w interpretacji I. 3.4.2.4 (ćwiczenie) Przyjmijmy interpretację jak w 3.4.2.3 i sprawdźmy formuły (a) ( x) (P(f(x)) Q(x, f(a))), (b) ( x) (P(x) Q(x, a)), (c) ( x)( y) (P(x) Q(x, y)), 3.4.5 Klasyfikacja formuł Formuła A jest: formułą prawdziwą logicznie (prawda logiczną) jeŝeli jest prawdziwa przy kaŝdej interpretacji logicznie sprzeczna jeŝeli jest fałszywa przy kaŝdej interpretacji spełnialna tylko wtedy gdy dla przynajmniej jednej interpretacji istnieje co najmniej jeden ciąg indywiduów, który spełnia A (np. x < y jest formułą spełnialną gdyŝ istnieje interpretacja <np. dziedzina liczb naturalnych> i wartościowanie <np. ciąg (3,4)>, które spełnia tę formułę) konsekwencją logiczną zbioru formuł X wtw przy kaŝdej interpretacji, kaŝdy ciąg, który spełnia wszystkie formuły zbioru X, spełnia równieŝ A. Mówimy, Ŝe A wynika logicznie z X, lub X implikuje logicznie A. Jako przykład rozwaŝmy następujące 3.4.5.1 Twierdzenie: Niech A P będzie formułą opisującą program P (por. 3.2.6.4.3). A P jest formułą spełnialną. Dowód: Dla kaŝdej krawędzi a istnieje klauzula zawierająca pozytywna literę, mianowicie Q j (x, f a (x, y)). Zatem w A P dowolna klauzula zawiera pozytywna literę. Niech v 1,..., v m oznaczają wszystkie węzły grafu z wyjątkiem węzła startowego. Niech I będzie interpretacją, w której pewnej literze Q i (x, y), 1 i m, przypisano wartość logiczną 1. Oczywiście odpowiednia klauzula przyjmuje wartość 1, a w konsekwencji A P jest spełnione w tej interpretacji. // 3.5 Skolemowska postać normalna Omówimy teraz metodę przekształcania formuł logiki predykatów pierwszego rzędu do modelowo równowaŝnej postaci nazywanej skolemowską postacią normalną (SPN). Formuły 15

F 1, F 2 nazywamy modelowo równowaŝnymi jeŝeli jednocześnie kaŝda formuła posiada model lub tez obie formuły nie maja modelu. 3.5.1 Preneksyjna (kwantyfikatorowa) postać normalna (PPN) Formuła jest w PPN gdy ma postać (Q 1 x 1 )...(Q n x n )M gdzie Q i, 1 i n, jest albo kwantyfikatorem uniwersalnym albo egzystencjalnym, natomiast M tzw. matryca jest formułą nie zawierającą kwantyfikatorów. Część formuły poprzedzającą matrycę, tzn. (Q 1 x 1 )...(Q n x n ), nazywamy prefiksem. Istotne jest, Ŝe Ŝaden kwantyfikator nie jest poprzedzony znakiem negacji. Sposób sprowadzania formuły do PPN podano w Tablicy 3.1. 3.5.1.1 Przykład (ilustracja kroku 3 rozdzielanie zmiennych). Formuła ( x)[p(x) ( x)q(x)] jest równowaŝna formule ( x)[p(x) ( y)q(y)], a ta z kolei formule por. Krok 1 - ( x)[ P(x) ( y)q(y)]. Stosując (4) dostajemy ( x)( y) [ P(x) Q(y)]. 3.5.1.2 Przykład. RozwaŜmy formułę ( x) (P(x) K(x) ( y)(s(x,y) C(y))). Krok1: ( x) ( P(x) K(x) ( y)(s(x,y) C(y))). Krok4: ( x)( y) ( P(x) K(x) (S(x,y) C(y))). 1 Z formuły F eliminujemy spójniki oraz posługując się skończoną ilość razy prawami: F G = F G F G = (F G ) (G F ) 2 Wprowadzamy negacje bezpośrednio przed symbole atomiczne: ( F) = F (F G) = F G (F G) = F G [( x) G(x)] = ( x)( G(x)) [( x) G(x)] = ( x)( G(x)) 3 Przemianowanie zmiennych związanych tak, aby w zasięgu kaŝdego kwantyfikatora występowały zmienne o róŝnych symbolach. 4 Tworzymy prefiks korzystając skończoną ilość razy z praw: (Qx) F(x) G (Qx) (F(x) G) (Qx) F(x) G (Qx) (F(x) G) ( x) F(x) ( x) G(x) ( x) (F(x) G(x)) ( x) F(x) ( x) G(x) ( x) (F(x) G(x)) (Q 1 x) F(x) (Q 2 x) G(x) (Q 1 x) (Q 2 y) [F(x) G(y)] (Q 1 x) F(x) (Q 2 x) G(x) (Q 1 x) (Q 2 y) [F(x) G(y)] Tablica 3.1 Sprowadzanie formuły do PPN 16

3.5.2 Skolemowska postać normalna stosowana jest w większości procedur automatycznego dowodzenia twierdzeń. Powiemy, Ŝe formuła otwarta F jest w SPN jeŝeli przedstawia się jako (P 1 1... P m1 1 )... (P 1 k... P mk k ) gdzie wszystkie P i j są atomami lub negacjami atomów. Czynnik (P 1 1... P m1 1 ) nazywamy klauzulą. Sposób sprowadzania formuły do SPN przedstawia tablica 3.2. 1 JeŜeli formuła zawiera zmienne wolne, tworzymy jej domkniecie uniwersalne (pkt. 3.2.6) 2 Sprowadzamy formułę do PPN (Tablica 3.1) 3 Korzystając z prawa rozdzielczości P Q R = (P R) (Q R) doprowadzamy uzyskaną w p. 2 matrycę do koniunkcji alternatyw atomów bądź negacji atomów 4 Likwidujemy symbole kwantyfikatorów egzystencjalnych zastępując związane przez nie symbole zmiennych funkcjami skolemowskimi (por. pkt. 3.5.2.1) Tablica 3.2 Sprowadzanie formuły do SPN 3.5.2.1 Realizacja kroku 4. RozwaŜmy prefiks (Q 1 x 1 )...(Q n x n ) formuły w PPN i przypuśćmy, Ŝe (Q r x r ), 1 r n, jest kwantyfikatorem egzystencjalnym i nie poprzedzają go kwantyfikatory uniwersalne. Wybieramy stałą c, róŝną od stałych występujących w M, i w miejsce zmiennej x r wstawiamy c wykreślając jednocześnie (Q r x r ) z prefiksu. JeŜeli na lewo od (Q r x r ) występują kwantyfikatory uniwersalne (Q s1 x s1 ),... (Q s_m x s_m ), to wybieramy nowy róŝny od występujących w M m-argumentowy symbol funkcyjny f, zamieniamy x r na f(x s1,... x s_m ) i usuwamy (Q r x r ) z prefiksu. 3.5.2.2 Przykład. W formule ( x)( y)( z)( u)( v)( w) P(x,y,z,u,v,w) na lewo od ( x) nie ma Ŝadnych kwantyfikatorów, na lewo od ( u) występują kwantyfikatory ( y)( z), a na lewo od ( w) kwantyfikatory ( y), ( z) i ( v). Zastępując x przez stałą a, u przez funkcję skolemowską f(y, z), a zmienną w przez funkcję g(y, z, v) otrzymujemy formułę ( y)( z)( v) P(a, y, z, f(y, z), v, g(y, z, v)) 3.5.2.3 Przykład. Dana jest formuła ( x)( y) ( P(x) K(x) (S(x,y) C(y))) Korzystając z tautologii A (B C) = (A B) (A C) sprowadzamy te formułę do postaci, w której matryca ma koniunkcyjną postać normalną: ( x)( y) {[ P(x) K(x) S(x,y)] [ P(x) K(x) C(y)]} a następnie do postaci standardowej: ( x) {[ P(x) K(x) S(x, f(x))] [ P(x) K(x) C( f(x))]} 3.5.2.4 Przykład. Dana jest formuła 17

( x) { P(x) [( y) (P(y) P(f(x, y))) ( x)(q(x, y) P(y))]} Sprowadzamy powyŝszą formułę do PPN: Krok 1 (T3.1): ( x) { P(x) [( y) ( P(y) P(f(x, y))) ( x)( Q(x, y) P(y))]} Krok 2 (T3.1): ( x) { P(x) [( y) ( P(y) P(f(x, y))) ( x)(q(x, y) P(y))]} Krok 3 (T3.1): ( x) ( y) ( z) { P(x) [( P(y) P(f(x, y))) (Q(x, z) P(z))]} Uzyskano formułę PPN. Sprowadzamy matrycę do koniunkcyjnej postaci normalnej ( x)( y)( z) {[ P(x) P(y) P(f(x, y))] [ P(x) Q(x, z)] [ P(x) P(z)]} Redukujemy kwantyfikator egzystencjalny: ( x)( y) {[ P(x) P(y) P(f(x, y))] [ P(x) Q(x, h(x,y))] [ P(x) P(h(x,y))]} 3.5.3 Klauzule 3.5.3.1 Dyzjunkcję symboli atomicznych lub ich negacji (tzn. literałów) nazywamy klauzulą. 3.5.3.2 Koniunkcję klauzul K 1... K n zapisujemy w postaci { K 1,..., K n }. Formuła z p. 3.5.2.4 zawiera trzy klauzule: { P(x) P(y) P(f(x, y)), P(x) Q(x, z), P(x) P(z)}. 3.5.3.3 JeŜeli L 1, L 2 są literami, przy czym L 1 = L 2 to mówimy, Ŝe (L 1, L 2 ) jest para kontrarną. 3.6 Procedura unifikacji Przy dowodzeniu twierdzeń zachodzi konieczność sprowadzania róŝnych formuł do jednolitej postaci. Np. chcąc wyprowadzić twierdzenie Q(a) z aksjomatów {( x) (P(x) Q(x)), P(a)} naleŝy zunifikować atomy P(x) i P(a) wprowadzając podstawienie a w miejsce x. Proces zastępowania zmiennych termami nazywamy unifikacją. 3.6.1 Definicja. Podstawieniem nazywamy skończony zbiór postaci θ = {t 1 /x 1,..., t n /x n } gdzie x i oznacza zmienną, t i oznacza term, przy czym x i x j oraz t i t j. JeŜeli wszystkie termy są podstawowe (nie zawierają zmiennych) to θ nazywamy podstawieniem podstawowym. 3.6.2 Nomenklatura. a) Przez wyraŝenie rozumiemy term, zbiór termów, zbiór atomów, literę, klauzulę lub zbiór klauzul. b) Przez wyraŝenie podstawowe rozumiemy wyraŝenie, w którym nie występują zmienne. c) PodwyraŜeniem wyraŝenia E nazywamy wyraŝenie występujące w E. 3.6.3 Niech θ będzie podstawieniem, θ = {t 1 /x 1,..., t n /x n }, a E wyraŝeniem. WyraŜenie Eθ otrzymane z E przez jednoczesne zastąpienie wszystkich zmiennych wskazanych w θ odpowiadającymi im termami nazywamy przykładem (egzemplarzem) E. 18

3.6.3.1 Przykład. Niech E = {P(x, f(y), a}, θ = {g(z)/x, b/y}. Wówczas Eθ = {P(g(z), f(b), a}. 3.6.4 Niech θ będzie podstawieniem, θ = {t 1 /x 1,..., t n /x n }, a Σ = = {u 1 /y 1,..., u m /y m }. ZłoŜeniem θ i Σ nazywamy podstawienie θ Σ = {t 1 Σ/x 1,..., t n Σ/x n, u 1 /y 1,..., u m /y m } otrzymane przez zastąpienie termów z θ termami z Σ i dołączenie par z Σ zawierających zmienne nie występujące w θ. Tzn. z uzyskanego zbioru θ Σ wykreślamy te elementy, w których t i Σ = x i, oraz elementy u j /y j takie, Ŝe y j {x 1,...,x n }. 3.6.4.1 Przykład. Niech θ = {f(y)/x, z/y}, Σ = {a/x, b/y, y/z}. θ Σ = {f(b)/x, y/y, a/x, b/y, y/z}. Zgodnie z konwencją z θ Σ wykreślamy elementy postaci x i /x i oraz te zmienne z Σ, w których występują zmienne identyczne ze zmiennymi w θ. Ostatecznie θ Σ = {f(b)/x, y/z}. 3.6.4.2 Przykład. Niech θ = {g(x,y)/z}, Σ = {a/x, b/y, c/w, d/z}. Tutaj θ Σ ={g(a,b)/z, a/x, b/y, c/w}, natomiast Σ θ = Σ θ Σ. 3.6.5 Składanie podstawień jest łączne, co m.in. oznacza, Ŝe (Eθ 1 )θ 2 = E(θ 1 θ 2 ). Ponadto podstawienie puste, ε (nie zawierające Ŝadnego elementu) ma własność εθ = θε. 3.6.6 Podstawienie θ nazywamy unifikatorem zbioru wyraŝeń E = {E 1,...,E n } jeŝeli E 1 θ =... = E n θ. Zbiór E nazywamy wówczas unifikowalnym. 3.6.7 Unifikator σ zbioru wyraŝeń E nazywamy unifikatorem głównym wtw dla kaŝdego unifikatora θ zbioru E istnieje takie podstawienie Σ, Ŝe θ = σ Σ. 3.6.7.1 Przykład. Niech E = {P(x, f(y), a), P(x, f(a), a)}. Podstawienie θ = {b/x, a/y} unifikuje wyraŝenia z E do postaci P(b, f(a), a). θ nie jest unifikatorem głównym. MoŜna sprawdzić, ze σ = {a/y} jest unifikatorem głównym. Wówczas θ = σ {b/x}. 3.6.8 Zbiór rozbieŝności (disagreement set) R niepustego zbioru wyraŝeń E otrzymujemy wyszukując pierwszą od lewej pozycję, począwszy od której nie we wszystkich wyraŝeniach z E występują te same symbole i wypisując z kaŝdego wyraŝenia z E podwyraŝenie zaczynające się od symbolu zajmującego te pozycję. 3.6.8.1 Przykład. Niech E = {P(x), P(a)}. R = {x,a}. 3.6.9 Algorytm unifikacji podano w Tablicy 3.3. Posiada on następującą własność. JeŜeli E jest skończonym, niepustym i unifikowalnym podzbiorem wyraŝeń, to algorytm kończy się zawsze po realizacji kroku 2, a znaleziony unifikator s k jest unifikatorem głównym. 1 k = 0; E k = E; s k = ε 2 JeŜeli E k jest klauzulą jednostkową to STOP; s k jest unifikatorem głównym dla E. W 19

przeciwnym razie dla E k określamy zbiór rozbieŝności R k. 3 JeŜeli w R k istnieją elementy x k, t k takie, Ŝe x k jest zmienną nie występującą w t k to przechodzimy do kroku 4. W przeciwnym razie STOP E nie jest unifikowalny. 4 s k+1 = s k {t k /x k } E k+1 = E k {t k /x k }= E s k+1 k = k+1 i powrót do (2) Tabela 3.3 Algorytm unifikacji 3.6.9.1 Przykład. Niech E = {Q(f(a), g(x)), Q(y,y)}. Mamy kolejno: 1. k = 0; E k = E; s k = ε 2. R 0 = { f(a), y} 3. R 0 zawiera zmienną y i term f(a), w którym ta zmienna nie występuje. Zatem: 4a) s 1 = s 0 {f(a)/x} = {f(a)/x} 4b) E 1 = {Q(f(a), g(x)), Q(f(a), f(a))}.. 2. R 1 = { g(x), f(a)} 3. R 1 nie zawiera explicite zmiennej, co oznacza, Ŝe E nie jest unifikowalny. STOP. 4. Zasada rezolucji 4.1 Wprowadzenie Zaproponowana w 1965 r. przez J. A. Robinsona zasada rezolucji stanowi z algorytmicznego punktu widzenia jedną z najbardziej atrakcyjnych metod dowodzenia twierdzeń. Pod pojęciem zasady rezolucji rozumiemy następującą regułę wnioskowania α β, α γ β γ Wniosek β γ nazywamy rezolwentą przesłanek α β oraz α γ. 4.1.1 JeŜeli dla dowolnych dwóch klauzul C 1, C 2 istnieje kontrarna para literałów L 1, L 2, to usuwając tę parę otrzymujemy klauzulę złoŝoną z pozostałych liter w C 1 i C 2. Wynikowa klauzula nazywana jest rezolwentą. Przykład: Rezolwentą klauzul C 1 = {P,R}, C 2 = { P, Q} jest Res(C 1, C 2 ) = {R, Q} 4.1.2 Twierdzenie. Niech C 1, C 2 będą dwiema klauzulami. Ich rezolwenta, Res(C 1, C 2 ), jest logiczną konsekwencją formuły (C 1 C 2 ). 4.1.3 Uwzględniając twierdzenie 4.1.2 oraz twierdzenie 2.6.4 celem udowodnienia C naleŝy do S dodać klauzulę C. Wówczas sprawdzenie, Ŝe C 1 C 2... C n C jest kontrtautologią jest równowaŝne uzyskaniu rezolwenty równowaŝnej klauzuli pustej,. Niedeterministyczny (gdyŝ nie określa strategii wybierania klauzul ze zbioru S) algorytm automatycznego dowodzenia twierdzeń przedstawiono w Tablicy 4.1. 20