Professional Documents
Culture Documents
Logika NS Wykład 2
Logika NS Wykład 2
(informatyków)
Kierunek Infromatyka, studia
niestacjonarne I stopnia
Wykład nr 2
dr Adam Marszałek
Katedra Informatyki
Politechnika Krakowska
System hilbertowski H
System H można zdefiniować używając zamiast implikacji alternatywy lub koniunkcji jako podstawowego
operatora logicznego.
(A1) ⊢ A ∨ A ⇒ A
(A2) ⊢ A ⇒ (A ∨ B)
(A3) ⊢ (A ∨ B) ⇒ (B ∨ A)
Reguła:
⊢ A ⊢ A ⇒ B
⊢ B
Aksjomat Mereditha
Możliwe jest zdefiniowanie systemu hilbertowskiego za pomocą tylko jednego aksjomatu i reguły modus
ponens.
({[(A ⇒ B) ⇒ (¬C ⇒ ¬D)] ⇒ C} ⇒ E) ⇒ [(E ⇒ A) ⇒ (D ⇒ A)]
System gentzenowski G
System gentzenowski G jest systemem dowodzenia. Aksjomatami są zbiory formuł zawierające pary literałów
komplementarnych. Reguły dowodzenia są nastepujące:
⊢ U1 ∪ {α} ⊢ U1 ∪ U2 ∪ {β}
Przykład:
Wyprowadzenie formuły: (p ∨ q) ⇒ (q ∨ p)
Operujemy na aksjomatach w posatci zbiorów formuł. Zbiór formuł stanowi domyślną alternatywę tych formuł, a
zatem każdy aksjomat jest formułą prawdziwą (gdyż zawiera literały komplementarne).
1. ⊢ ¬q, q, p (Aksjomat)
1. ⊢ (p ∨ q) ⇒ (q ∨ p) (α →: 4)
W odróżnieniu od systemu hilbertowskiego, w naturalnej dedukcji istotne są reguły dowodzenia, a aksjomat jest
bardzo prosty.
(A0) Δ, ϕ ⊢ ϕ
Reguły dowodzenia
Δ, ϕ ⊢ ψ Δ ⊢ ϕ ⇒ ψ Δ ⊢ ϕ
(⇒ intro) (⇒ elim)
Δ ⊢ ϕ ⇒ ψ Δ ⊢ ψ
Δ ⊢ ϕ Δ ⊢ ψ Δ ⊢ ϕ ∧ ψ Δ ⊢ ϕ ∧ ψ
(∧ intro) (∧ elim) (∧ elim)
Δ ⊢ ϕ ∧ ψ Δ ⊢ ϕ Δ ⊢ ψ
Δ ⊢ ϕ Δ ⊢ ψ Δ ⊢ ϕ ∨ ψ Δ, ϕ ⊢ θ Δ, ψ ⊢ θ
(∨ intro) (∨ intro) (∨ elim)
Δ ⊢ ϕ ∨ ψ Δ ⊢ ϕ ∨ ψ Δ ⊢ θ
Δ, ¬ϕ ⊢ F
(P S)
Δ ⊢ ϕ
Charakterystyczną cechą naturalnej dedukcji jest to, że reguły dowodzenia (za wyjątkiem reguły (PS) ”przez
sprzeczność”) są podzielone na grupy, po jednej dla każdego spójnika. W ramach jednej takiej grupy mamy dwa
rodzaje reguł.
Reguły wprowadzania mówią o tym w jakiej sytuacji można wprowadzić dany spójnik na prawo od znaku ⊢ (tj.
wywnioskować formułę danego kształtu).
Reguły eliminacji mówią o tym w jakiej sytuacji można ten spójnik wyeliminować, tzn. jak można użyć formuły
zbudowanej z jego pomocą do wyprowadzenia innej formuły.
Regułę dowodzenia ”przez sprzeczność” można traktować jako ”silną” regułę eliminacji F . Pamiętajmy, że ¬ϕ
oznacza formułę ϕ ⇒ F .
Δ, ϕ ⊢ F
Δ ⊢ ¬ϕ
Δ ⊢ ¬ϕ Δ ⊢ ϕ
Δ ⊢ F
Dowodem sekwentu Δ ⊢ ϕ w systemie naturalnej dedukcji nazwiemy drzewo etykietowane sekwentami tak, że:
korzeń ma etykietę Δ ⊢ ϕ ,
liście są etykietowane wystąpieniami aksjomatu
oraz każdy wewnętrzny wierzchołek jest etykietowany sekwentem otrzymanym z etykiet potomków tego
wierzchołka przy zastosowaniu jednej z reguł.
Gdy Δ = ∅ , to mówimy też, że ϕ jest twierdzeniem systemu naturalnej dedukcji i zapisujemy to przez ⊢ N ϕ .
Jeśli Δ jest zbiorem nieskończonym, to Δ ⊢N ϕ oznacza, że istnieje dowód sekwentu Δ 0 ⊢ ϕ , dla pewnego
skończonego Δ 0 ⊆ Δ .
Przykład
1. p, q ⊢ p
p, q ⊢ p
1. (⇒ intro)
p ⊢ q ⇒ p
p, q ⊢ p
(⇒ intro)
p ⊢ q ⇒ p
1. (⇒ intro)
⊢ p ⇒ (q ⇒ p)
Niech Δ = {p ⇒ (q ⇒ r), p ⇒ q, p}
Δ ⊢ p ⇒ (q ⇒ r) Δ ⊢ p Δ ⊢ p ⇒ q Δ ⊢ p
(⇒ elim) (⇒ elim)
Δ ⊢ q ⇒ r Δ ⊢ q
(⇒ elim)
Δ ⊢ r
Stosując następnie trzy raz regułę (⇒ intro) do sekwentu Δ ⊢ r otrzymamy aksjomat A2.
Rachunek sekwentów
Rozszerzymy teraz nieco pojęcie sekwentu. Przez sekwent będziemy teraz rozumieć napis Δ ⊢ Γ , gdzie Δ oraz
Γ są skończonymi zbiorami formuł.
Podobnie jak w poprzednio rozważamy formuły, zbudowane w oparciu o spójniki ⇒, ∨, ∧ oraz stałą zdaniową F
. Negację ¬ traktujemy jako spójnik zdefiniowany przez ⇒ i F .
Aksjomaty:
(A0) Δ, ϕ ⊢ Γ, ϕ
(AF) Δ, F ⊢ Γ
Aksjomat (AF) można traktować jako regułę (bez przesłanek) wprowadzenia F z lewej strony znaku ⊢.
Podobnie jak wcześniej charakterystyczną cechą rachunku sekwentów jest specyficzna postać reguł.
Reguły w tym systemie naturalnie dzielą się na dwie grupy: jedna grupa reguł opisuje sytuacje kiedy możemy
wprowadzić dany spójnik na lewo od znaku ⊢, a druga grupa jest odpowiedzialna za wprowadzanie spójnika na
prawo od ⊢.
Dla każdego spójnika mamy odpowiadającą parę reguł.
Reguły dowodzenia
Δ ⊢ Γ, ϕ Δ, ψ ⊢ Γ Δ, ϕ ⊢ Γ, ψ
(⇒ lewa) (⇒ prawa)
Δ, ϕ ⇒ ψ ⊢ Γ Δ ⊢ Γ, ϕ ⇒ ψ
Δ, ϕ, ψ ⊢ Γ Δ ⊢ Γ, ϕ Δ ⊢ Γ, ψ
(∧ lewa) (∧ prawa)
Δ, ϕ ∧ ψ ⊢ Γ Δ ⊢ Γ, ϕ ∧ ψ
Δ, ϕ ⊢ Γ Δ, ψ ⊢ Γ Δ ⊢ Γ, ϕ, ψ
(∨ lewa) (∨ prawa)
Δ, ϕ ∨ ψ ⊢ Γ Δ ⊢ Γ, ϕ ∨ ψ
Dowodem sekwentu Δ ⊢ Γ , tak jak poprzednio, nazywamy drzewo etykietowane sekwentami tak, że:
Jeśli istnieje dowód sekwentu Δ ⊢ Γ w rachunku sekwentów to zapisujemy to tak: Δ ⊢G Γ (Litera G pochodzi
od nazwiska twórcy tego systemu, G. Gentzena)
Jeśli mamy sekwent Δ ⊢ Γ, ϕ , to stosując aksjomat (AF), a następnie (⇒ lewa) dostajemy sekwent Δ, ¬ϕ ⊢ Γ .
Zatem natępująaca reguła jest dopuszczalna w systemie ⊢ (tj. jeśli dodamy ją do systemu, to zbiór
G
Δ ⊢ Γ, ϕ
(¬ lewa)
Δ, ¬ϕ ⊢ Γ
Jeśli mamy dowód sekwentu δ ⊢ Γ , to dla każdej formuły ϕ możemy ją dodać do prawej strony każdego
sekwentu w tym dowodzie i otrzymamy dowód sekwentu Δ ⊢ Γ, ϕ . W szczególności, jeśli mamy udowodniony
sekwent Δ, ϕ ⊢ Γ , to możemy też udowodnić sekwent Δ, ϕ ⊢ Γ, F . Stosując do niego regułę (⇒ prawa)
otrzymujemy sekwent Δ ⊢ Γ, ¬ϕ . Tym samym pokazaliśmy, że następująca reguła jest dopuszczalna w systemie
⊢G :
Δ, ϕ ⊢ Γ
(¬ prawa)
Δ ⊢ Γ, ¬ϕ
Dla dowodu implikacji odwrotnej rozszerza się system ⊢ przez dodanie nowej reguły zwanej cięciem.
G
Δ, ϕ ⊢ Γ Δ ⊢ ϕ, Γ
(ci cie)ę
Δ ⊢ Γ
Główna zaleta dowodów w rachunku sekwentów (bez cięcia) wynika z następującej własności podformuł:
Dla danej formuły ϕ, łatwiej więc znaleźć dowód w sensie Gentzena niż np. dowód w sensie Hilberta.
Z własności podformuł wynika też własność konserwatywności systemu nad swoimi fragmentami:
jeśli formuła, w której nie występuje jakiś spójnik jest tautologią, to jej wyprowadzenie nie wymaga reguł
związanych z tym spójnikiem.
Przykład:
Ponieważ najbardziej zewnętrznym spójnikiem w rozważanej formule jest ⇒, to ostatnią regułą w poszukiwanym
Δ, ϕ ⊢ Γ, ψ
dowodzie musiała być reguła (⇒ prawa)
Δ ⊢ Γ, ϕ ⇒ ψ
Najbardziej zewnętrznym spójnikiem formuły po lewej stronie jest ¬, a zatem na mocy reguły (¬ lewa)
Δ ⊢ Γ, ϕ
Δ, ¬ϕ ⊢ Γ
Δ, ϕ ⊢ Γ
Podobnie, na mocy reguły (¬prawa)
Δ ⊢ Γ, ¬ϕ
Jeśli zastosujemy powyższą procedurę do formuły, która nie jest tautologią, to dostaniemy wskazówkę na to
gdzie należy szukać wartościowania falsyfikującego tę formułę (Wartościowanie falsyfikujące sekwent Δ ⊢ Γ to
takie, które spełnia wszystkie formuły z Δ oraz falsyfikuje wszystkie formuły z Γ.)
Dla zilustrowania tej tezy weżmy bardzo prosty sekwent ⊢ p ⇒ q . Postępując podobnie jak porzednio
dochodzimy do sekwentu p ⊢ q , który nie jest aksjomatem, i którego nie możemy już dalej rozłożyć.
Klauzulą nazywamy zbiór literałów, rozumiany domyślnie jako alternatywa tych literałów.
Formułą w postaci klauzulowej nazywamy zbiór klauzul, rozumiany domyślnie jako koniunkcja tych klauzul.
Przykład:
(¬q ∨ ¬p ∨ q) ∧ (p ∨ ¬p ∨ q ∨ p ∨ ¬p)
to
Notacje
W skróconym zapisie postaci klauzulowej pomijamy wewnęrzne nawiasy, a negację atomu oznaczamy przez
umieszczenie kreski nad nazwą tego atomu.
{q̄ p̄ q, pp̄ q}
W dalszej części S będzie oznaczać zbiór klauzul (czyli formułę w postaci klauzulowej), C - klauzulę, a l - literał.
Jeśli l jest literałem, to przez l będziemy oznaczać jego dopełnienie. Jeśli zatem l
−
= p to l −
= p̄ , a jeśli l = p̄ ,
to l −
= p .
spełnialny.
Następujące lematy przedstawiają różne sposoby przekształacania formuły, niezmieniając jej spełnialności.
Lemat: Załóżmy, że pewien literał l występuje w (klauzuli) S , a l nie występuje w (żadnej klauzuli) S . Niech S
− ′
oznacza zbiór uzyskany z S poprzez usunięcie wszystkich klauzul zawierających literał l. Wówczas S ≈ S
′
.
Przykład:
Lemat: Niech C = {l} ∈ S bęzie klauzulą unarną, a S zbiorem klauzul otrzymanych z S przez usunięcie
′
wszystkich klauzul zawierających l oraz usunięcie literału l z każdej pozostałej klauzuli. Wówczas S −
≈ S
′
.
Przykład:
Będziemy odtąd zakładać, że formuła w postaci klauzulowej nie zawiera klauzul prawdziwych.
Dowód: Ponieważ klauzula jest alternatywą literałów, każde wartościowanie spełniające C spełnia również C . 1 2
Zbiór wartościowań spełniających mniejszą klauzulę jest zawary w zbiorze watościowań spełniających większą
klauzulę, a zatem znalezienie wartościowania spełniającego mniejszą klauzulę oznacza automatycznie znalezienie
wartościowania spełniającego większą.
Przykład:
przemianowaniem S względem U .
Lemat: S ≈ RU (S) .
Przykład:
Zbiór R {p,q}
(S) = {p̄ q̄ r, pq̄ , qr̄ , r} jest spełniony przez przez wartościowanie p = 1, q = 1, r = 1 .
Rezolucja
Rezolucja jest procedurą decyzyjną używaną do wykazania, że formuła w postaci klauzulowej jest niespełnialna.
Reguła rezolucji zachowuje spełnialność: jeżeli zbiór klauzul jest spełnialny, to zbiór klauzul uzyskany w wyniku
zastosowania reguły rezolucji też jest spełnialny.
Zatem jeśli uda się uzyskań niespełnialną klauzulę pustą, to będzie to oznaczać, że pierwotny zbiór klauzul jest
niespełnialny.
Reguła rezolucji
Niech C 1
, C2 będą klauzulami takimi, że l ∈ C1 , l
−
∈ C2 . Klauzule C 1
, C2 nazywamy klauzulami kolidującymi i
mówimy, że kolidują względem komplememntarnych literałów l, l . −
−
C = Rez(C1 , C2 ) = (C1 − {l}) ∪ (C2 − {l })
Przykład:
Rezolwentą tych klauzul jest klauzula C = (abc̄ − {c̄ }) ∪ (bcē − {c}) = ab ∪ bē = abē
Tw: Rezolwenta klauzul C i C jest spełnialna wtedy i tylko wtedy, gdy klauzule C i C są (wzajemnie)
1 2 1 2
spełnialne.
Przykład:
1. Wybieramy C 1 ,
= {p}, C2 = {p̄ q} C = {q}, S1 = {p, p̄ q, r̄ , p̄ q̄ r, q}
1. Wybieramy C 1 ,
= {p}, C2 = {p̄ q̄ r} C = {q̄ r}, S2 = {p, p̄ q, r̄ , p̄ q̄ r, q, q̄ r}
1. Wybieramy C 1 ,
= {r̄ }, C2 = {q̄ r} C = {q̄ }, S3 = {p, p̄ q, r̄ , p̄ q̄ r, q, q̄ r, q̄ }
1. Wybieramy C 1 ,
= {q}, C2 = {q̄ } C = □, S jest niespełnialny
Drzewo rezolucji
Drzewo, w którym liście zwierają oryginalne klauzule, a rezolwenty znajdują się w wewnętrznych wierzchołkach,
których potomkami są wierzchołki zawierające klauzule użyte w kroku rezolucji.
Tw: Jeśli zbiór klauzul umieszczonych w liściach drzewa rezolucji jest spełnialny, to klauzula znajdująca się w
korzeniu tego drzewa jest spełnialna.
Uw: Twierdzenie odwrotne nie musi zachodzić!.
Wn: (poprawność): Jeśli na podstawie metody rezolucji ze zbioru klauzul zostanie wyprowadzona klauzula
pusta, to zbiór klauzul jest niespełnialny.
Tw: (pełność): Jeśli zbiór klauzul jest niespełnialny, to za pomocą metody rezolucji można wyprowadzić klauzulę
pustą.
Klauzula rezolucji jest metodą dowodzenia przez zaprzeczenie, a zatem jej poprawność i pełność wyraża się w
odniesieniu do niespełnialności, a nie do prawdziwości.
Przykład:
Zaprzeczenie tej formuły sprowadzamy do koniunkcyjnej postaci normalnej a następnie do postaci klauzulowej.
Jest to zbiór klauzul z wcześniej rozwiązanego przykładu, a więc jest on niespełnialny. Zatem zaprzeczenie
początokowej formuły jest niespełnialne, a zatem formuła jest tautologią.
Relacje (przypomnienie)
ł
n sk adnik ów
Przykłady:
Sq(x, y) ⊂ N
2
jest zbiorem par (x, y) takich, że y = x
2
: {(0, 0), (1, 1), (2, 4), (3, 9), …}
odwzorowującej krotkę w wartość 1 wtedy i tylko wtedy, gdy należy ona do relacji, czyli
Rachunek predykatów
Zmienne
Funkcje
W rachunku predykatów wprowadza się również funkcje, które nie są funkcjami logicznymi, ale przyjmują
wartości z dziedziny interpretacji.
Argumentami funkcji mogą być zmienne lub inne funkcje.
Kwantyfikatory
Kwantyfikatory umożliwiają czysto składniowe wyrażanie stwierdzeń, że relacja zachodzi dla niektórych lub
wszystkich elementów dziedziny interpretacji.
W rachunku predykatów występują te same operatory, które znamy z rachunku zdań, czyli:
¬ - negacja,
∧ - koniunkcja,
∨ - alternatywa (dysjunkcja),
⇒ - implikacja,
⇔ - równoważność,
itd.
oraz
∀ - kwantyfikator uniwersalny,
∃ - kwantyfikator egzystencjalny.
Kwantyfikatory
Każdy skończony ciąg symboli podstawowych i operatorów rachunku predykatów nazywamy wyrażeniem języka
rachunku predykatów.
Przykłady:
∃x∃y(p(x) ∧ ¬p(y))
Term jest to stała, zmienna lub symbol funkcyjny, z listą termów w nawiasach.
Przykałdy:
f (g(x), y))
Przykłady:
p(a, b)
∀x∃y p(x, y)
∃x∃y](p(x) ∧ ¬p(y))
∀x p(a, x)
∀x (p(x) ∧ q(x)) ⇔ (∀x p(x) ∧ ∀x q(x))
Zmienne kwantyfikowane
Zmienna x występująca w formule A jest nazywana zmienną wolną wtw, gdy x nie leży w zasięgu zmiennej
kwantyfikowanej x.
A(x1 , … , xn ) oznacza, że zbiór zmiennych wolnych formuły A jest podzbiorem zbioru {x 1 … , xn } .
O zmiennej, która nie jest wolna mówimy, że jest związana.
Formuła niezawierająca zmiennych wolnych jest nazywana formułą zamkniętą.
Przykład
Wartość logiczna formuły zamkniętej nie zależy od wartości występującej w niej zmiennych.
Przykład:
Przykład:
A = ∀x p(x) ∧ q(y)
Przykład:
A = ∀x p(x) ∧ q(y)
Przykład:
Niech x ∈ X oraz y ∈ Y , gdzie X jest zbiorem osób posiadajacych prawo jazdy, a Y jest zbiorem samochodów,
natomiast p(x, y) oznacza relacje "x jest włascicielem y". Dalej, niech x = Kowalski oraz y = Fiat .
zmienne,
stałe,
wartosci funkcji
Przykład:
Interpretacją predykatu p(x, y, z) może być relacja R określona na zbiorze kątów ostrych, taka, że kąty x, y, z są
w relacji R, gdy są kątami tego samego trójkąta.
dziedzinę interpretacji (zbiór wartości jakie mogą przyjmować stałe, zmienne i funkcje),
funkcje odpowiadające symbolom funkcyjnym,
relacje odpowiadające symbolom predykatywnym.
gdzie:
D - niepusta dziedzina,
Ri - relacja przyporządkowana symbolowi predykatywnemu p , i
Przykład:
Interpretacja I 3
2
= {Z, {≥}, {x }, {5}}, 5 ≥ x
2
Wartościowanie
Przykład:
Formuła:
p(a, f (x))
Interpretacja I 2
= {N, {≥}, {x }, {5}} :
2
5 ≥ x
Wartościowanie σ I [x←3]
:
5 ≥ 9
Wartość termu należy do dziedziny interpretacji D i nie musi być wartością logiczną. Wartość termu zależy
zarówno od interpretacji, jak i od wartościowania.
Wartość termu t w interpretacji I i wartościowaniu σ oznaczamy przez v I σI (t) i definiujemy przez indukcję:
vσ (xi ) = σI (xi )
I
vσ (ai ) = di
I
gdzie:
Przykład:
Wartościowanie: σ I (x) = 1
Wartość termu: v σI (t) = vσ (f (x) + g(f (a))) = 2σI (x) + (2σI (a))
I
2
= 2 ⋅ 1 + (2 ⋅ 0)
2
= 2
Wartość atomu
A = pk (t1 , … , tn )
k
vσI (A) = 1 wtw (vσ (t1 ), … , vσ (tn )) ∈ R
I I
Przykład: A = p(a, x)
(0, 1) ∉ R , stąd v σI
(A) = 0
vσ (A1 ∨ A2 ) = 1
I
wtw vσ (A1 ) = 1 lub vσ (A2 ) = 1
I I
(podobnie dla pozostałych operatorów
logicznych)
vσ (∀x A) = 1
I
wtw v
σI [x←d]
ż
(A) = 1 dla ka dego d ∈ D
Przykład:
A = p(x, a), B = ¬A
σI (x) = 3
vσ (A) = 1
I
, a zatem v σI
(B) = 0
A = ∃y ∀x p(x, y)
+
I = {Z , {≥}, {}, {0}}
+ +
∃y ∈ Z ∀x ∈ Z x ≥ y
v
σI [y←1,x←d]
(p(x, y)) = 1 ż
dla ka dego d ∈ Z
+
Niech A ′
= A(x1 , … , xn ) nie będzie formułą zamknięta, a I niech będzie interpretacją. Wówczas:
vσ (Ai )
I
= 1 dla wszystkich wartościowań σ wtw, gdy I σI (∀x1 , … , ∀xn A ) = 1
′
.
Przykład: A = p(x, y)
Domkniecie uniwersalne A: A = ∀x ∀y p(x, y)
∀x ∈ N ∀y ∈ N x ≥ y
vσ [x←0,y←1]
(p(x, y)) = 0
I
Niech A ′
= A(x1 , … , xn ) nie będzie formułą zamknięta, a I niech będzie interpretacją. Wówczas:
vσ (Ai )
I
= 1 dla pewnego wartościowania σ wtw, gdy
I σI
′
(∃x1 , … , ∃xn A ) = 1 .
Przykład: A = p(x, y)
∃x ∈ N ∃y ∈ N x ≥ y
v (p(x, y)) = 1
σI [x←0,y←1]