Professional Documents
Culture Documents
Wyklad 3
Wyklad 3
˛ rachunku predykatów
1 Zmienne x, y , z . . .
2 Predykaty n-argumentowe P(x, y , . . . ), Q(x, y . . . ), . . .
3 Funktory zdaniowe ∼, ∧, ∨, →, ≡
4 Kwantyfikatory: istnieje ∃, dla każdego ∀
Przykłady:
P, P(x), Q(x), P(x, y ), Q(x, y , z), . . .
P ∨ Q(x), P(x) ∧ Q(x), Q(x) → P(x, y ), ∼ P(x) ∧ Q(x), . . .
∃x (P(x)), ∀y (P(x, y )), ∃x (P(x) → Q(x)), . . .
∀y (∃x (P(x) → Q(y )))
Zasiegiem
˛ kwantyfikatora nazywamy wyrażenie zawarte w na-
wiasie otwartym bezpośrednio po tym kwantyfikatorze.
Przykład:
Przykład:
Poprawne:
∃x (P(x)) ≡ ∃x P(x)
∃x (∀y (P(x, y ) → Q(x))) ≡ ∃x ∀y (P(x, y ) → Q(x))
Niepoprawne(!):
∃x (P(x) ∧ Q(x)) ≡ ∃x P(x) ∧ Q(x)
∃x P(x, y )
lub równoważnie:
∀y ∃x P(x, y ) → ∃x ∀y P(x, y )
To zdanie bedzie
˛ prawdziwe jeżeli np. U = {0, 1, 2}.
∃x (∼ ∃y (P(x) → Q(x, y )) T2
∃x ∀y ∼ (P(x) → Q(x, y )) T3
∃x ∀y ∼ (∼ P(x) ∨ Q(x, y )) prawo logiki
∃x ∀y (P(x)∧ ∼ Q(x, y )) prawo logiki
Q1 x1 Q2 x2 . . . Qn xn Φ(x1 , x2 , . . . , xn ),
U = {3, 4, 5, . . . , },
P(x) - x jest parzyste,
Q(y ) - y jest pierwsze,
R(x, y , z) - z jest suma˛ x i y
∀z (P(z) → ∃x ∃y (Q(x) ∧ Q(y ) ∧ R(x, y , z)))
α β γ
P(x) Q(x) ∀x P(x) ∀x Q(x) ∀x P(x) ∨ ∀x Q(x) P(x) ∨ Q(x) ∀x β α→γ
1 1 1 1 1 1 1 1
1 0 1 0 1 1 1 1
1 T 1 0 1 1 1 1
0 1 0 1 1 1 1 1
0 0 0 0 0 0 0 1
0 T 0 0 0 T 0 1
T 1 0 1 1 1 1 1
T 0 0 0 0 T 0 1
T T 0 0 0 1,T 1,0 1
Tautologia może być fałszywa tylko wtedy, gdy ∀x P(x) jest praw-
dziwe a ∀x Q(x) jest fałszywe (dlaczego?).
∃x P(x) ∀P(x)
O∃: O∀:
P(a) P(b)
P(b)
D∃:
∃x P(x)
a jest nowa˛ stała˛ niewystepuj
˛ ac ˛ a˛ w dowodzie,
b jest dowolna˛ stała.
˛
∀x ∼ P(x) →∼ ∃x P(x)
1: ∀x ∼ P(x) Założenie
2: ∃x P(x) z.d.n.
3: P(a) O∃ 2
4: ∼ P(a) O∀ 1
Sprzeczność 3,4
∀x ∃y P(x, y ) → ∃x P(x, x)
∃y ∀x P(x, y ) → ∀x ∃y P(x, y )
1: ∃y ∀x P(x, y ) Zał.
2: ∼ ∀x ∃y P(x, y ) Z.d.n.
3: ∃x ∀y ∼ P(x, y ) DM 2
4: ∀x P(x, a) O∃ 1
5: ∀y ∼ P(b, y ) O∃ 3
6: P(b, a) O∀ 4
7: ∼ P(b, a) O∀ 5
Sprzeczność 6,7
Wszyscy logicy sa˛ zabawni. Ktoś jest logikiem. Zatem każdy jest
zabawny.
U - wszyscy ludzie.
P(x) - x jest logikiem.
Q(x) - y - jest zabawny.
Jezyk
˛ rachunku predykatów można rozszerzyć o n-argumentowe sym-
bole funkcyjne f (x, y , . . . ), g(x, y , . . . ). W określonej interpretacji,
f (x, y , . . . ) jest obiektem z uniwersum U dla określonych zmiennych
x, y , . . . . Nie należy mylić symboli funkcyjnych z predykatami.
Przykłady termów:
x, y , a
f (x), g(x, y ), g(x, a)
f (f (x)), g(f (x), a), f (g(x, y )), f (f (a))
Termy a, f (f (a)) sa˛ ustalone.
Z (f (x1 )) ∨ L(g(x1 ), x1 )
∼ L(x2 , f (x2 )) ∨ L(g(x2 ), x2 )
∃x ∀y ∀u ∃v P(x, y , u, v )
zastepujemy
˛
∀y ∀u P(a, y , u, f (y , u))
∀x ∀y ∀z ∼ Z (y )∨ ∼ K (x, y )∨ ∼ L(z, x)
Klauzula po standaryzacji zmiennych
∀x L(Jan, x)
Klauzula po standaryzacji zmiennych
L(Jan, x6 )
Zwierz˛e o imieniu Reks zostało zabite przez Jana lub Roberta.
Klauzule
Z (Reks)
K (Jan, Reks) ∨ K (Robert, Reks)
Reguła rezolucji
l1 ∨ · · · ∨ l i ∨ · · · ∨ lk , m1 ∨ · · · ∨ m j ∨ · · · ∨ mk
l1 ∨ · · · ∨ li−1 ∨ li+1 · · · ∨ lk ∨ m1 , ∨ . . . , ∨mj−1 ∨ mj+1 · · · ∨ mk , θ
Faktoryzacja (upraszczanie)
l1 ∨ l i , ∨ · · · ∨ l j ∨ . . . lk
l1 ∨ · · · ∨ li−1 ∨ li+1 ∨ · · · ∨ l j · · · ∨ . . . lk , θ
Twierdzenie
Jeżeli wejściowy zbiór klauzul jest sprzeczny, to algorytm rezolucji
zwróci pusta˛ klauzule˛ w skończonej liczbie kroków.
Uwaga
Jeżeli wejściowy zbiór klauzul jest spełnialny, to algorytm może nie
zakończyć pracy (może generować nowe klauzule bez końca).
∃x ∀y P(x, y ) → ∀y ∃x P(x, y )
∼ ∀y ∃x P(x, y ) ≡ ∃y ∀x ∼ P(x, y )
1 : P(a, x1 ) zal.
2 :∼ P(x2 , b) z.d.n.
3 : sprz. 1, 2 [x1 ← b, x2 ← a]
∀y ∃x P(x, y ) → ∃x ∀y P(x, y )
∼ ∃x ∀y P(x, y ) ≡ ∀x ∃y ∼ P(x, y )