1.2 Logika pierwszego rzędu 1.2.1 Język rachunku kwantyfikatorów

Transkrypt

1.2 Logika pierwszego rzędu 1.2.1 Język rachunku kwantyfikatorów
1.2 Logika pierwszego rzędu
1.2.1 Język rachunku kwantyfikatorów
Dokonując formalizacji języka dowolnej dziedziny wiedzy, jak zostało to
pokazane w stosownym podrozdziale, dla wszystkich wyraŜeń
równokształtnych, reprezentujących tę sama wiedzę, stosujemy równokształtne
schematy tych wyraŜeń: reprezentacjami wyraŜeń zdaniowych są formuły, a
reprezentacjami nazw są termy, natomiast reprezentacjami klas
równokształtnych funktorów nazwotwórczych i zdaniotwórczych są
odpowiednio symbole funkcyjne oraz symbole predykatywne i symbole
spójników. Gwoli ścisłości, naleŜy dodać, Ŝe mówiąc o klasach
równokształtnych wyraŜeń mówimy o wiedzy dotyczącej budowy tych wyraŜeń,
a więc o pojęciach oraz związkach pomiędzy tymi pojęciami. Czy otrzymany na
drodze formalizacji język moŜemy określić jako język bezkontekstowy stosując
notację BNF? PokaŜemy najpierw dla rachunku kwantyfikatorów, Ŝe tak:
Definicja 1.2.1
Niech zbiór symboli terminalnych języka rachunku predykatów stanowi suma
zbiorów: symboli zdań prostych S, symboli predykatywnych P, symboli stałych
C oraz zmiennych V, dodatkowo Clog jest zbiorem symboli spójników i
kwantyfikatorów, a M zbiorem symboli pomocniczych. Przyjmujemy, Ŝe
S = {true, false, p1, p2, … },
P = {P11, P21, …, P12, P22, … }, gdzie indeks dolny oznacza numer danego
predykatu, indeks górny oznacza liczbę przyłączanych argumentów,
C = {c1, c2, c3, … },
V = {x1, x2, x3, …,},
Clog = {¬, ∧, ∨, ⇒, ⇔},
M = {nawiasy (, ), przecinek}.
Jako symbole niedeklaratywne wprowadzamy: <argument>, <argumenty>,
<atom>, <form>. Regułami produkcji języka są:
<argument>::= x| c
<argumenty>::= <argument>|<argumenty>,<argument>
<atom>::= p|P(<argumenty>)
<literał>::= <atom>|¬<atom>
<form>::= <literał>|¬<form>|(<form> ∧ < form>)|(<form> ∨ < form>)
|(<form> ⇒ < form>)|(<form> ⇔ < form>)
|∀x<form>|∃x<form>,
gdzie x∈V, c∈C, p∈S, P∈P. Słowa języka określone przez symbol <form>
nazywamy formułami rachunku kwantyfikatorów. Zbiór wszystkich formuł
oznaczamy przez Form.
Przykład 1.2.1 Stosując zapis strzałkowy dla wywodu formuły pokaŜemy, Ŝe
wyraŜenie
(∃x1∀x2 P12(x1,x2) ⇒ P12(c1,x2)) jest formułą rachunku
kwantyfikatorów:
<form> → (<form> ⇒ < form>) →
(∃x1<form> ⇒ <form>) →
(∃x1∀x2<form> ⇒ <form>) →
(∃x1∀x2<atom> ⇒ <atom>) →
(∃x1∀x2P12(<argumenty>) ⇒ P12(<argumenty>))→
(∃x1∀x2P12(x1,x2) ⇒ P12(c1,x2)) .
1.2.2 Semantyka
kwantyfikatorów
i
operacje
konsekwencji
–
pełność
rachunku
Dotąd rozwaŜaliśmy schematy zdań będące reprezentacjami wiedzy o
tym, w jaki sposób zdania złoŜone są zbudowane ze zdań prostych. Schematy
zdań są formułami języka rachunku kwantyfikatorów naleŜącymi do zbioru
Form, a więc zbudowane są zgodnie z regułami produkcji określającymi symbol
<form>. Nie interesowało nas, czy zdanie reprezentuje wiedzę o pewnym stanie
rzeczy, określonym w ramach rozwaŜanej dziedziny wiedzy, czy nie, tj. czy
podstawowe składniki budowy zdania moŜemy zinterpretować w danej
dziedzinie wiedzy, czy nie. Zinterpretowanie poszczególnych składników zdania
nie oznacza, Ŝe cale zdanie reprezentuje wiedzę w danej dziedzinie. Np. zdanie
„człowiek jest kamieniem” nie reprezentuje tego, Ŝe ludzi moŜna uznać za
kamienie, bo taki związek nie zachodzi, chociaŜ kaŜdy ze składników
wymienionego zdania moŜna zinterpretować w sposób właściwy w dziedzinie
wiedzy o otaczającym nas świecie: są ludzie, są kamienie oraz jedne pojęcia
zawierają się w drugich. Gdy moŜemy rozstrzygnąć, czy zdanie reprezentuje
wiedzę w danej dziedzinie wiedzy, to mówimy, Ŝe ma wartość logiczną
prawdy, a gdy moŜemy rozstrzygnąć, Ŝe zdanie nie reprezentuje wiedzy, to
mówimy, Ŝe ma wartość logiczną fałszu w rozpatrywanej dziedzinie wiedzy.
Formułom reprezentującym zdania prawdziwe przypisujemy wartość prawdy, a
formułom reprezentującym zdania fałszywe przypisujemy wartość fałszu. Polski
logik Alfred Tarski w latach trzydziestych XX w. opracował metodę
przypisywania wartości logicznej formułom reprezentującym zdania opisujące
wiedzę określoną przez wielosortowe struktury relacyjne. Dla formuł
atomowych postaci <predykat>(<argumenty>) określił funkcję spełniania, która
predykatowi przyporządkowywała pewną nazwę relacji z danej struktury
relacyjnej a argumentum przyporządkowywała nazwy elementów naleŜące do
określonych uniwersów. Otrzymany przy takim podstawieniu formuły napis,
albo reprezentował wiedzę o zachodzeniu relacji, albo tej wiedzy nie
reprezentował. Gdy dla formuł atomowych zachodzi w tym sensie rozumiana
reprezentacja wiedzy, logicy mówią, Ŝe formuły przy danym podstawieniu są
spełnione w danej strukturze relacyjnej lub Ŝe struktura ta jest modelem
tych formuł. Funkcja spełniania moŜe być rozszerzona dla dowolnych formuł
rachunku kwantyfikatorów, a następnie dla formuł logiki pierwszego rzędu,
zawierających termy. W tym celu stosuje się pewne poniŜej opisane zasady
interpretacji wartości dla złoŜonych formuł przy załoŜeniu, Ŝe znamy jak
wartości logiczne przypisane są formułom atomowym.
Zdolność człowieka (ogólniej agenta) do rozstrzygania czy pewne zdania
są prawdziwe w rozwaŜanej dziedzinie wiedzy nazywana jest asertywnością tej
dziedziny wiedzy przez danego człowieka (agenta). Z tego powodu, proste
zdania uznane przez człowieka (agenta) za prawdziwe nazywane są asercjami.
Nie moŜe więc dochodzić pomiędzy ludźmi do przekazywania sobie wiedzy
logicznej o komunikatach dotyczących rozwaŜanej przez nich dziedziny wiedzy
bez asertywności tych ludzi wobec rozwaŜanej dziedziny wiedzy. W tym
kontekście istotna dopiero staje się wiedza o tym, jaka jest zaleŜność pomiędzy
wartością logiczną zdania złoŜonego utworzonego przy pomocy spójników ze
zdań prostych, a wartościami logicznymi tych zdań prostych.
Aby móc reprezentować tego rodzaju wiedzę, wartości prawdy i fałszu
oznaczymy odpowiednio symbolami 1 i 0.
Niech Form* oznacza zbiór formuł zamkniętych, tj. takich które mogą
być schematami pewnych asercji, a więc takimi formułami, w których
wszystkie zmienne powiązane są jakimiś kwantyfikatorami, zgodnie z zasadami
tworzenia schematów zdań. Określimy teraz funkcję v: Form*→{0,1} poprzez
podanie tablic wartości logicznych dla formuł będących schematami zdań
złoŜonych oraz sformułowanie stosownych zasad prawdziwościowych dla
formuł poprzedzonych kwantyfikatorami lub dla negacji tych formuł.
Funkcję v: Form*→{0,1} nazywamy interpretacją formuł.
Stosując metajęzyk budowany jako język formalny składający się ze
schematów formuł rachunku kwantyfikatorów, w którym symbole: A, B, C,…
oznaczają dowolne formuły, a symbole A(x), B(x), … oznaczają Ŝe zmienna x
jest w formułach A, B, … zmienną wolną (nie związaną kwantyfikatorem),
określimy funkcję interpretacji w następujący sposób.
W reprezentacji standardowej, będącej wynikiem formalizacji, wiedza o
zasadach określania wartości logicznej zdań złoŜonych jest zazwyczaj
przedstawiana za pomocą tabel prawdziwościowych, budowanych dla
schematów tych zdań. Tabele prawdziwościowe dla formuł są wzorami, według
których określamy wartość logiczną zdania złoŜonego w zaleŜności od wartości
zdań składowych:
A
0
0
1
1
B
0
1
0
1
¬A
1
1
0
0
A∨B
0
1
1
1
A∧B
0
0
0
1
A⇒B
1
1
0
1
A⇔B
1
0
0
1
Tab. 1.2.1
Formuły, które są schematami tylko zadań prawdziwych nazywamy
tautologiami, a takie, które są schematami tylko zdań fałszywych nazywamy
kontrtautologiami.
To czy formuła jest tautologią czy nie moŜemy sprawdzić korzystając z
tabel prawdziwościowych. Np. kaŜda formuła postaci (A ∧ (B ∨ C)) ⇒ (¬C ⇒
A) jest tautologią, gdyŜ na podstawie tabel prawdziwościowych moŜna
wykazać, Ŝe przy dowolnych wartościach logicznych składowych A, B, C
formuła reprezentuje zadanie prawdziwe (Tab. 1.2.2)
ZauwaŜmy, Ŝe na podstawie tabel prawdziwościowych dla spójników
zdaniowych dysponujemy następującą wiedzą:
• formuła ¬A jest tautologią, gdy dowolne zdanie o schemacie A jest
fałszywe, co oznacza, Ŝe A jest kontrtautologią,
• formuła A ∨ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ∨ B
co najmniej jedno ze zdań o schematach A, B jest prawdziwe, w
szczególności, gdy jedna z formuł A lub B jest tautologią,
• formuła A ∧ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ∧ B
oba zdania schematach A, B są prawdziwe, w szczególności, gdy obie
formuły A i B są tautologiami,
• formuła A ⇒ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ⇒
B, jeŜeli zdanie o schemacie A jest prawdziwe, to zdanie o schemacie B jest
prawdziwe, w szczególności, jeŜeli formuła A jest tautologią, to B jest teŜ
tautologią,
• formuła A ⇔ B jest tautologią, gdy w dowolnym zdaniu o schemacie A ⇔ B
oba zdania o schematach A, B mają tę samą wartość logiczną, w
szczególności, gdy obie formuły A i B są tautologiami lub kontrtautologiami,
A
B
C
B∨C
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
1
1
1
¬C A ∧ (B ∨ C
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
¬C ⇒ (A ∧ (B ∨ C))⇒(¬C ⇒ A)
A
0
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
Tab. 1.2.2
RozwaŜmy teraz formuły poprzedzone kwantyfikatorami. Niech A(x) jest
dowolną formułą, w której x jest jedyną zmienną wolną. Oznaczmy zbiór
wszystkich zdań, których schematem jest ta formuła przez P, gdy wszystkie
zdania tego zbioru są prawdziwe, przez F, gdy są fałszywe, a przez T, gdy
niektóre zdania tego zbioru są prawdziwe, a niektóre fałszywe. Wiedzę o
wartościach logicznych zdań, których schematem jest formuła ∀xA(x) lub
formuła ∃xA(x) reprezentuje tabela
A(x)
P
F
T
∀xA(x)
1
0
0
∃xA(x)
1
0
1
Tab. 1.2.3
Wiedzę reprezentowaną przez powyŜszą tabelę, dla dowolnych funkcji
interpretacji, moŜemy teŜ sformułować następująco:
• jeŜeli formuła ∀xA(x) jest schematem zdania prawdziwego, to formuła A(x)
jest schematem zdań wśród których kaŜde zdanie jest prawdzie, np. zdanie o
schemacie A(c), gdzie wybór termu c nie zaleŜy od formuły A(x), a jedynie
od dziedziny argumentu x, jest więc dowolny,
• jeŜeli formuła ∃xA(x) jest schematem zdania prawdziwego, to formuła A(x)
jest schematem zdań wśród których co najmniej jedno zdanie jest prawdzie,
np. zdanie o schemacie A(c), gdzie wybór termu c zaleŜy od formuły A(x) i
od dziedziny argumentu x, a więc moŜe być dokonany tylko raz podczas
formalizacji tekstu,
• jeŜeli formuła ¬∀xA(x) jest schematem zdania prawdziwego, to formuła
¬A(x) jest schematem zdań wśród których co najmniej jedno zdanie jest
prawdzie, np. zdanie o schemacie ¬A(c), gdzie wybór termu c zaleŜy od
formuły A(x) i od dziedziny argumentu x, a więc moŜe być dokonany tylko
raz podczas formalizacji tekstu,
• jeŜeli formuła ¬∃xA(x) jest schematem zdania prawdziwego, to formuła
¬A(x) jest schematem zdań wśród których kaŜde zdanie jest prawdzie, np.
zdanie o schemacie ¬A(c), gdzie wybór termu c nie zaleŜy od formuły A(x),
a jedynie od dziedziny argumentu x, jest więc dowolny,
Definicja 1.2.2.1
Niech dla wyróŜnionego zbioru Atom atomów (formuł atomowych) języka
rachunku kwantyfikatorów określona jest funkcja v:Atom→{0,1}. Rozszerzamy
tę funkcję do zbioru Form* formuł wyprowadzonych z wyróŜnionych atomów za
pomocą reguł produkcji gramatyki języka Form, w sposób następujący:
(ZN) v(¬A)=1 wttw nieprawda, Ŝe v(A)=1,
(ZNN) v(¬¬A)=1 wttw v(A)=1,
(ZK) v(A∧B)=1 wttw v(A)=1 i v(B)=1,
(ZNK) v(¬(A∧B))=1 wttw nieprawda, Ŝe v(A)=1 lub nieprawda, Ŝe v(B)=1,
(ZA) v(A∨B)=1 wttw v(A)=1 lub v(B)=1,
(ZNK) v(¬(A∨B))=1 wttw nieprawda, Ŝe v(A)=1 i nieprawda, Ŝe v(B)=1,
(ZC) v(A⇒B)=1 wttw nieprawda, ze v(A)=1 lub v(B)=1,
(ZNK) v(¬(A⇒B))=1 wttw v(A)=1 i nieprawda, Ŝe v(B)=1,
(ZE) v(A⇔B)=1 wttw v(A)=1 i v(B)=1 lub
nieprawda, Ŝe v(A)=1 i nieprawda, Ŝe v(B)=1,
(ZNE) v(¬(A⇔B))=1 wttw nieprawda, Ŝe v(A)=1 i v(B)=1 lub
v(A)=1 i nieprawda, Ŝe v(B)=1,
(ZEX) v(∃xA(x))=1 wttw istnieje taka stała c
dotąd niewystępująca nigdzie w sprawdzaniu formuł,
Ŝe v(A(c))=1,
(ZNEX) v(¬∃xA(x))=1 wttw dla dowolnej stałej c v(¬A(c))=1,
(ZALLX) v(∀xA(x))=1 wttw dla dowolnej stałej c v(A(c))=1,
(ZNALLX) v(¬∀xA(x))=1 wttw istnieje taka stała c
dotąd niewystępująca nigdzie w sprawdzaniu formuł,
Ŝe v(¬A(c))=1,
to tak określoną funkcję v: Form*→{1} nazywamy interpretacją
rachunku kwantyfikatorów.
formuł
Wykorzystując powyŜszą wiedzę, sprawdzanie czy schemat danego zdania jest
tautologią moŜna dokonywać na dwa sposoby:
1. zbadać, czy wartość logiczna prawdziwego zdania złoŜonego o danym
schemacie nie zaleŜy od wartości logicznej zdań składowych – jest to
sprawdzanie wprost,
2. zbadać, czy załoŜenie, Ŝe zdanie złoŜone o danym schemacie ma wartość
logiczną fałszu, moŜe prowadzić do sytuacji, w której zdanie przyjmuje dwie
róŜne wartości logiczne czy teŜ, w której pewne zdanie i jego negacja są
jednocześnie prawdziwe lub jednocześnie fałszywe, tzn. zachodzi
sprzeczność – jest to sprawdzanie nie wprost.
Zastosowanie definicji 1.2.2 do sprawdzenia tautologiczności formuły rachunku
kwantyfikatorów moŜemy prowadzić dla dowolnych funkcji interpretacji w
dwóch typach notacji: drzewowej i linearnego zapisu poszczególnych kroków
sprawdzenia. W notacji drzewowej, kaŜdy wierzchołek drzewa jest zapisem
formuły uzyskanej z formuły w poprzednim wierzchołku po zastosowaniu
jednej z zasad sprawdzania wymienionych w definicji. W linearnej notacji
sprawdzenia formuły, kaŜdy nowy wiersz sprawdzenia jest numerowany
(etykietowany) numerem kolejnym, a zastosowanie rozwidlenia, jak w
przypadku alternatywy, prowadzi do kolejnego numerowania kaŜdej z dróg, a
dla kaŜdej drogi alternatywy po dopisaniu kropce, kolejnym numerowaniu
następnych kroków sprawdzenia. Np.
a.2 v(A ∨ B)=1,
b.1 v(A)=1,
……….
c.1 v(B)=1,
……….
lub
2.3 v(A ∨ B)=1,
2.4.1 v(A)=1,
………….
2.5.1 v(B)=1,
…………..
Przedstawmy schematy notacji zasad sprawdzania tautologiczności formuł
wystarczających w metodzie niewprost. Te zasady wymienione są w definicji
1.2.2 . Zaprezentujemy je po lewej stronie w notacji linearnej, a z prawej strony
w notacji drzewowej:
Zasada negacji formuły (ZN)
a:
v(¬A)=1,
…………………...
b:
v(A)=0
v(¬A)=1
………………..
v(A)=0
Zasada podwójnej negacji formuły (ZNN)
v(¬¬A)=1
a:
v(¬¬A)=1,
…………………..
b:
v(A)=1
……………
…..
v(A)=1
Zasada koniunkcji (ZK)
a:
v(A∧B)=1,
………………….
b:
v(A)=1
…………………
c:
v(B)=1
v(A∧B)=1
z a:,
………………..
z b:
v(A)=1
………………..
v(B)=1
Zasada wywodu rozgałęzionego dla alternatywy (ZA)
a:
v(A ∨ B)=1,
………..
b:
v(A)=1
……….
c:
v(B)=1
……….
v(A∨B)=1
(zał. dod.),
………………..
(zał. dod.),
v(A)=1
Zasada negacji alternatywy (ZNA)
a:
v(¬(A∨B))=1,
………………….
b:
v(¬A)=1
…………………
c:
v(¬B)=1
z a:,
z b:
v(¬(A∨B))
=1
………………..
v(¬A)=1
………………..
v(¬B)=1
v(B)=1
Zasada wywodu rozgałęzionego dla negacji koniunkcji (ZNK)
a:
v(¬(A ∧ B))=1,
……………
b:
v(¬A)=1
……….
c:
v(¬B)=1
……….
v(¬(A ∧ B))=1
(zał. dod.),
………………..
(zał. dod.),
v(¬A)=1
v(¬B)=1
Zasada negacji implikacji (ZNC)
a:
v(¬(A⇒B))=1,
………………….
b:
v(A)=1
…………………
c:
v(¬B)=1
v(¬(A⇒B))=1
z a:,
………………..
z b:
v(A)=1
………………..
v(¬B)=1
Zasada wywodu rozgałęzionego dla implikacji (ZC)
a:
v(A ⇒ B)=1,
…………
b:
v(¬A)=1
……….
c:
v(B)=1
……….
v(A⇒B)=1
(zał. dod.),
………………..
(zał. dod.),
v(¬A)=1
v(B)=1
Zasada wywodu rozgałęzionego dla równowaŜności (ZE)
a:
v(A ⇔ B)=1,
b:
v(A∧B)=1
……….
c:
v(¬A∧¬B)=1
……….
v(A⇔B)=1
(zał. dod.),
………………..
(zał. dod.),
v(A∧B)=1
v(¬A∧¬B)=1
Zasada wywodu rozgałęzionego dla negacji równowaŜności (ZNE)
a:
v(¬(A ⇔ B))=1,
b:
v(¬A∧B)=1
(zał. dod.),
……….
(zał. dod.),
c:
v(A∧¬B)=1
……….
v(¬(A ⇔ B))=1
………………..
v(¬A∧B)=1
Zasada kwantyfikatora egzystencjalnego (ZEX)
a:
v(∃xA(x))=1,
……………..
b:
v(A(c))=1 z a:,
……………
v(∃xA(x))=1
………………..
v(A(c))=1
dla stałej c nie uŜywanej dotąd we sprawdzaniu
Zasada kwantyfikatora generalnego (ZALLX)
a:
v(∀xA(x))=1,
……………..
b:
v(A(c))=1 z a:,
……………
v(∀xA(x))=1
………………..
v(A(c))=1
dla dowolnej stałej c
v(A∧¬B)=1
Zasada negacji kwantyfikatora egzystencjalnego (ZNEX)
a:
v(¬∃xA(x))=1,
……………..
b:
v(¬A(c))=1 z a:,
……………
v(¬∃xA(x))=
1
………………..
v(¬A(c))=1
dla dowolnej stałej c
Zasada negacji kwantyfikatora generalnego (ZNALLX)
a:
v(¬∀xA(x))=1,
……………..
b:
v(¬A(c))=1 z a:,
……………
v(¬∀xA(x))
=1
………………..
v(¬A(c))=1
dla stałej c nie uŜywanej dotąd we sprawdzaniu
Algorytm sprawdzania tautologiczności formuł
1. RozwaŜamy negację sprawdzanej formuły.
2. Stosujemy zasady sprawdzania wartości logicznej wychodząc od negacji
sprawdzanej formuły, a zasady (ZALLX), (ZNEX), pozwalające wstawić dowolne
stałe stosujemy, gdy juŜ nie moŜemy zastosować zasad (NALLX), (ZEX),
podstawiając juŜ wcześniej uŜyte stałe tak aby w dalszym ciągu moŜna było
uzyskać wartościowania sprzeczne.
3. Sprawdzenie kończymy w danej linii sprawdzania (na drodze drzewa sprawdzania),
gdy natkniemy się na sprzeczność lub otrzymamy sprawdzenie literału (atomu lub
negacji atomu), a dalsze zastosowanie zasad sprawdzanie nie moŜe prowadzić do
uzyskania nowych literałów.
4.
Napotkanie zakończenia według pkt. 3, oraz wykazanie, Ŝe nie daje się
rozstrzygnąć czy uzyskamy sprzeczność końcowego literału z jakimś członem na
danej drodze dowodu - sprzeczności nie ma lub poszukiwanie jej musi prowadzić
do zapętlenia rozumowania; gdy sprzeczności nie ma to sprawdzanie badanej
formuły kończy się wynikiem: formuła nie jest tautologią, w przypadku zapętlenia
sprawdzania zakończenie jest nierozstrzygalne.
5. Napotkanie sprzeczności w kaŜdej linii sprawdzania (drogi drzewa sprawdzania)
kończy sprawdzanie tautologiczności badanej formuły wynikiem: formuła jest
tautologią.
Przykład 1.2.2.1
(((p1⇒p2)∨¬p1)⇒p2)
Sprawdzenie linearne
1
v(¬(((p1⇒p2)∨¬p1)⇒p2))=1
zał. nwp,
2
v(((p1⇒p2)∨¬p1))=1
z 1, (NC),
3
v(¬p2)=1
z 1, (NC),
4.1
v((p1⇒p2))=1
2, zał. dod.,
4.2.1 v(¬p1)=1
4.1, zał. dod.
W 4.2.1 literał ¬p1 nie pozostaje w sprzeczności z p1, gdyŜ ta formuła nie
występuje przed zał. 4.2.1, zatem badana formuła nie jest tautologią
Sprawdzenie drzewowe
v(¬(((p1⇒p2)∨¬p1)⇒p2))=1
v(((p1⇒p2)∨¬p1))=1
v(¬p2)=1
v(p1⇒p2)=1
v(¬p1)=1
Literał ¬p1 nie pozostaje w sprzeczności z literałem p1 na drodze drzewa
zaznaczonej przerywana kreską: badana formuła nie jest tautologią.
Przykład 1.2.2.2
(¬(p1⇒p2)⇔(p1∧¬p2))
Sprawdzenie linearne
1
v(¬(¬(p1⇒p2)⇔(p1∧¬p2)))=1
zał.nwp,
2.1
v((¬¬(p1⇒p2)∧(p1∧¬p2))=1
1, (ZNE), zał.dod.,
2.2
v((p1⇒p2))=1
2.1, (ZNN),(ZK),
2.3
v((p1∧¬p2))=1
2.1, (ZK),
2.4
v(p1)=1
2.3, (ZK),
2.5
v(¬p2)=1
2.3,(ZK),
2.6.1 v(¬p1)=1
2.6
2.2, (ZK), zał. dod.,
sprzeczność 2.4 z 2.6.1,
2.7.1 v(p2)=1
2.2, (ZK), zał. dod.,
2.7
sprzeczność 2.5 z 2.7.1,
3.1
v((¬(p1⇒p2)∧¬(p1∧¬p2))=1
1, (ZNE), zał.dod.,
3.2
v((¬(p1⇒p2))=1
3.1, (ZK),
3.3
v(¬(p1∧¬p2))=1
3.1, (ZK),
3.4
v(p1)=1
3.2, (ZNC),
3.5
v(¬p2)=1
3.2, (ZNC),
3.6.1 v(¬p1)=1
3.6
3.3, (ZNK), zał.dod.,
sprzeczność 3.4 z 3.6.1,
3.7.1 v(¬¬p2)=1
3.3, (ZNK), zał.dod.,
3.7.2 v(p2)=1
3.7.1, (ZNN),
3.7
sprzeczność 3.5 z 3.7.2.
PoniewaŜ sprzeczności wystąpiły we wszystkich określonych przez kolejne
załoŜenia dodatkowe liniach sprawdzania negacji formuły, więc badana
formuła jest tautologią.
Sprawdzenie w notacji drzewowej
v(¬(¬(p1⇒p2)⇔(p1∧¬p2)))=1
v((¬¬(p1⇒p2)∧(p1∧¬p2))=1
v((¬(p1⇒p2)∧¬(p1∧¬p2))=1
v((p1⇒p2))=1
v(¬(p1⇒p2))=1
v((p1∧¬p2))=1
v(¬(p1∧¬p2))=1
v(p1)=1
v(p1)=1
v(¬p2)=1
v(¬p2)=1
v(¬p1)=1
v(p2)=1
v(¬p1)=1
v(¬¬p2)=1
v(p2)=1
Idąc od wartości literałów umieszczonych na końcach drzewa do wierzchołka
wszędzie napotykamy na sprzeczności, a więc: badana formuła jest tautologią.
Przykład 1.2.2.3
Prawo przenoszenia kwantyfikatora generalnego do jednego ze składników
alternatywy: (∀x(A ∨ B(x)) ⇔ (A ∨ ∀xB(x))).
Sprawdzenie w notacji linearnej
1
v(¬(∀x(A ∨ B(x)) ⇔ (A ∨ ∀xB(x))))=1
zał.nwp,
2.1
v((¬∀x(A ∨ B(x)) ∧ (A ∨ ∀xB(x))))=1
1, (ZNE), zał. dod.,
2.2
v(¬∀x(A ∨ B(x)))=1
2.1,(ZK),
2.3
v((A ∨ ∀xB(x)))=1
2.1, (ZK),
2.4
v(¬(A ∨ B(c1)))=1
2.2,(ZNALLX),
2.5
v(¬A)=1
2.4, (ZNA),
2.6
v(¬B(c1))=1
2.4, (ZNA),
2.7.1 v(A)=1
2.7
2.3, (ZA), zał.dod.,
sprzeczność 2.5 z 2.7.1,
2.8.1 v(∀xB(x))=1
2.3, (ZA), zał.dod.,
2.8.2 v(B(c1))=1
2.8.1, (ZALLX),
2.8
sprzeczność 2.6 z 2.8.2,
3.1
v((∀x(A ∨ B(x)) ∧ ¬ (A ∨ ∀xB(x))))=1
1, (ZNE), zał. dod.,
3.2
v(∀x(A ∨ B(x)))=1
3.1, (ZK),
3.3
v(¬ (A ∨ ∀xB(x)))=1
3.1, (ZK),
3.4
v(¬ A)=1
3.3, (ZNA),
3.5
v(¬B(c2))=1
3.3, (ZNA),
3.6
v((A ∨ B(c2)))=1
3.2, (ZALLX),
3.7.1 v(A)=1
3.7
sprzeczność 3.4 z 3.7.1,
3.8.1 v(B(c2))=1
3.8
3.6, (ZA),zał.dod.,
3.6, (ZA), zał.dod.,
sprzeczność 3.5 z 3.8.1.
We wszystkich liniach rozgałęzień sprawdzania formuły wystąpiły sprzeczności,
a więc: badana formuła jest tautologią dla dowolnych podstawień innych
formuł za formułę zamkniętą A i formułę B(x).
Sprawdzenie w notacji drzewowej
v(¬(∀x(A ∨ B(x)) ⇔ (A ∨ ∀xB(x))))=1
v((¬∀x(A ∨ B(x)) ∧ (A ∨ ∀xB(x))))=1
v( (∀x(A ∨ B(x)) ∧ ¬ (A ∨ ∀xB(x))))=1
v(¬∀x(A ∨ B(x)))=1
v(∀x(A ∨ B(x)))=1
v((A ∨ ∀xB(x)))=1
v(¬ (A ∨ ∀xB(x)))=1
v(¬(A ∨ B(c1))=1
v(¬ A)=1
v(¬A))=1
v(¬∀xB(x))=1
v(¬B(c1))=1
v(¬B(c2))=1
v(A)=1
v(∀xB(x))=1
v(B(c1))=1
v(A ∨ B(c2))=1
v(A)=1
v(B(c2))=1
Idąc od wartości literałów umieszczonych na końcach drzewa do wierzchołka
wszędzie napotykamy na sprzeczności, a więc: badana formuła jest tautologią
dla dowolnych podstawień innych formuł za formułę zamkniętą A i formułę
B(x).
ZauwaŜmy, Ŝe sprawdzanie tautologiczności bazuje na wnioskowaniu, tak więc
opisane zasady sprawdzania moŜna precyzyjniej przedstawić w postaci
następujących schematów – reguł wnioskowania (wywodu, derywacji):
(NN)
¬¬A
A
A∧ B
A
(K)
(NK)
¬( A ∧ B)
¬A | ¬B
B
(A)
A∨ B
A| B
¬( A ∨ B)
¬A
¬B
¬( A ⇒ B)
(NC)
A
¬B
¬( A ⇔ B)
(NE)
(¬A ∧ B ) | ( A ∧ ¬B )
(NA)
(C)
A⇒ B
¬A | B
(E)
A⇔ B
( A ∧ B ) | (¬A ∧ ¬B )
(EX)
∃xA( x)
A(c)
(NEX)
(ALL)
∀xA( x)
A(c)
(NALL)
¬∃xA( x)
¬A( x)
¬∀x( Ax)
¬A(c)
Gdzie znak „|” oznacza rozgałęzienie wywodu, a ograniczenia nałoŜone na
term są takie jak poprzednio. Dla stałych c w regułach , EX, NEX, ALL, NALL
stosujemy te same warunki co dla odpowiednich zasad sprawdzania. Schemat
formuły na poziomą kreską oznacza, Ŝe formuła ta występuje jako wiersz
dowodu, a schemat formuły napisany pod kreską poziomą, oznacza, ze formułę
taka moŜemy dopisać do tekstu dowodu jako nowy jego wiersz.
Logicy w XX w. system dowodzenie wykorzystujący powyŜsze reguły
nazwali dla zapisu linearnego systemem tabel semantycznych, a dla notacji
drzewowej metodą tabel semantycznych.
Przyjmijmy, Ŝe zamiast pisać wyraŜenie mówiące o prawdziwości formuły, w
tekstach sprawdzania tautologiczności formuł będziemy pisali tylko samą formułę, a
nazwy zasad sprawdzania zastąpimy odpowiadającymi tym zasadom nazwami reguł
wnioskowania. Wtedy tekst sprawdzania tautologiczności formuły metodą niewprost
przekształcony zostanie w tekst dowodu niewprost z uŜyciem reguł wnioskowania
systemu tabel semantycznych, a drzewa sprawdzania staną się tabelami
semantycznymi. Otrzymamy dowód badanej formuły, tak więc ta formuła będzie
tezą rachunku kwantyfikatorów w systemie tabel semantycznych.
Dokonując proponowane przekształcenie linearnego tekstu sprawdzania formuły
rachunku kwantyfikatorów w Przykładzie 1.2.2.3 otrzymamy następujący tekst
dowodu tej formuły
Przykład 1.2.2.4
(∀x(A ∨ B(x)) ⇔ (A ∨ ∀xB(x))).
Dowód:
1
¬(∀x(A ∨ B(x)) ⇔ (A ∨ ∀xB(x)))
zał.nwp,
2.1
(¬∀x(A ∨ B(x)) ∧ (A ∨ ∀xB(x)))
1, (NE), zał. dod.,
2.2
¬∀x(A ∨ B(x))
2.1,(K),
2.3
(A ∨ ∀xB(x))
2.1, (K),
2.4
¬(A ∨ B(c1))
2.2,(NALLX),
2.5
¬A
2.4, (NA),
2.6
¬B(c1)
2.4, (NA),
2.7.1 A
2.7
2.3, (A), zał.dod.,
sprzeczność 2.5 z 2.7.1,
2.8.1 ∀xB(x)
2.3, (A), zał.dod.,
2.8.2 B(c1)
2.8.1, (ALLX),
2.8
sprzeczność 2.6 z 2.8.2,
3.1
(∀x(A ∨ B(x)) ∧ ¬ (A ∨ ∀xB(x)))
1, (NE), zał. dod.,
3.2
∀x(A ∨ B(x))
3.1, (K),
3.3
¬ (A ∨ ∀xB(x))
3.1, (K),
3.4
¬A
3.3, (NA),
3.5
¬B(c2)
3.3, (NA),
3.6
(A ∨ B(c2))
3.2, (ALLX),
3.7.1 A
3.7
sprzeczność 3.4 z 3.7.1,
3.8.1 B(c2)
3.8
3.6, (A),zał.dod.,
sprzeczność 3.5 z 3.8.1.
3.6, (A), zał.dod.,
Nietrudno zauwaŜyć, Ŝe zaprezentowane wyŜej reguły wywodu formuł w
rachunku kwantyfikatorów pozwalają budować dowody niewprost dla tych
formuł w sposób równokształtny do pokazanego sprawdzania tautologiczności
tych formuł. Tak więc zachodzi
Metatwierdzenie 1.2.2.1 (o pełności)
Formuły dowodzone w systemie tabel semantycznych są tezami systemu wttw
gdy interpretowane są jako tautologie.
W powyŜszym kontekście, o system tabel semantycznych nazywamy systemem
pełnym.
We sprawdzaniu tautologiczności dowolnej formuły zamkniętej A
stosujemy pojęcie wynikania logicznego formuła A z pewnego zbioru X formuł
poprzedzających ja tym sprawdzaniu, co zapisujemy: X |= A.
Definicja 1.2.2.2 (wynikania logicznego)
1.
|= A =df v(A) = 1,
2.
X |= A =df istnieją formuły A1, A2,…,An ∈ X takie, Ŝe
v((A1∧ A2 ∧…∧ An) ⇒ A) = 1.
Odpowiednikiem wynikania w dowodach tez jest ich wyprowadzanie, co
zapisujemy: X |- A.
Definicja 1.2.2.3 (wyprowadzania, wywodu formuł)
3.
|- A =df A jest tezą,
4.
X |= A =df istnieją formuły A1, A2,…,An ∈ X takie, Ŝe formuła
(A1∧ A2 ∧…∧ An) ⇒ A jest tezą.
Metatwierdzenie 1.2.2.2
System tabel semantycznych jest systemem pełnym wttw gdy dla dowolnego
zbioru X formuł zamkniętych oraz dowolnej formuły zamkniętej A:
X |- A wttw gdy X|= A.
Metoda tabel semantycznych jest takŜe skuteczna do badania poprawności
rozumowań prezentowanych w tekstach wyraŜających wiedzę z dowolnych
dziedzin oraz do określenia szerokiej klasy formuł (tzw. klauzul hornowskich),
dla których moŜliwa jest automatyzacja rozumowań przez komputery. Tak
rozumiana automatyzacja jest przedmiotem programowania logicznego.
Tabele praw rachunku zdań
L1. (modus ponendo ponens)
(((A⇒B)∧ A) ⇒ B)
L2. (modus tollendo tollens)
(((A⇒B)∧ ¬B) ⇒ ¬A)
L3. (modus tollendo ponens)
(((A∨B)∧ ¬B) ⇒ A)
L4. (prawo transpozycji)
((A ⇒ B) ⇔ (¬B ⇒ ¬A))
L5. (prawo redukcji do absurdu)
(((A ⇒ B) ∧ (A ⇒ ¬B)) ⇒ ¬A)
L6. (prawo negacji implikacji)
(¬(A ⇒ B) ⇔ (A ∧ ¬B))
L7. (prawo de Morgana dla koniunkcji)
(¬(A ∧ B) ⇔ (¬A ∨ ¬B))
L8. (prawo de Morgana dla alternatywy)
(¬(A ∨ B) ⇔ (¬A ∧ ¬B))
L9. (sylogizm hipotetyczny)
(((A ⇒ B) ∧ (B ⇒ C)) ⇒ (A ⇒ C))
L10. (dylemat konstrukcyjny prosty)
((((A ⇒ C) ∧ (B ⇒ C)) ∧ (A ∨ B)) ⇒ C)
L11. (dylemat konstrukcyjny złoŜony)
((((A ⇒ C) ∧ (B ⇒ D)) ∧ (A ∨ B)) ⇒ (C∨ D))
Tablice praw rachunku kwantyfikatorów
L12. (prawo de Morgana dla kwantyfikatora generalnego)
(¬∀xA(x) ⇔ ∃x(¬A(x)))
L13. (prawo de Morgana dla kwantyfikatora egzystencjalnego)
(¬∃xA(x) ⇔ ∀x(¬A(x)))
(prawa de Morgana dla kwantyfikatorów o ograniczonym zasięgu)
∀(x|D(x)) A =df ∀x (D(x) ⇒ A),
∃(x|D(x)) A =df ∃x (D (x) ∧ A)
L14. (¬∀(x|A(x))B(x) ⇔ ∃(x|A(x))(¬B(x)))
L15. (¬∃(x|A(x))B(x) ⇔ ∀(x|A(x))(¬B(x)))
L16. (pierwsze prawo rozkładu kwantyfikatora generalnego na implikację)
(∀x(A(x) ⇒ B(x)) ⇒ (∀xA(x) ⇒ ∀xB(x)))
L17. (drugie prawo rozkładu kwantyfikatora generalnego na implikację)
(∀x(A(x) ⇒ B(x)) ⇒ (∃xA(x) ⇒ ∃xB(x)))
L18. ( prawo rozkładu kwantyfikatora generalnego na koniunkcję)
(∀x(A(x) ∧ B(x)) ⇔ (∀xA(x) ∧ ∀xB(x)))
L19. ( prawo rozkładu kwantyfikatora egzystencjalnego na koniunkcję)
(∃x(A(x) ∧ B(x)) ⇒ (∃xA(x) ∧ ∃xB(x)))
L20. ( prawo rozkładu kwantyfikatora egzystencjalnego na koniunkcję)
(∃x(A(x) ∧ B(x)) ⇒ (∃xA(x) ∧ ∃xB(x)))
L21. ( prawo rozkładu kwantyfikatora egzystencjalnego na alternatywę)
(∃x(A(x) ∨ B(x)) ⇔ (∃xA(x) ∨ ∃xB(x)))
L22. ( prawo wyłączania kwantyfikatora egzystencjalnego przed alternatywę)
((∃xA(x) ∨ ∃xB(x))) ⇒ ∃x(A(x) ∨ B(x)))
L23. (prawo przenoszenia kwantyfikatora generalnego do następnika
implikacji)
(∀x(A ⇒ B(x)) ⇔ (A ⇒ ∀xB(x)))
L24. (prawo przenoszenia kwantyfikatora egzystencjalnego do następnika
implikacji)
(∃x(A ⇒ B(x)) ⇔ (A ⇒ ∃xB(x)))
L25. (prawo przenoszenia kwantyfikatora generalnego do poprzednika
implikacji)
(∀x(A(x) ⇒ B) ⇒ (∀xA(x) ⇒ B))
L26. (prawo przenoszenia kwantyfikatora egzystencjalnego do poprzednika
implikacji)
(∃x(A(x) ⇒ B) ⇒ (∃xA(x) ⇒ B))
L27. (prawo przenoszenia kwantyfikatora generalnego do jednego ze
składników alternatywy)
(∀x(A ∨ B(x)) ⇔ (A ∨ ∀xB(x)))
L28. (prawo przenoszenia kwantyfikatora generalnego do jednego ze
składników koniunkcji)
(∀x(A ∧ B(x)) ⇔ (A ∧ ∀xB(x)))
L29. (prawo przenoszenia kwantyfikatora egzystencjalnego do jednego ze
składników alternatywy)
(∃x(A ∨ B(x)) ⇔ (A ∨ ∃xB(x)))
L30. (prawo przenoszenia kwantyfikatora egzystencjalnego do jednego ze
składników koniunkcji)
(∃x(A ∧ B(x)) ⇔ (A ∧ ∃xB(x)))
L31. (prawo przestawiania kwantyfikatora generalnego)
(∀x∀yA(x,y) ⇔ ∀y∀xA(x,y))
L32. (prawo przestawiania kwantyfikatora egzystencjalnego)
(∃x∃yA(x,y) ⇔ ∃y∃xA(x,y))
L33. (prawo przestawiania kwantyfikatora egzystencjalnego z generalnym)
(∃x∀yA(x,y) ⇒ ∀y∃xA(x,y))

Podobne dokumenty