Uploaded by Tamás Princz

loginfo

advertisement
MATEMATIKAI LOGIKA
SIMON ANDRÁS
1. B EMELEGÍTÉS
Lovagok mindig igazat mondanak, lókötők mindig hazudnak. Az alábbi feladatokban a
lehető legtöbb szereplőről kell eldönteni, hogy lovag vagy lókötő.
1.1. Gyakorlat. B azt mondja, hogy A azt mondja, hogy A lókötő.
1.2. Gyakorlat. B azt mondja, hogy mindketten lókötők.
1.3. Gyakorlat. B azt mondja, hogy kettőjük közül az legalább az egyik lókötő.
2. K LASSZIKUS KIJELENTÉSLOGIKA ( PROPOZICIONÁLIS LOGIKA )
2.1. Szintaxis Atomi formulák: Π = { p0 , . . . , pn , . . .} de általában p, q és ezek indexelt
változatait használjuk. Formulák:
FormΠ = Π | ¬ FormΠ | FormΠ ∧ FormΠ
Magyarul: FormΠ a legszűkebb, Π-t tartalmazó, ¬-ra és ∧-ra zárt halmaz (FormΠ = ∩{ H :
Π ⊆ H és (∀ ϕ, ψ ∈ H )(¬ ϕ ∈ H és ϕ ∧ ψ ∈ H ) }). ¬ (nem) és ∧ (és) logikai konnektívumok (formulákból formulákba képező függvények).
(Formulákat néha állításoknak, vagy mondatoknak is hívjuk.)
Precedencia: ¬, ∧ (és majd később is: unér konnektívumok erősebben kötnek mint a
binérek).
Példák: p, ¬¬( p ∧ q), p ∧ ¬( p ∧ q), p ∧ ¬q. Nem-példák: p¬ ∧ q.
Jelölés: formulák: ϕ, ψ, χ,. . . , formula-halmazok: Σ, ∆,. . . .
2.1. Megjegyzés.
h FormΠ , ¬, ∧ i
(formula)algebra (Π által generált term-algebra, abszolút szabad algebra). Semmilyen nemtriviális azonosság (pl.: x ∧ y = y ∧ x) nem igaz benne.
2.2. Állítás (Formulaindukció). Ha egy tulajdonság igaz Π elemeire, és igazsága öröklődik a formulaképzés során, azaz invariáns az ¬-re és ∧-re (ha igaz ϕ és ψ-re, akkor ¬ ϕ-re és ϕ ∧ ψ-re is
igaz), akkor igaz FormΠ minden elemére.
2.3. Definíció (Származtatott konnektívumok).
def
• ϕ ∨ ψ = ¬(¬ ϕ ∧ ¬ψ) („vagy”)
def
• ϕ → ψ = ¬ ϕ ∨ ψ („ha. . . akkor”)
def
• ⊥ = p0 ∧ ¬ p0
def
• > = ¬⊥
def
• ϕ ↔ ψ = ( ϕ → ψ) ∧ (ψ → ϕ) (ekvivalencia, csakkor)
1
2.2. Szemantika Mit „jelentenek” a formulák (speciel: mikor igazak). A formuláknak általában nem magukban van jelentésük/igazságértékük, hanem a dolgok egy lehetséges állása
mellett, „egy világban”, magyarul: egy modellben.
2.4. Definíció (modell). A propozicionális logika egy modellje: M : Π −→ {0, 1}.
2.5. Definíció (formula jelentése). ϕ ∈ FormΠ jelentése az M modellben (M-et kiterjesztjük
Π-ről FormΠ -re) (a formulák felépítésére vonatkozó rekurzióval):
• pM = M( p) ha p ∈ Π
• (¬ ϕ)M = 1 − ϕM
• ( ϕ ∧ ψ)M = ϕM · ψM .
Azt mondjuk, hogy ϕ igaz M-ben, vagy M modellje ϕ-nek, ha ϕM = 1.
Tehát ¬-ot és ∧-ot a modellben {0, 1}-ből, ill. {0, 1}2 -ből {0, 1}-be képező függvények
„implementálják” — az ilyen függvényeket igazságfüggvényeknek hívják. És igazságtábp q p∧q
p ¬p
0 0
0
lázattal lehet megadni őket. Pl.: ¬ és ∧ igazságtáblázata 0 1 és 0 1
0 .
1 0
1 0
0
1 1
1
A modellbeli igazság definíciója direktebben:
• M |= p iff M( p) = 1
• M |= ¬ ϕ iff M 6|= ϕ (vagyis ha nem igaz, hogy M |= ϕ)
• M |= ϕ ∧ ψ iff M |= ϕ és M |= ψ.
2.6. Állítás. M |= ϕ ⇐⇒ ϕM = 1
Biz. Formulaindukcióval: p ∈ Π-re M |= p ⇐⇒ pM = M( p) = 1. Tegyük fel, hogy ϕ-re
igaz az állítás; akkor
M |= ¬ ϕ ⇐⇒ M 6|= ϕ ⇐⇒ ϕM 6= 1 ⇐⇒ ϕM = 0 ⇐⇒ (¬ ϕ)M = 1 − ϕM = 1.
Végül, ha igaz ϕ, ψ-re, akkor
M |= ϕ ∧ ψ ⇐⇒ (M |= ϕ és M |= ψ)
⇐⇒ ϕM = 1 = ψM ⇐⇒ ( ϕ ∧ ψ)M = ϕM · ψM = 1.
2.7. Gyakorlat. A bizonyításban használtuk, hogy ϕM ∈ {0, 1}. Hol? Bizonyítsuk ezt be
formulaindukcióval!
2.8. Példák. (1) M |= ϕ ∨ ψ iff M |= ¬(¬ ϕ ∧ ¬ψ) iff (nem igaz, hogy M |= ¬ ϕ ∧ ¬ψ) iff
(nem igaz, hogy M |= ¬ ϕ és M |= ¬ψ) iff (nem igaz, hogy M 6|= ϕ és M 6|= ψ) iff M |= ϕ
vagy M |= ψ.
(2) Mikor lesz M |= ϕ → ψ?
M |= ϕ → ψ ⇐⇒ M |= ¬ ϕ ∨ ψ ⇐⇒ M |= ¬ ϕ vagy M |= ψ ⇐⇒ M 6|= ϕ vagy M |= ψ.
Következésképp M 6|= ϕ → ψ iff M |= ϕ és M 6|= ψ.
(3) M |= ¬¬ ϕ iff M 6|= ¬ ϕ iff M |= ϕ.
2
Hogy számoljuk ki egy formula igazságértékét egy modellben? Pl. igazságtáblázattal
(oszlopok a részformulák): pl. igaz-e az M( p) = M(q) = 1, M(r ) = 0 modellben a
p q r p ∧ q ( p ∧ q) ∨ r ¬(( p ∧ q) ∨ r )
, tehát nem.
¬(( p ∧ q) ∨ r ) formula:
1 1 0
1
1
0
2.9. Definíció. Legyen M modell, és Σ ∪ { ϕ} ⊆ Form. Akkor
(1) M |= Σ iff (∀ ϕ ∈ Σ)M |= ϕ (M modellje Σ-nak)
(2) Σ |= ϕ iff ∀M(M |= Σ =⇒ M |= ϕ) (ϕ szemantikus következménye Σ-nak)
(3) |= ϕ ha ∅ |= ϕ, azaz ha ϕ minden modellben igaz (merthogy az üres halmaznak
minden modell modellje) (ϕ érvényes formula, logikai igazság)
(4) ϕ ill. Σ kielégíthető, ha van modellje, kielégíthetetlen ha nem kielégíthető, azaz ha nincs
modellje
(5) ϕ ≡ ψ (ekvivalensek) ha ugyanazok a modelljei.
2.10. Példák.
(1) Ha M( p) = 1 és M(q) = 0 akkor M |= { p, ¬q, q → p}; általában,
M |= { ϕ } ⇐⇒ M |= ϕ.
(2) { p → q, p} |= q; ha ϕ ∈ Σ, akkor Σ |= ϕ
(3) |= p ∨ ¬ p, |= p → p, de 6|= p → ¬ p
(4) Kielégíthetetlen: p ∧ ¬ p. Kielégíthető minden érvényes formula; kielégíthető de nem
érvényes: p → ¬ p, vagy akár: p.
(5) ϕ ≡ ¬¬ ϕ, ld. a fenti példát! p ∧ q ≡ q ∧ p, azaz a konjunkció kommutatív, és
p ∧ (q ∧ r ) ≡ ( p ∧ q) ∧ r, vagyis asszociatív is. És persze ugyanezek
igazak ∨-ra
Vn
is. Következésképp írhatunk V
olyanokat,
hogy p1 ∧ p2 ∧ · · · ∧ pn (= i=1 pi ), és ha Σ
W
véges formulahalmaz, akkor Σ, Σ értelmes.
2.11. Megjegyzés. Véges Σ-ra (Σ kielégíthető iff
V
Σ kielégíthető).
2.12. Állítás. ϕ pontosan akkor érvényes, ha ¬ ϕ kielégíthetetlen. Sőt: Σ |= ϕ pontosan akkor, ha
Σ ∪ {¬ ϕ} kielégíthetetlen.
Biz.
Σ |= ϕ ⇐⇒ ∀M(M |= Σ =⇒ M |= ϕ)
⇐⇒ 6 ∃M(M |= Σ & M 6|= ϕ) ⇐⇒ 6 ∃M(M |= Σ & M |= ¬ ϕ)
2.13. Következmény. ϕ kielégíthető ⇐⇒ ¬ ϕ nem érvényes.
Biz.
ϕ kielégíthető ⇐⇒ ϕ nem kielégíthetetlen
⇐⇒ ¬¬ ϕ nem kielégíthetetlen ⇐⇒ ¬ ϕ nem érvényes.
Hogyan dönthető el egy formula kielégíthetősége (-hetetlensége, érvényessége)? (A logikák többségében sehogy; propozicionális logikában viszont könnyen — legalábbis elvileg.)
Egy lehetséges módszer: igazságtáblázattal.
2.14. Példa. |= ¬ p → ( p → q), mert
3
¬
érvényes
kielégíthető
kielégíthetetlen
de nem érvényes
1. ábra. A középső függőleges vonal szimmetriatengely
p q ¬ p p → q ¬ p → ( p → q)
0 0 1
1
1
0 1 1
1
1
1 0 0
0
1
1 1 0
1
1
azaz ¬ p → ( p → q) valóban minden modellben (ld. alább!) igaz.
Ha n atomi formula szerepel ϕ-ben, akkor a ϕ érvényességét eldöntő igazságtáblázatnak
2n sora van, következésképp ez nem egy praktikus eldöntési eljárás.
Miért működik? Két oka van: (1) adott M-ben ki tudjuk számolni ϕ igazságértékét (2)
noha végtelen (sőt, kontinuum sok) modell van, csak véges sok modellben kell ϕ igazságértékét kiszámolni, mert
2.15. Állítás. M, M0 modellek, amik legfeljebb p-n különböznek. Ha p nem fordul elő ϕ-ben, akkor
M |= ϕ ⇐⇒ M0 |= ϕ.
Biz. Formulaindukcióval.
Ezért mondhattuk az előző példában, hogy a formula minden modellben igaz, noha csak
négyben néztük meg.
2.16. Következmény. A propozicionális logikában érvényes formulák halmaza ({ ϕ :
eldönthető.
|= ϕ })
2.17. Állítás. ϕ ≡ ψ iff |= ϕ ↔ ψ; következésképp, mivel |= ϕ ⇐⇒ |= ϕ ↔ >, |= ϕ ⇐⇒
ϕ ≡ >.
Úgyhogy ≡ csak egy kényelmes rövidítés.
2.18. Gyakorlat. Adjunk példát olyan kételemű kielégíthetetlen formulahalmazra, aminek
minden valódi részhalmaza kielégíthető.
2.19. Gyakorlat. Adjunk példát olyan 3-elemű kielégíthetetlen formulahalmazra, aminek
minden valódi részhalmaza kielégíthető.
2.20. Gyakorlat. Adjunk példát olyan n-elemű kielégíthetetlen formulahalmazra, aminek
minden valódi részhalmaza kielégíthető.
2.21. Gyakorlat. Kielégíthető-e a
Σ = { p1 ∨ p2 , ¬ p2 ∨ ¬ p3 , p3 ∨ p4 , ¬ p4 ∨ ¬ p5 , . . . } = { p2n−1 ∨ p2n , ¬ p2n ∨ ¬ p2n+1 : n > 1 }
végtelen formulahalmaz ?
4
2.22. Gyakorlat. Igazak-e a következő állítások?
(1) Ha |= ϕ ∨ ψ, akkor |= ϕ vagy |= ψ.
(2) Ha |= ϕ → ψ és |= ϕ, akkor |= ψ.
(3) Ha ϕ → ψ és ϕ kielégíthető, akkor ψ kielégíthető.
(4) Ha |= ϕ → ψ, és ϕ kielégíthető, akkor ψ kielégíthető.
2.23. Gyakorlat. Helyes-e a következő érvelés? Ha esik az eső, viszek esőkabátot. Nem esik
az eső. Tehát nem viszek esőkabátot. Formalizálva: { p → q, ¬ p} |= ¬q?
Ez nem tévesztendő össze a következővel: { p → q, p} |= q (modus ponens).
∗∗∗
Most már megkísérelhetjük a lovagos fejtörőket kijelentéslogikai problémákként kezelni.
Nézzük az elsőt:
B azt mondja, hogy A azt mondja, hogy A lókötő.
A résztvevőkről feltehetjük, hogy minden általuk kijelentett állítással ekvivalens kijelentésváltozók (így a lovagok igaz, a lókötők hamis kijelentésváltozóknak felelnek meg), hiszen
pontosan akkor lovagok, ha kijelentéseik igazak, és akkor lókötők, ha a kijelentéseik hamisak. Vagyis például ebben a fejtörőben „A azt mondja, hogy A lókötő” formalizálható
az A ↔ ¬ A formulával; és mivel B ezt mondja, ezért B ↔ ( A ↔ ¬ A). Tehát a kérdés A
ill. B igazságértéke ez utóbbi formula modelljeiben. Amelyik igaz a modellben, az lovag,
amelyik hamis, az lókötő. Ha több modell is kielégíti a formlá(ka)t, vagyis valamelyik résztvevőnek megfelelő kijelentésváltozó igaz és hamis is lehet, akkor arra a résztvevőre nézve
semmi nem következik a feltevésekből. Mint például ebben az esetben is:
A B A ↔ ¬ A B ↔ ( A ↔ ¬ A)
0 0
0
1
0 1
0
0
1 0
0
1
1 1
0
0
Itt két jó modell is van, és ezek nem egyeznek meg A értékét illetően, de B mindkettőben
hamis. Vagyis az jött ki, hogy { B ↔ ( A ↔ ¬ A) } |= ¬ B; ezért B lókötő — A viszont bármi
lehet, mert { B ↔ ( A ↔ ¬ A) } 6|= A és { B ↔ ( A ↔ ¬ A) } 6|= ¬ A. Ez összhangban van
azzal, amit eredetileg gondoltunk, nevezetesen, hogy B hazudik, mert senki sem mondhatja
magáról, hogy lókötő (mert ha az, akkor azt hazudja magáról, hogy lovag, ha meg lovag,
akkor azért).
Nézzük a következőt!
B azt mondja, hogy mindketten lókötők.
A nehéz rész ezt lefordítani logikára. De a fordítás biztosan úgy fog kezdődni, hogy B ↔
. . ., mert B mond valamit, és ahogy ebben megegyeztünk, mindenki azzal ekvivalens, amit
mond. És B azt mondja, hogy mindketten lókötők; de „X lókötő” azt jelenti, hogy X nem
igaz, azaz ¬ X igaz. Vagyis „mindketten (azaz A és B is) lókötők” a ¬ A ∧ ¬ B formulával
fordítható le. Vagyis B ↔ (¬ A ∧ ¬ B) a végső formulánk, aminek a modelljeit keressük.
5
A B ¬ A ¬ B ¬ A ∧ ¬ B B ↔ (¬ A ∧ ¬ B)
0 0
1
1
1
0
0 1
1
0
0
0
1 0
0
1
0
1
1 1
0
0
0
0
Itt most pontosan egy jó modell van, tehát minden résztvevőről kiderül, hogy lovag, vagy
lókötő. Történetesen A lovag és B lókötő, mert { B ↔ (¬ A ∧ ¬ B) } |= A ∧ ¬ B. Ezt természetesen eredetileg is így gondoltuk, azzal az érveléssel, hogy B nem lehet lovag (mert
akkor lókötő is lenne), tehát lókötő, tehát hazudott, azaz nem igaz, hogy mindketten lókötők, vagyis A lovag.
2.24. Gyakorlat. B azt mondja, kettőjük közül az legalább az egyik lókötő. Találjuk ki logikával, hogy mi a helyzet!
∗∗∗
2.25. Tétel (Dedukciótétel |=-re). Σ ∪ { ϕ} |= ψ ⇐⇒ Σ |= ϕ → ψ.
Biz.
Σ 6|= ϕ → ψ
⇐⇒
⇐⇒
⇐⇒
⇐⇒
∃M(M |= Σ és M 6|= ϕ → ψ)
∃M(M |= Σ és (M |= ϕ és M 6|= ψ))
∃M(M |= Σ ∪ { ϕ} és M 6|= ψ)
Σ ∪ { ϕ} 6|= ψ
2.26. Tétel (Nevezetes azonosságok).
(1) ¬¬ ϕ ≡ ϕ (volt)
(2) ϕ → ⊥ ≡ ¬ ϕ („indirekt biz.”)
(3) ϕ → (ψ → χ) ≡ ϕ ∧ ψ → χ („currying”)
(4) |= ( ϕ ∧ ( ϕ → ψ)) → ψ (volt: MP)
(5) ϕ → ψ ≡ ¬ψ → ¬ ϕ (kontrapozíció)
(6) ϕ ∨ ψ ≡ ¬ ϕ → ψ
(7) ¬( ϕ ∧ ψ) ≡ ϕ → ¬ψ.
(8) ∧ és ∨ kommutatív és asszociatív
(9) ϕ ∧ ϕ ≡ ϕ, ϕ ∨ ϕ ≡ ϕ (idempotencia)
(10) ( ϕ ∨ ψ) ∧ ϕ ≡ ϕ, ( ϕ ∧ ψ) ∨ ϕ ≡ ϕ (abszorpció)
(11) ϕ ∧ (ψ ∨ χ) ≡ ( ϕ ∧ ψ) ∨ ( ϕ ∧ χ), ϕ ∨ (ψ ∧ χ) ≡ ( ϕ ∨ ψ) ∧ ( ϕ ∨ χ) (disztributivitás)
(12) ¬( ϕ ∨ ψ) ≡ ¬ ϕ ∧ ¬ψ, ¬( ϕ ∧ ψ) ≡ ¬ ϕ ∨ ¬ψ (De Morgan)
(13) |= ϕ → ϕ ∨ ψ
(14) |= ϕ ∧ ψ → ϕ
2.27. Tétel.
(1) Ha σ1M = σ2M , és ϕ2 -t úgy kaptuk ϕ1 -ből, hogy benne σ1 egy ϕ1 -beli előfordulását kicseréltük σ2 -re, akkor ϕ1M = ϕ2M .
6
(2) Az M modellre, p1 , . . . , pn ∈ Π-re és σ1 , . . . , σn ∈ Form-ra legyen M0 a következő modell:
M0 ( pi ) = σiM és M0 ( p) = M( p) a többi kijelentésváltozóra. Akkor minden ϕ formulára
0
ϕM = ϕ[σ1 /p1 , . . . , σn /pn ]M , ahol ϕ[σ1 /p1 , . . . , σn /pn ] az a formula, amit ϕ-ből a p1 ,
. . . , pn kijelentésváltozók σ1 , . . . , σn -el való párhuzamos helyettesítésével kapunk.1
Biz. Az első ϕ1 -re, a második ϕ-re vonatkozó formulaindukcióval.
2.28. Következmény.
(1) Ha σ1 ≡ σ2 , és ϕ1 , ϕ2 mint a tétel első pontjában, akkor ϕ1 ≡ ϕ2 .
(2) Ha |= ϕ, akkor |= ϕ[σ1 /p1 , . . . , σn /pn ] minden p1 , . . . , pn ∈ Π-re és σ1 , . . . , σn ∈ Formra.
Biz. 1. A tétel (1) pontja és σ1 ≡ σ2 miatt minden M modellre ϕ1M = ϕ2M , azaz ϕ1 ≡ ϕ2 .
2. Ha 6|= ϕ[σ1 /p1 , . . . , σn /pn ], azaz M 6|= ϕ[σ1 /p1 , . . . , σn /pn ] valamilyen M modellre, akkor a tétel (2) pontja miatt M0 6|= ϕ, és így 6|= ϕ, ahol M0 a (2)-ben definiált modell, amire
0
ϕM = ϕ[σ1 /p1 , . . . , σn /pn ]M = 0.
Vagyis kijelentéslogikai formulákkal úgy „számolhatunk”, mint algebrában. A következmény első pontja miatt állíthatjuk például, hogy ϕ ∧ (ψ ∨ ψ) ≡ ϕ ∧ ψ (mert (ψ ∨ ψ)-t
kicseréltük a vele ekvivalens ψ-re), és a második pontja miatt mindegy, hogy azt állítjuk,
|= p ∨ ¬ p, vagy azt, hogy |= ϕ ∨ ¬ ϕ. Az első speciális esete a másodiknak, a második
viszont következik az elsőből a következmény második pontja miatt.
2.3. Normálformák
2.29. Definíció. Egy formula
• literális ha atomi vagy atomi negáltja;
• diszjunktív normálforma (DNF) ha literálisok konjunkcióinak diszjunkciója, azaz ilyen
W
Vm
alakú: in=1 j=i 1 lij , ahol lij -k literálisok;
• konjunktív normálforma (CNF) ha literálisok diszjunkcióinak konjunkciója (
ahol lij -k literálisok).
Vn
i =1
W mi
j=1 lij ,
2.30. Megjegyzés. DNF kielégíthetősége gyorsan eldönthető, mert pontosan akkor kielégíthető, ha az egyik konjunkció kielégíthető, és utóbbi pontosan akkor áll fent, ha nem szerepel
benne ugyanaz a kijelentésváltozó ellenkező előjellel.
Hasonlóan: CNF érvényessége gyorsan eldönthető, mert pontosan akkor érvényes, ha
minden benne szereplő diszjunkció érvényes, és egy ilyen pontosan érvényes, ha szerepel
benne ugyanaz a kijelentésváltozó ellenkező előjellel.
2.31. Tétel (DNF, CNF). Minden ϕ formulához létezik vele ekvivalens ϕ∨ és ϕ∧ DNF ill. CNF
amik legfeljebb a ϕ-ben előforduló atomi formulákat tartalmazzák.
Biz. (DNF) Legyen M ϕ igazságtáblázata azon sorainak halmaza,
melyek ϕ-t igazra értékeW
∨
lik (azaz ahol az utolsó oszlopban 1 áll), és legyen ϕ = M∈ M ϕM , ahol
ϕM =
^
{ p : M( p) = 1} ∧
^
{¬ p : M( p) = 0}
1A párhuzamos helyettesítés hivatalos definíciója:
• p[σ1 /p1 , . . . , σn /pn ] = σi ha p = pi és p egyébként
• (¬ ϕ)[σ1 /p1 , . . . , σn /pn ] = ¬( ϕ[σ1 /p1 , . . . , σn /pn ])
• ( ϕ ∧ ψ)[σ1 /p1 , . . . , σn /pn ] = ϕ[σ1 /p1 , . . . , σn /pn ] ∧ ψ[σ1 /p1 , . . . , σn /pn ]
7
minden M ∈ M-re.
Akkor ϕM definíciója miatt
(1)
M |= ϕM0 ⇐⇒ M0 = M minden M modellre és M0 ∈ M-re
(ahol, ahogyan a bizonyítás hátralevő részében is, két modell egyenlősége úgy értendő,
hogy ϕ változóin ugyanazt veszik fel) és ebből már következik ϕ ≡ ϕ∨ , mert minden M
modellre
M |= ϕ∨ ⇐⇒ (∃M0 ∈ M)M |= ϕM0
⇐⇒ (∃M0 ∈ M)M = M0 ⇐⇒ M ∈ M ⇐⇒ M |= ϕ
ahol a második ekvivalencia (1) miatt igaz, az utolsó pedig M definíciója és 2.15 miatt.
W
Vm
(CNF) Már tudjuk, hogy ¬ ϕ ≡ in=1 j=i 1 lij valamilyen n-re, m1 , . . . , mn -re és literálisok
egy {lij : 0 < i ≤ n, 0 < j ≤ mi } halmazára. De akkor a De Morgan azonosságok (2.26(12))
miatt
ϕ ≡ ¬¬ ϕ ≡ ¬
_n
i =1
^ mi
j =1
lij ≡
^n
¬
i =1
^ mi
j =1
lij ≡
^n
i =1
_ mi
¬lij ≡
j =1
^n
_ mi
i =1
l0 ,
j=1 ij
ahol lij0 = ¬lij ha lij atomi, és lij0 = p ha lij = ¬ p.
Vagy a DNF-re vonatkozó bizonyítást „dualizáljuk”:
Legyen M V
ϕ igazságtáblázata azon sorainak halmaza, melyek ϕ-t hamisra értékelik, és
legyen ϕ∧ = M∈ M ϕM , ahol
ϕM =
_
{ p : M( p) = 0} ∨
_
{¬ p : M( p) = 1}
minden M ∈ M-re.
Akkor ϕM definíciója miatt
(2)
M 6|= ϕM0 ⇐⇒ M0 = M minden M modellre és M0 ∈ M-re,
és ebből már következik ϕ ≡ ϕ∧ , mert minden M modellre
M 6|= ϕ∧ ⇐⇒ (∃M0 ∈ M)M 6|= ϕM0
⇐⇒ (∃M0 ∈ M)M = M0 ⇐⇒ M ∈ M ⇐⇒ M 6|= ϕ
ahol a második ekvivalencia (2), az utolsó pedig M definíciója és 2.15 miatt igaz.
2.32. Példa. Adjunk meg egy, a ϕ
DNF-et.
p q p → q ¬p
0 0
1
1
0 1
1
1
1 0
0
0
1 1
1
0
= ( p → q) ↔ (¬ p → ¬q)-val ekvivalens CNF-et és
¬q ¬ p → ¬q ( p → q) ↔ (¬ p → ¬q)
1
1
1
0
0
0
1
1
0
0
1
1
Tehát ϕ∧ = ( p ∨ ¬q) ∧ (¬ p ∨ q) és ϕ∨ = (¬ p ∧ ¬q) ∨ ( p ∧ q) jó lesz.
2.33. Példa. Adjunk meg egy, a ϕ = ¬( p ∧ ((q ∧ r ) → s))-vel ekvivalens CNF-et.
8
p
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
q
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
r
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
s
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
q ∧ r (q ∧ r ) → s p ∧ ((q ∧ r ) → s) ¬( p ∧ ((q ∧ r ) → s))
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
0
1
1
1
1
0
Tehát ϕ∧ = (¬ p ∨ q ∨ r ∨ s) ∧ (¬ p ∨ q ∨ r ∨ ¬s) ∧ (¬ p ∨ q ∨ ¬r ∨ s) ∧ (¬ p ∨ q ∨ ¬r ∨ ¬s) ∧
(¬ p ∨ ¬q ∨ r ∨ s) ∧ (¬ p ∨ ¬q ∨ r ∨ ¬s) ∧ (¬ p ∨ ¬q ∨ ¬r ∨ ¬s) ≡ (¬ p ∨ q ∨ r ) ∧ (¬ p ∨ q ∨
¬r ) ∧ (¬ p ∨ ¬q ∨ r ) ∧ (¬ p ∨ ¬q ∨ ¬r ∨ ¬s) ≡ (¬ p ∨ q) ∧ (¬ p ∨ ¬q ∨ r ) ∧ (¬ p ∨ ¬q ∨ ¬r ∨ ¬s)
Nem így szokás CNF-et csinálni, hanem kicsit szintaktikusabban: Adott ϕ amit CNF-é
akarunk alakítani.
(1) A definiált konnektívumokat küszöböljük ki (úgy, hogy csak ¬, ∨, ∧ maradjon).
(2) Amíg lehet, cseréljük ki a benne előforduló ¬¬ψ, ¬(ψ1 ∧ ψ2 ) és ¬(ψ1 ∨ ψ2 ) alakú
részformulákat ψ, ¬ψ1 ∨ ¬ψ2 , ill. ¬ψ1 ∧ ¬ψ2 -re.
(3) Amíg lehet, cseréljük ki a benne előforduló ψ ∨ (χ1 ∧ χ2 ) és (χ1 ∧ χ2 ) ∨ ψ alakú
részformulákat (ψ ∨ χ1 ) ∧ (ψ ∨ χ2 ) ill. (χ1 ∨ ψ) ∧ (χ2 ∨ ψ)-re.
(4) (Ezen a ponton már CNF, tehát abba is hagyhatnánk, de inkább) alkalmazzuk ∧ és
∨ asszociativitását, kommutativitását és idempotenciáját.
Így az eredeti formulával ekvivalens formulát kapunk 2.26 és 2.27 miatt.
2.34. Példa. A fenti példa CNF-re íly módon:
( p → q) ↔ (¬ p → ¬q)
≡(¬ p ∨ q) ↔ (¬¬ p ∨ ¬q)
≡[(¬ p ∨ q) → (¬¬ p ∨ ¬q)] ∧ [(¬¬ p ∨ ¬q) → (¬ p ∨ q)]
≡[¬(¬ p ∨ q) ∨ (¬¬ p ∨ ¬q)] ∧ [¬(¬¬ p ∨ ¬q) ∨ (¬ p ∨ q)]
def.
def.
def.
kettős tagadás
≡[¬(¬ p ∨ q) ∨ ( p ∨ ¬q)] ∧ [¬( p ∨ ¬q) ∨ (¬ p ∨ q)]
De Morgan
≡(¬¬ p ∧ ¬q) ∨ ( p ∨ ¬q)[(¬ p ∧ ¬¬q) ∨ (¬ p ∨ q)]
kettős tagadás
≡[( p ∧ ¬q) ∨ ( p ∨ ¬q)] ∧ [(¬ p ∧ q) ∨ (¬ p ∨ q)]
disztributivitás
≡[( p ∨ ( p ∨ ¬q)) ∧ (¬q ∨ ( p ∨ ¬q))] ∧ [(¬ p ∨ (¬ p ∨ q)) ∧ (q ∨ (¬ p ∨ q))] asszoc., komm., idemp.
≡[( p ∨ ¬q) ∧ (¬q ∨ p)] ∧ [(¬ p ∨ q) ∧ (q ∨ ¬ p)] ≡ ( p ∨ ¬q) ∧ (¬ p ∨ q).
9
2.35. Példa.
¬( p ∧ ((q ∧ r ) → s))
≡¬( p ∧ (¬(q ∧ r ) ∨ s))
≡¬ p ∨ ¬(¬(q ∧ r ) ∨ s)
≡¬ p ∨ (¬¬(q ∧ r ) ∧ ¬s)
≡¬ p ∨ ((q ∧ r ) ∧ ¬s)
≡(¬ p ∨ (q ∧ r )) ∧ (¬ p ∨ ¬s)
≡((¬ p ∨ q) ∧ (¬ p ∨ r )) ∧ (¬ p ∨ ¬s)
def.
De Morgan
De Morgan
kettős tagadás
disztributivitás
disztributivitás
2.36. Gyakorlat. Gyártsuk le igazságtáblázattal és a fenti módon is ( p ∧ q) ↔ (r ∨ s) egy
CNF-jét!
2.4. Horn formulák CNF-ek kielégíthetőségére nem ismert gyors módszert: az igazságtáblázatos eljárás például a formulában előforduló atomi formulák számában exponenciális. De van egy fontos részhalmaza a CNF-eknek, amire létezik lineáris lineáris időben futó,
a kielégíthetőséget eldöntő algoritmus.
2.37. Definíció. Egy CNF Horn-formula, ha minden diszjunkcióban legfeljebb egy pozitív
literális (azaz kijelentésváltozó) fordul elő.
2.38. Példa. Példa Horn formulára: ( p ∨ ¬q) ∧ (¬r ∨ ¬ p ∨ s) ∧ (¬ p ∨ ¬q) ∧ s ∧ ¬t.
Érdemes a Horn-formulákban szereplő diszjunkciókat „implikációs” alakba írni a következő ekvivalenciákat használva (annak megfelelően, hogy negatív és pozitív, csak negatív,
ill. csak pozitív literális szerepel az diszjunkcióban):
¬ p1 ∨ · · · ∨ ¬ p n ∨ q ≡
^n
i =1
pi → q
¬ p1 ∨ · · · ∨ ¬ p n ≡
^n
i =1
pi → ⊥
p ≡ > → p.
(Az így kapott részformulákat jobb híján továbbra is diszjunkcióknak fogjuk hívni.) Az
előbbi példából így (q → p) ∧ ( p ∧ r → s) ∧ ( p ∧ q → ⊥) ∧ (> → s) ∧ (t → ⊥) lesz.
Íme az algoritmus, ami lineáris időben eldönti egy Horn formuláról, hogy kielégíthető-e.
(1) Jelöljük meg az összes olyan p kijelentésváltozót, amire > → p az
egyik diszjunkció.V
V
(2) Amíg van olyan in=1 pi → q vagy in=1 pi → ⊥ diszjunkció, hogy
p1 , . . . , pn már meg van jelölve de q nincs megjelölve (a) az első esetben jelöljük meg q-t (b) a második esetben legyen KIELÉGÍTHETETLEN a kimenet, és álljunk meg.
(3) Legyen KIELÉGÍTHET Ő a kimenet, és álljunk meg.
2.39. Tétel. Ez az algoritmus korrekt, és az atomi formulák számában lineáris idő alatt fut.
Vegyük észre, hogy a linearitás triviális, mert minden lépésben megjelölünk egy jelöletlen
atomi formulát. Az algoritmus további jó tulajdonsága, hogy ha van ilyen, akkor a futása
során kapunk is a bemenetet kielégítő modellt: ilyen lesz az a modell, ami pontosan a
megjelölt kijelentésváltozókat teszi igazzá.
10
2.40. Következmény.
Ha egy Horn-formula nem tartalmaz csak negatív literálisokból álló diszVn
junkciót ( i=1 pi → ⊥), akkor kielégíthető. Ha egy Horn-formula nem tartalmaz egyetlen pozitív
literálisból álló diszjunkciót (> → p), akkor kielégíthető.
Biz. Az első esetben sosem lépünk rá a ciklusban KIELÉGÍTHETETLEN-t adó ágra, a második
esetben pedig egyáltalán be sem kerülünk a ciklusba.
2.41. Példák. 1. A fenti példa (q → p) ∧ ( p ∧ r → s) ∧ ( p ∧ q → ⊥) ∧ (> → s) ∧ (t → ⊥)
kielégíthető: Az első fázisban megjelöljük s-et. A másodikba viszont bele sem kerülünk
(mert csak s van megjelölve, és nincs s → p vagy s → ⊥ diszjunkció).
2. (¬ p ∨ ¬q ∨ ¬s) ∧ ¬t ∧ (¬r ∨ p) ∧ r ∧ q ∧ (¬u ∨ s) ∧ u, azaz
( p ∧ q ∧ s → ⊥) ∧ (t → ⊥) ∧ (r → p) ∧ (> → r ) ∧ (> → q) ∧ (u → s) ∧ (> → u)
implikációs alakba átírva.
Itt az első fázisban megjelöljük r, q, u-t. Második fázisban először megjelöljük p, s-t, másodszor viszont kijön, hogy KIELÉGÍTHETETLEN, mert p ∧ q ∧ s → ⊥ az egyik diszjunkció,
és p, q, s meg vannak jelölve.
2.5. Kompaktság
2.42. Tétel. Ha a Σ formulahalmaz minden véges része kielégíthető, akkor Σ kielégíthető.
Ez nagyon nem magától értetődő. Végtelen sok feltétel szimultán kielégítésében általában nem segít, hogy közülük bármely véges sokat egyszerre ki tudunk. Pl. ha minden n-re
Cn -et csak (0, 1/n)-beli valós számok elégítik ki, akkor véges sok Cn kielégíthető egyszerre,
de az összes nem, mert ∩n∈N (0, 1/n) = ∅.
2.43. Következmény. Ha Σ |= ϕ, akkor Σ-nak van olyan ∆ véges része, amire ∆ |= ϕ.
Biz. Σ |= ϕ iff Σ ∪ { ¬ ϕ } kielégíthetetlen iff Σ-nak van olyan ∆ véges része, amire ∆ ∪ { ¬ ϕ }
kielégíthetetlen iff Σ-nak van olyan ∆ véges része, amire ∆ |= ϕ.
2.5.1. Kompaktság egy alkalmazása A G = h V, E i gráf egy színezése k színnel olyan f :
V → { 1, . . . , k } függvény, amire f (v) 6= f (w), ha h v, w i ∈ E. G gráfra legyen ΠG =
{ pvi : v ∈ V ( G ) és 1 ≤ i ≤ k}, és tartalmazza Σ( G ) ⊆ FormΠG a következő formulákat:
• pv1 ∨ . . . ∨ pvk minden v ∈ V-re („minden csúcsnak van színe”)
• ¬( pvi ∧ pvj ) minden v ∈ V-re és 1 ≤ i < j ≤ k-ra („minden csúcsnak legfeljebb egy
színe van”)
• ¬( pvi ∧ pwi ) minden h v, w i ∈ E-re és 1 ≤ i ≤ k-ra („szomszédos csúcsok különböző
színűek”)
2.44. Állítás. G pontosan akkor színezhető ki k színnel, ha Σ( G ) kielégíthető.
Biz. Az M( pvi ) = 1 ⇐⇒ f (v) = i ekvivalenciát (v ∈ V, 1 ≤ i ≤ k) kell használni, az egyik
irányban egy Σ( G )-t kielégítő M modell, a másik irányban f definíciójaként.
Azaz: ha G kiszínezhető, akkor az így definiált modellben igaz Σ( G ); az első adag formula azért, mert minden csúcsnak van színe, a második azért, mert minden csúcsnak legfeljebb
egy színe van, a harmadik meg mert szomszédos csúcsoknak különbözik a színük.
Fordítva: ha M |= Σ( G ), akkor az első adag formula M-beli igazsága miatt f értelmes
V-n, a második miatt függvény, a harmadik miatt pedig színezés (szomszédos csúcsokhoz
különböző színeket rendel).
11
2.45. Következmény. Ha egy gráf minden véges részgráfja kiszínezhető k színnel, akkor az egész
gráf is.
Biz. Legyen G a kiszínezendő gráf. Az előző állítás miatt Σ( G ), a kompaktsági tétel szerint
tehát Σ( G ) minden véges részhalmazának kielégíthetőségét kell megmutatni. Ehhez azt
kell meggondolni, hogy ha G minden véges részgráfja kiszínezhető k színnel, akkor Σ( G )
minden véges részhalmaza kielégíthető. (Az a probléma, hogy Σ( G )-nek nem minden véges részhalmaza = Σ( H ) G valamely véges H részgráfjára.) De ez igaz, mert ha ∆ ⊆ Σ( G )
véges, akkor G-nek van olyan véges H részgráfja, amire ∆ ⊆ Σ( H )(⊆ Σ( G )): választhatjuk
H-t G azon feszített részgráfjának, amelynek csúcsai {v ∈ V ( G ) : pvi előfordul ∆-ban}. 2.46. Gyakorlat. Van-e olyan végtelen kielégíthetetlen formulahalmazra, aminek minden
valódi részhalmaza kielégíthető?
3. A KIJELENTÉSLOGIKA BIZONYÍTÁSELMÉLETE
Eddig az a kérdés, hogy formulák valamely halmazából következik-e egy formula, halmazelméleti terminusokban volt megfogalmazva (hiszen a kielégíthetőség egy modell létezését jelenti). Ez nem probléma a kijelentéslogika esetében, de bonyolultabb logikákban
kívánatos a „következmény” fogalmának szintaktikusabb, pl. számítógéppel jobban kezelhető megfogalmazása. Az ilyet nevezik egy logika bizonyításelméletének. Ez rendszerint
valami kalkulusból áll, ami formulahalmazok következményeit hivatott levezetni valamilyen mechanikus módon. Ez különösen fontos olyan logikák esetében, ahol az érvényes
formulák halmaza nem eldönthető.
Az egyik legegyszerűbb kalkulus a következő.
3.1. Hilbert típusú kalkulus kijelentéslogikára
3.1. Definíció (Logikai axiómák). (A1) ϕ → (ψ → ϕ)
(A2) [ ϕ → (ψ → χ)] → [( ϕ → ψ) → ( ϕ → χ)]
(A3) (¬ ϕ → ¬ψ) → [(¬ ϕ → ψ) → ϕ]
Könnyű látni, hogy a logikai axiómák érvényesek.
3.2. Definíció (Levezetés). Legyen Σ ⊆ Form, n ∈ N. A ϕ1 , . . . ϕn formulasorozat egy (nhosszú) levezetés (bizonyítás) Σ-ból, ha minden 1 ≤ k ≤ n-re teljesül az alábbi feltételek
valamelyike:
• ϕk valamelyik logikai axióma instanciája
• ϕk ∈ Σ
• van olyan 1 ≤ i, j < k, hogy ϕi = ϕ j → ϕk (ebben az esetben azt mondjuk, hogy ϕk
leválasztással (avagy modus ponens-sel) keletkezett ϕ j -ből és ϕ j → ϕk -ból).
Ha a tételek nem is lennének eldönthetők (mint ahogy a logikák többségében nem azok),
a bizonyítások eldönthetők. Ezért van az, hogy azon, hogy elfogadható-e egy bizonyítás,
nem szokás összeveszni.
3.3. Definíció (Levezethetőség). Legyen Σ ∪ { ϕ} ⊆ Form.
• ϕ levezethető (bizonyítható) Σ-ból, ha van olyan levezetés Σ-ból, aminek ϕ az utolsó
formulája. Jelölés: Σ ` ϕ.
• ϕ logikai tétel (vagy: levezethető), ha ∅ ` ϕ. Jelölés: ` ϕ.
12
3.4. Lemma. Legyen Σ ∪ ∆ ∪ { ϕ, ψ } ⊆ Form.
(1) Ha ϕ ∈ Σ, akkor Σ ` ϕ.
(2) (monotonitás) Ha Σ ` ϕ és Σ ⊆ ∆, akkor ∆ ` ϕ.
(3) (tranzitivitás) Ha Σ ` ψ minden ψ ∈ ∆-ra és ∆ ` ϕ, akkor Σ ` ϕ.
(4) (MP) Ha Σ ` ϕ → ψ és Σ ` ϕ, akkor Σ ` ψ.
(5) (kompaktság) Ha Σ ` ϕ, akkor Σ-nak van olyan véges Σ0 része, amire Σ0 ` ϕ.
Az utolsó pont, amiről majd kiderül, hogy ekvivalens 2.42-el, ritka példa arra, hogy valamit egyszerűbb bizonyítani `-re mint |=-re.
3.5. Példa. ` ϕ → ϕ
(1)
ϕ → (( ϕ → ϕ) → ϕ)
(A1)
(2)
[ ϕ → (( ϕ → ϕ) → ϕ)] → [( ϕ → ( ϕ → ϕ)) → ( ϕ → ϕ)]
( ϕ → ( ϕ → ϕ)) → ( ϕ → ϕ)
ϕ → ( ϕ → ϕ)
ϕ→ϕ
(A2)
(3)
(4)
(5)
MP 1,2
(A1)
MP 3,4
3.6. Példák.
(1) ` ( ϕ → ⊥) → ¬ ϕ
(2) { ϕ, ¬ ϕ } ` ⊥
(3) { ϕ → ψ, ψ → η } ` ϕ → η
(4) { ϕ → (ψ → η ), ψ} ` ϕ → η
(5) ` ¬¬ ϕ → ϕ
3.7. Definíció. Σ ⊆ FormΠ konzisztens, ha Σ 6` ⊥; inkonzisztens, ha nem konzisztens.
Egyszerű példák inkonzisztens mondathalmazokra { ⊥ } (3.4(1) miatt) és { p, ¬ p } (3.6(2)
miatt).
3.8. Tétel (Helyesség). ` helyes |=-re nézve, azaz Σ ` ϕ =⇒ Σ |= ϕ.
Ez a minimum, amit egy kalkulustól elvárunk (tehát azt, hogy ne vezessen le olyat, ami
nem következik (szemantikusan)). A bizonyítás egyszerű indukcióval megy a levezetés
hosszára. Azt kell megmutatni, hogy az axiómák érvényesek, és hogy az egyetlen levezetési
szabály megőrzi az érvényességet.
3.9. Tétel (Dedukciótétel). Σ ∪ { ϕ } ` ψ ⇐⇒ Σ ` ϕ → ψ.
Ennek kicsit bonyolultabb a bizonyítása mint 2.25-é, és ez is a levezetés hosszára vonatkozó indukcióval történik.
3.10. Lemma. Σ ` ϕ ⇐⇒ Σ ∪ {¬ ϕ} inkonzisztens.
Biz. (⇒) 3.4(2) miatt Σ ∪ {¬ ϕ} ` ϕ és 3.4(1) miatt Σ ∪ {¬ ϕ} ` ¬ ϕ, ezért 3.6(2) és 3.4(3)
miatt Σ ∪ {¬ ϕ} ` ⊥.
(⇐) A dedukciótétel miatt Σ ∪ {¬ ϕ} ` ⊥-ból Σ ` ¬ ϕ → ⊥ következik, és így 3.6(1) és
3.4(4) miatt Σ ` ¬¬ ϕ. De akkor Σ ` ϕ 3.6(5) és 3.4(4) miatt.
3.11. Tétel (Teljesség). ` teljes |=-re nézve, azaz Σ |= ϕ =⇒ Σ ` ϕ.
A teljesség bizonyítása már nem szimpla formulaindukció; viszonylag nehéz, és főleg
elég hosszadalmas.
13
3.12. Következmény. Σ konzisztens pontosan akkor, ha kielégíthető.
Biz. Σ konzisztens csakkor ha Σ 6` ⊥ csakkor ha Σ 6|= ⊥ csakkor ha Σ-nak van modellje.
∗∗∗
Visszatérve egy pillanatra az inkonzisztens formulahalmazokra: ezekkel az a baj, hogy
minden levezethető belőlük.
3.13. Állítás. Σ ⊆ FormΠ pontosan akkor inkonzisztens ha Σ ` ϕ minden ϕ ∈ FormΠ -re.
Biz. Következik a teljességből (3.11) és abból, hogy |= ⊥ → ϕ minden ϕ formulára.
Az inkonzisztencia fogalmának „duálisa” a teljesség (mondathalmazé, nem kalkulusé).
3.14. Definíció. Legyen Π a legszűkebb halmaz, amire Σ ⊆ FormΠ . Akkor Σ teljes, ha Σ ` ϕ
vagy Σ ` ¬ ϕ minden ϕ ∈ FormΠ -re.
Például { ¬ p } ⊆ Form{ p } teljes, de { ¬ p ∨ q } ⊆ Form{ p,q } nem. Az első 3.11 és azon
egyszerű tény következménye, hogy minden ϕ ∈ Form{ p } -re, { ¬ p } |= ϕ pontosan akkor,
ha M |= ϕ, ahol M olyan modell, amelyre M( p) = 0; a második pedig 3.8 következménye,
mert könnyű látni, hogy { ¬ p ∨ q } 6|= p és { ¬ p ∨ q } 6|= ¬ p.
3.15. Gyakorlat. { p, q } teljes.
3.16. Állítás. Legyen Π a legszűkebb olyan halmaz, amire Σ ⊆ FormΠ . Akkor Σ pontosan akkor
teljes, ha legfeljebb egy modellje van.
Itt is, mint mindig, azonosnak tekintjük a Π-n megegyező modelleket.
Biz. 3.11 miatt végig |=-t írunk ` helyett.
(⇒) Σ teljessége miatt Σ |= p vagy Σ |= ¬ p minden p ∈ Π-re. Ha mindkettő fennáll,
akkor Σ-nak nincs modellje, mert abban p igaz és hamis is volna. Tehát feltehetjük, hogy
pontosan az egyik áll fenn. Ha az első, akkor p igaz, ha a második, akkor p hamis Σ minden
modelljében. Tehát Σ modelljei megegyeznek minden p ∈ Π-n.
(⇐) Ha Σ-nak nincs modellje, akkor Σ |= ϕ minden ϕ ∈ FormΠ -re, következésképp Σ
teljes. Máskülönben legyen M a Σ egyetlen modellje; akkor Σ |= ϕ csakkor, ha M |= ϕ. És
mivel egy modellben minden formula vagy a negációja igaz, Σ |= ϕ vagy Σ |= ¬ ϕ minden
ϕ ∈ FormΠ -re.
3.17. Állítás. Ha Σ egy formulahalmaz, akkor Σ+ = { ϕ : Σ ` ϕ } levezetésre (`-re) zárt, azaz
Σ+ ` ϕ-ből ϕ ∈ Σ+ következik.
Biz. 3.4(3) miatt { ϕ : Σ ` ϕ } ` ψ-ből Σ ` ψ következik.
3.18. Állítás. Legyen Σ ⊆ FormΠ zárt levezetésre, és legyen Σ0 = { ¬ ϕ : Σ ` ϕ } = { ¬ ϕ : ϕ ∈
Σ }. Akkor
(1) Σ pontosan akkor teljes, ha Σ ∪ Σ0 = FormΠ
(2) Σ pontosan akkor konzisztens, ha Σ ∩ Σ0 = ∅.
Biz. Az első igaz a teljesség definíciója miatt. A második (⇐) iránya 3.13 miatt igaz, a másik
meg azért, mert ha ϕ ∈ Σ ∩ Σ0 , azaz ha { ϕ, ¬ ϕ } ⊆ Σ, akkor Σ ` ⊥ 3.6(2) és 3.4(3) (vagy
3.4(2)) miatt.
14
3.2. Rezolúció kijelentéslogikára
3.19. Definíció. Literálisok egy véges halmazát clause-nak hívják. Az üres clause jele:
V n W mi
i =1 j=1 lij CNF clause halmaza:
. Az
{{l11 , l12 , . . . , l1m1 }, {l21 , l22 , . . . , l2m2 }, . . . , {ln1 , ln2 , . . . , lnmn }}.
3.20. Példa. ( p ∨ ¬q) ∧ (¬ p ∨ q ∨ q) clause halmaza {{ p, ¬q}, {¬ p, q}}.
3.21. Definíció. Igaz egy clause az M modellben, ha legalább egy eleme igaz M-ben;
clause-ok egy halmaza igaz M-ben, ha minden eleme igaz M-ben.
3.22. Állítás. Ha két CNF-nek ugyanaz a clause halmaza, akkor ekvivalensek.
Fordítva persze nem igaz, pl. p ∨ ¬ p ≡ q ∨ ¬q de a clause halmazaik {{ p, ¬ p}} 6=
{{q, ¬q}}.
Biz. Nyilván elég megmutatni, hogy egy CNF pontosan akkor igaz egy modellben ha a
W
clause halmaza az. És ez így van, mert M |= m
j=1 l j ⇐⇒ M |= { l1 , . . . lm }, ezért
M |=
^n
i =1
_ mi
j =1
lij ⇐⇒ minden 1 ≤ i ≤ n-re
M |=
_ mi
l
j=1 ij
⇐⇒ minden 1 ≤ i ≤ n-re M |= {li1 , li2 , . . . , limi }
⇐⇒ M |= {{l11 , l12 , . . . , l1m1 }, {l21 , l22 , . . . , l2m2 }, . . . , {ln1 , ln2 , . . . , lnmn }}.
és ebből már következik az állítás.
3.23. Definíció (Rezolúció). Legyen C és D két clause, p ∈ C és ¬ p ∈ D. C és D p szerinti
rezolvense C \ { p} ∪ D \ {¬ p}.
3.24. Példa. { p, q, ¬r } és { p, ¬q} q szerinti rezolvense { p, ¬r }.
3.25. Állítás. Ha E a C és D (valamilyen atomi formula szerinti) rezolvense, akkor {C, D } |= E.
Biz. Mondjuk p ∈ C és ¬ p ∈ D, és E = C \ { p} ∪ D \ {¬ p} a C és D p-szerinti rezolvense,
és legyen M |= {C, D }. Ha M( p) = 0, akkor M |= C \ { p} (mert M |= C de M 6|= p),
tehát M |= E mert C \ { p} ⊆ E. Ha pedig M( p) = 1, akkor M |= D \ {¬ p} (mert M |= D
de M 6|= ¬ p), tehát M |= E mert D \ {¬ p} ⊆ E. Tehát mindkét esetben M |= E.
3.26. Megjegyzés. A rezolúció következő enyhe variációja viszont már nem helyes: p ∈ C
és ¬ p ∈ D, akkor C és D p szerinti rezolvens’-je (C ∪ D ) \ { p, ¬ p}. Pl. ha C = { p}, D =
{ p, ¬ p}, akkor (C ∪ D ) \ { p, ¬ p} = , de {C, D } 6|= , mert {C, D }-nek van, -nak viszont
nincs modellje.
Nem lehet „felgyorsítani” a rezolúciót oly módon, hogy egyszerre két atomi formula szerint rezolválunk: pl. C = { p, q}, D = {¬ p, ¬q}-nak nem rezolvense , és nem is következik
belőle, hiszen {C, D } kielégíthető.
3.27. Definíció. Az E clause egy rezolúciós levezetése a Σ clause-halmazból olyan véges T
fa, amire igaz, hogy
• T minden csúcsa egy clause
• E a T gyökere
• T minden levele Σ egy eleme
15
• T minden olyan D csúcsának ami nem levél, van két gyermeke aminek D a rezolvense.
(Ahelyett, hogy a csúcsok clause-ok, helyesebb lenne azt mondani, hogy minden csúcs egy
clause-zal van címkézve. Máskülönben ui. nem használhatnánk fel kétszer ugyanazt a
clause-t, mert ezzel a fa megszűnne fa lenni. Ld. az alábbi második példát!) A levezetés
hossza a nem-levél csúcsok száma. Σ-ból levezethető E (Σ `r E) ha E-nek van rezolúciós
levezetése Σ-ból. Σ cáfolható ha Σ `r .
3.28. Példa. {{¬ p}, { p, q}, {¬q}} cáfolata (két lépésben):
{¬ p}
{ p, q}
@
@
{q}
{¬q}
@
@
3.29. Példa. ( p → q) ∧ (q → ¬ p) ∧ p, azaz {{¬ p, q}, {¬q, ¬ p}, { p}} cáfolata két különböző
módon:
{¬q, ¬ p} { p}
@
@
{¬ p, q}
{¬q, ¬ p}
{¬q}
@
{¬ p, q}
@
@
{¬ p}
@
{ p}
{¬ p}
@
{ p}
@
@
@
3.30. Állítás (Helyesség). Ha Σ clause-halmaz, E egy clause, akkor Σ `r E =⇒ Σ |= E.
Biz. Indukció a levezetés hosszára. Legyen M a Σ egy modellje. Ha E 0-lépésben levezethető Σ-ból, akkor E ∈ Σ, tehát M |= E. Ha E n > 0 lépésben vezethető le, akkor egy
ilyen levezetésben E két clause gyermeke, akik n − 1 lépésben levezethetők (tehát igazak
M-ben), de akkor 3.25 miatt E igaz e két clause minden modelljében, speciel M-ben is. 3.31. Megjegyzés. `r nem teljes, mert például ∅ |= { p, ¬ p}, de ∅ 6`r { p, ¬ p} (az üres clausehalmazból ugyanis nyilván semmi sem vezethető le).
3.32. Tétel. A Σ clause-halmaz kielégíthetetlen akkor és csak akkor ha Σ `r
.
Azaz: a rezolúció nem teljes ugyan, de cáfolat-teljes, és ez a gyakorlatban elég, a következő
következmény miatt.
3.33. Következmény. Σ |= ϕ ⇐⇒ Σ ∪ {¬ ϕ} `r
Persze Σ ⊆ Form-ra Σ `r
.
úgy értendő, hogy ∪{ σ∧ clause halmaza : σ ∈ Σ } `r
Biz. Σ |= ϕ ⇐⇒ Σ ∪ {¬ ϕ} kielégíthetetlen ⇐⇒ Σ ∪ {¬ ϕ} `r
16
.
.
3.34. Következmény (Kompaktság). Egy formulahalmaz pontosan akkor elégíthető ki ha minden
véges része kielégíthető.
Biz. Elég persze clause-halmazokra belátni (miért?). Azokra meg triviális, mert ha egy
clause halmaz kielégíthetetlen, akkor 3.32 miatt levezethető belőle ; de a levezetés egy véges fa, tehát csak véges sok levele van, azaz csak véges sok Σ-beli clause-t használ. Vagyis
Σ-nak van olyan véges részhalmaza, amiből levezethető, vagyis ami 3.30 miatt kielégíthetetlen.
A másik irány (ha Σ kielégithető, akkor minden véges része is az) triviális.
3.35. Definíció. Legyen Σ egy clause halmaz.
def
Res(Σ) = Σ ∪ { C : C két Σ-beli clause rezolvense }.
def
def
Továbbá Res0 (Σ) = Σ, Resn+1 (Σ) = Res( Resn (Σ)) és Res∗ (Σ) = ∪n∈N Resn .
Vagyis Resk (Σ) a Σ-ból legfeljebb k lépésben levezethető clause-ok, Res∗ (Σ) pedig a Σ-ból
levezethető összes clause-ok halmaza.
3.36. Állítás. Ha Σ véges, akkor Resk+1 (Σ) = Resk (Σ) vmilyen k ∈ N-re.
Biz. Mivel Σ véges, csak véges sok atomi formula fordul elő benne. A rezolúció során nem
keletkezik új literális (azaz minden rezolvensben legfeljebb ugyanazok a literálisok fordulnak elő, mint azokban a clause-okban, akiknek a rezolvense). De véges sok literálisból csak
véges sok különböző clause állhat, tehát Res∗ (Σ) véges. Ebből már következik az állítás,
mert Res0 (Σ) ⊆ Res1 (Σ) ⊆ · · · ⊆ Resn (Σ) ⊆ · · · ⊆ Res∗ (Σ) nem lehet mind különböző.
3.37. Következmény. Véges clause-halmaz kielégíthetősége eldönthető rezolúcióval.
Biz. Ha egy Σ véges clause-halmaz kielégíthetetlen, akkor a teljességi tétel (3.32) miatt ∈
Resn (Σ) valamilyen n-re, ha pedig kielégíthető, akkor az előbbi állítás miatt Resn (Σ) =
Resn+1 (Σ) valamilyen n-re.
4. K ÖZJÁTÉK :
NÉHÁNY TIPIKUS ZH - KÉRDÉS KIJELENTÉSLOGIKÁBÓL
Kérdés Melyik érvényes a következő formulák közül?
(a)
(b)
(c)
(d)
( p → ¬q) → ¬(q ∧ p)
(( p → r ) ∧ (q → ¬r )) → ( p → ¬q)
( p → ⊥) → ¬ p
( p ∨ q) ∧ (¬ p ∨ ¬q) → ( p → q)
Válasz. (a) érvényes, mert ha ( p → ¬q) → ¬(q ∧ p) hamis egy M modellben, akkor
M |= p → ¬q, de M 6|= ¬(q ∧ p), vagyis M |= q ∧ p. De akkor M |= p, p → ¬q, tehát
M |= ¬q ∧ q, ami ellentmondás.
De ugyanezt rezolúcióval is meg lehet mutatni:
|= ( p → ¬q) → ¬(q ∧ p) ⇐⇒ { p → ¬q} |= ¬(q ∧ p) ⇐⇒ { p → ¬q, q ∧ p} kielégíthetetlen
Clause-halmazzá konvertálva ezt kapjuk: {{¬ p, ¬q}, {q}, { p}}, ami valóban kielégíthetetlen, mert levezethető belőle az üres clause:
17
{ p}
{¬ p, ¬q}
@
@
{¬q}
{q}
@
@
De persze igazságtáblázattal is lehet ellenőrizni (a) érvényességét.
(b): Például rezolúcióval:
|= (( p → r ) ∧ (q → ¬r )) → ( p → ¬q) ⇐⇒ {( p → r ) ∧ (q → ¬r )} |= p → ¬q
⇐⇒ {( p → r ) ∧ (q → ¬r ), ¬( p → ¬q)} kielégíthetetlen
⇐⇒ {{¬ p, r }, {¬q, ¬r }, { p}, {q}} kielégíthetetlen
és ez utóbbi igaz, mert az üres clause levezethető {{¬ p, r }, {¬q, ¬r }, { p}, {q}}-ból:
{¬ p, r }
{ p}
@
@
{r }
{¬q, ¬r }
@
@
{¬q}
{q}
@
@
(b) tehát érvényes. És nyilvánvalóan (c) is.
De (d) nem. Ezt lehetne igazságtáblázattal, mert csak két kijelentésváltozó szerepel benne, de persze lehet rezolúcióval, vagy józan ésszel is.
Józan ésszel: ahhoz, hogy ( p ∨ q) ∧ (¬ p ∨ ¬q) → ( p → q) hamis legyen egy M modellben, ( p ∨ q) ∧ (¬ p ∨ ¬q)-nak igaznak és p → q-nak hamisnak kell lennie M-ben. Az utóbbi
miatt M( p) = 1 és M(q) = 0 (következésképp legfeljebb egy ilyen modell van), de akkor
M |= ( p ∨ q) ∧ (¬ p ∨ ¬q), tehát M valóban olyan modell, amiben (d) nem igaz.
Rezolúcióval:
|= ( p ∨ q) ∧ (¬ p ∨ ¬q) → ( p → q) ⇐⇒ {( p ∨ q) ∧ (¬ p ∨ ¬q), ¬( p → q)} kielégíthetetlen
⇐⇒ {{ p, q}{¬ p, ¬q}, { p}, {¬q}} kielégíthetetlen
Valójában erről a clause-halmazról azonnal, tehát rezolúció nélkül is látszik, hogy kielégíthető, mert az utolsó két clause előírja, hogy ha van modellje, abban p-nek igaznak, q-nak
pedig hamisnak kell lennie; tehát csak ellenőrizni kell, hogy ebben a modellben a maradék
két clause is igaz. És hát persze ez a helyzet, hiszen az egyiknek eleme p, a másiknak meg
¬q.
De ha ezt nem is vettük volna észre, és elkezdenénk rezolválni, hamar kiderülne, hogy az
üres clause-t nem fogjuk tudni levezetni, mert ha Σ = {{ p, q}{¬ p, ¬q}, { p}, {¬q}}, akkor
Res(Σ) = Σ ∪ {{ p, ¬ p}, {q, ¬q}} és Res( Res(Σ)) = Res(Σ).
18
Kérdés. (A, B, C lovagok, akik mindig igazat mondanak, vagy lókötők, akik mindig
hazudnak.) A: Közülünk pontosan egyvalaki lovag. B: Lovag vagyok. C: Mindhárman
lókötők vagyunk.
Ki lovag és ki lókötő?
Válasz. Egy kis józan ész és igazságtáblázat kombinációja tűnik célravezetőnek. A következő formulahalmazt kielégítő modell(eke)t kellene találnunk
Σ = { A ↔ 5( A, B, C ), B ↔ B, C ↔ ¬ A ∧ ¬ B ∧ ¬C }
Itt 5( A, B, C ) olyan formula, ami pontosan akkor igaz, ha A, B és C közül pontosan egy
igaz. Ezt definiálhatnánk pl. így: ( A ∧ ¬ B ∧ ¬C ) ∨ (¬ A ∧ B ∧ ¬C ) ∨ (¬ A ∧ ¬ B ∧ C ), de a
részletek nem számítanak, ami fontos, az az, hogy van ilyen formula, és hogy tudjuk, mikor
igaz egy modellben.
És akkor most egy kis józan ész, egyebek mellett azért, hogy ne kelljen mind a nyolc
elvben lehetséges modellben számolni. Először is, B ↔ B-vel nyilván nem kell foglalkoznunk, mert ez minden modellben igaz. Aztán: C csakis hamis lehet Σ minden modelljében,
mert C ↔ ¬ A ∧ ¬ B ∧ ¬C ∈ Σ miatt ha C igaz lenne egy ilyenben, akkor ¬C is. Ez nem
csak megfelezi a vizsgálandó modellek számát, de egy további egyszerűsítést is lehetővé
tesz: a C ↔ ¬ A ∧ ¬ B ∧ ¬C formulát helyettesíthetjük van ¬(¬ A ∧ ¬ B)-vel, és így az azzal
ekvivalens A ∨ B-vel, mert Σ tetszőleges M modelljében M 6|= C miatt
M |= C ↔ ¬ A ∧ ¬ B ∧ ¬C ⇐⇒ M |= ⊥ ↔ ¬ A ∧ ¬ B ∧ > ⇐⇒ M |= ¬(¬ A ∧ ¬ B)
Ezek után az igazságtáblázat így néz ki:
A
0
0
1
1
B
0
1
0
1
C
0
0
0
0
A ∨ B 5( A, B, C ) A ↔ 5( A, B, C )
0
0
1
1
1
0
1
1
1
1
0
0
Σ
0
0
1
0
V
Vagyis Σ-nak egyetlen modellje van, és abban csak A igaz, tehát A lovag és mindenki más
lókötő.
Kérdés. A következő formulahalmazok közül melyek konzisztensek, és melyek teljesek?
Σ = { p ∧ ¬q, r → ( p ∨ q)}
Γ = { p ∧ ¬r, p → (q ∧ r )}
Válasz. Az a kérdés, hogy van-e modelljük (3.11 miatt), és ha igen, mennyi (3.16 miatt).
A Σ-nak megfelelő clause-halmaz {{ p}, {¬q}, {¬r, p, q}}. Ebből több modell is leolvasható: az első két clause miatt ha M modellje Σ-nak, akkor M( p) = 1 és M(q) = 0; de
akkor a harmadik clause is igaz M-ben, r igazságától függetlenül. Tehát Σ-nak legalább két
modellje van: az egyik az, amiben p és r igaz és q hamis, a másik amiben p igaz és q és r
hamis. Tehát Σ konzisztens és nem teljes.
Γ viszont inkonzisztens (és ennek következtében teljes is, ld. 3.13), mert p ∧ ¬r ∈ Γ miatt
p igaz minden Γ-t kielégítő modellben, következésképp ¬r és r is igaz kell legyen (utóbbi
p → (q ∧ r ) ∈ Γ miatt). Persze ez rezolúcióval is megmutatható: a Γ-nak megfelelő clausehalmaz
{{ p}, {¬r }, {¬ p, q}, {¬ p, r }}
19
(használtuk, hogy p → (q ∧ r ) ≡ ¬ p ∨ (q ∧ r ) ≡ (¬ p ∨ q) ∧ (¬ p ∨ r )), és ebből levezethető
az üres clause, pl. így:
{ p}
@
@
{¬ p, r }
{r }
{¬r }
@
@
Kérdés. Legyen Σ = {¬ p, q}. Melyik igaz az alábbiak küzül?
(a)
Σ |= r → ( p ∨ ¬q)
(b)
Σ |= p ∨ q
(c)
Σ |= ( p ∨ ¬q) → r
(d)
Σ |= ¬ p → (q → ¬ p)
Válasz. (a) nem, mert p ∨ ¬q hamis Σ minden modelljében, tehát r → ( p ∨ ¬q) is az, ha r
igaz.
(b) igaz, mert q igaz Σ minden modelljében.
(c) is igaz, ugyanazért, amiért (a) nem: p ∨ ¬q hamis Σ minden modelljében, tehát ( p ∨
¬q) → r is az minden ilyen modellben.
(d) igaz, mert |= ¬ p → (q → ¬ p) is az.
5. E LS ŐREND Ű LOGIKA
Kijelentéslogikával meglepően messzire lehet jutni, de arra nem alkalmas, hogy dolgokról
és köztük fennálló relációkról beszéljen. A kijelentéslogika olyan bővítésére van szükségünk, ami alkalmas pl. annak kifejezésére, hogy több mint egy dolog van, vagy hogy egy
reláció tranzitív; és még esetleg egy relációs adatbázisból való lekérdezés is leírható vele.
5.1. Szintaxis Propozicionális logikában csak kétféle szimbólum (atomi formulák és konnektívumok) szerepelt, és egyfajta kifejezés, avagy szintaktikai kategória (formulák). Elsőrendű logikában nemcsak állítások, hanem „dolgok” is szerepelnek (amikről állíthatunk
mindenfélét), ennek megfelelően a formulák mellett még egy szintaktikai kategória van, a
termeké, és az elsőrendű formulák és termek ötféle szimbólumból épülnek fel:
(1) végtelen sok változójel (x, y, z, . . . és ezek indexelt változatai); Var jelöli a változók
halmazát
(2) logikai konnektívumok (∧, ¬, ∀ (univerzális kvantor, „minden”-nek olvasandó), =)
(3) relációjelek (P, R, S, . . . és ezek indexelt változatai)
(4) függvényjelek ( f , g, h, . . . és ezek indexelt változatai)
(5) konstansjelek (c, d, e, . . . és ezek indexelt változatai)
Megtehetnénk, hogy az utolsó három kategóriában szereplő jeleket egyszer és mindenkorra
rögzítjük (pl. feltesszük, hogy végtelen sok függvényjel van, és mindig csak azokat használjuk közülük, amikre éppen szükség van), de egyszerűbb ezeket paraméternek tekinteni,
és azt mondani, hogy elsőrendű nyelv egy L = R ∪ F ∪ C halmaz, ahol R relációjelek, F
20
függvényjelek, C pedig konstansok páronként diszjunkt halmazai.2 Feltesszük, hogy van
egy ρ függvény, ami minden relációjelhez és függvényjelhez hozzárendel egy természetes
számot, a relációjel vagy függvényjel rangját (vagy aritását) (Ha ρR = n ill. ρ f = n, akkor
azt mondjuk, hogy R ( f ) n-argumentumú.)
Ha mást nem mondunk, mindig feltételezzük, hogy egy tetszőleges, de rögzített L nyelvről van szó.
5.1. Definíció (Elsőrendű termek). Legyen L = R ∪ F ∪ C egy elsőrendű nyelv. TermL a
legszűkebb T halmaz, amire
(1) Var ⊆ T
(2) C ⊆ T
(3) ha f ∈ F és t1 , . . . , tρ f ∈ T, akkor f (t1 , . . . , tρ f ) ∈ T.
5.2. Példa. Legyen L az a nyelv, amiben e az egyetlen konstansjel (vagyis C = {e}), és a
kétargumentumú · az egyetlen függvényjel (azaz F = {·} és ρ(·) = 2). Akkor ·(y, ·( x, e)) ∈
TermL . A szokásos, infix írásmódot használva ezt persze így írjuk: y · ( x · e) L mellesleg a
csoportelmélet nyelve.
5.3. Állítás (Term-indukció). Ha T olyan tulajdonság, hogy
• a változók és konstansjelek kielégítik T-t
• ha f függvényjel és t1 , . . . , tρ f kielégítik T-t, akkor f (t1 , . . . , tρ f ) is kielégíti T-t,
akkor minden term kielégíti T-t.
5.4. Definíció (Elsőrendű formulák). Legyen L = R ∪ F ∪ C egy elsőrendű nyelv. FormL a
legszűkebb F halmaz, amire
(1)
(2)
(3)
(4)
ha R ∈ R és t1 , . . . , tρR ∈ TermL , akkor R(t1 , . . . , tρR ) ∈ F
ha t1 , t2 ∈ TermL , akkor t1 = t2 ∈ F.
ha ϕ, ψ ∈ F, akkor ¬ ϕ, ϕ ∧ ψ ∈ F
ha ϕ ∈ F és x ∈ Var, akkor ∀ xϕ ∈ F.
Az (1)-beli formulákat relációs atomi formuláknak, az 1. és 2.-beli formulákat atomi formuláknak nevezzük.
5.5. Definíció (Származtatott konnektívumok).
def
• ϕ ∨ ψ = ¬(¬ ϕ ∧ ¬ψ)
def
• ϕ → ψ = ¬ϕ ∨ ψ
def
• ϕ ↔ ψ = ( ϕ → ψ) ∧ (ψ → ϕ)
def
• ∃ xϕ = ¬∀ x ¬ ϕ (∃: egzisztenciális kvantor, „létezik”-nek vagy „van olyan”-nak olvasandó)
A következő szakaszban majd pontosan definiáljuk, hogy mit jelent az, hogy egy formula
igaz. De intuitíve: a régi konnektívumok éppúgy működnek mint régen, ∀ xϕ azt jelenti,
hogy mindenre igaz a ϕ, ∃ xϕ pedig azt, hogy van olyan dolog amire igaz a ϕ.
2Már a propozicionális logikában is bevezethettünk volna propozicionális nyelveket (Π részhalmazait).
21
5.6. Példák. Az előző példabeli L nyelvben ∀ x ∃y · ( x, y) = e, avagy ∀ x ∃yx · y = e (azaz
∀ x ¬∀y¬ x · y = e, avagy ∀ x ¬∀y( x · y 6= e)) formula (ami történetesen igaz a csoportokban).
További példák: Legyenek A (alma) és R (rohadt) egyargumentumú relációjelek. Minden alma rohadt: ∀ x ( A( x ) → R( x )). Van rohadt alma (azaz némely almák rohadtak):
∃ x ( A( x ) ∧ R( x )).
Legyenek F (fiú), L (lány) egyargumentumú, S (S( x, y) azt jelenti, hogy „x szereti y-t”)
kétargumentumú relációjelek. Mindenki szeret valakit: ∀ x ∃yS( x, y). Mindenkit szeret valakit: ∀ x ∃yS(y, x ). Minden lány szeret egy fiút: ∀ x ( L( x ) → ∃y( F (y) ∧ S( x, y))). Van egy
lány, aki minden fiút szeret: ∃ x ( L( x ) ∧ ∀y( F (y) → S( x, y))). Van olyan lány, aki csak fiúkat
szeret: ∃ x ( L( x ) ∧ ∀y(S( x, y) → F (y))).
5.7. Állítás (Formula-indukció). Ha T olyan tulajdonság, hogy
• az atomi formulák rendelkeznek a T tulajdonsággal
• ha ϕ és ψ kielégíti T-t, akkor ¬ ϕ, ϕ ∧ ψ és ∀ xϕ is kielégítik T-t (minden x ∈ Var-ra)
akkor minden formula kielégíti T-t.
5.2. Szemantika
5.8. Definíció (Modell). Legyen L = R ∪ F ∪ C egy elsőrendű nyelv. M egy L-modell
(vagy L-struktúra), ha olyan L ∪ {∗}-on (∗ ∈
/ L) értelmezett függvény, amire (M(·)-t ·M -el
jelölve)
• ∗M = M(∗) = |M| (M univerzuma) egy nemüres halmaz
• minden R ∈ R-re RM ⊆ |M|ρR (azaz RM ρR argumentumú reláció |M|-en)
• minden f ∈ F -re f M : |M|ρ f −→ |M| (azaz f M ρ f argumentumú függvény |M|en)
• minden c ∈ C -re cM ∈ |M|.
|M|-et rendszerint egyszerűen M-mel jelöljük. M modell, ha L-modell valamilyen L elsőrendű nyelvre.
L-formulák jelentését L-modellekben fogjuk definiálni. Az idea az, hogy az R relációjel jelentése az M modellben az RM reláció, az f függvényjel jelentése az f M függvény,
a c konstansé pedig a modell cM eleme. A gyakorlatban sokszor egyszerűen R-rel fogjuk jelölni az M-beli RM relációt (és hasonlóan járunk el függvényekkel és konstansokkal
is). További jelölésbeli egyszerűsítés, hogy egy modellt úgy adunk meg, hogy felsoroljuk
a komponenseit: M = h M, . . . i, ahol a kipontozott rész helyére a relációk, függvények és
konstansok kerülnek. Az fontos, hogy egyértelmű legyen, melyik reláció (függvény konstans) melyik relációjel (függvényjel, konstansjel) modellbeli jelentése.
5.9. Definíció (Kiértékelés). Legyen M egy modell M univerzummal. σ egy M-hez tartozó
kiértékelés, ha σ : Var −→ M.
Vagyis egy kiértékelés minden változóhoz egy modellbeli elemet rendel. Gondolhatunk
rá úgy, mint „kontextusra” vagy „környezet”-re, ami értéket ad a (későbbi szóhasználattal
élve: szabad) változóknak; vagy mint egy relációs adatbázis egy táblájának egy sorára.
5.10. Definíció (Termek értéke). Legyen σ egy M L-modellhez tartozó kiértékelés. L termjeinek σ szerinti M-beli értékét a termek felépítése szerinti rekurzióval definiáljuk.
22
• x M [σ] = σ( x ) ha x ∈ Var
• cM [σ] = cM ha c ∈ C
• f (t1 , . . . , tρ f )M [σ] = f M (t1M [σ], . . . , tM
ρ f [ σ ]) ha f ∈ F és t1 , . . . , tρ f ∈ TermL .
5.11. Példa. Legyen L a számelmélet nyelve: R = {≤}, ρ(≤) = 2, F = {+, ·}, ρ(+) =
ρ(·) = 2, C = {0, 1}. Egy L-modell a természetes számok: N = h N, ≤N , +N , ·N , 0N , 1N i,
ahol N a természetes számok halmaza, ≤N a természetes számok szokásos rendezése, +N a
szokásos összadás függvény a természetes számokon, s.í.t. Legyen σ az a kiértékelés, amely
minden változóhoz a 3-at rendeli. Akkor ·(+(0, y), +( x, 1))N [σ ], vagyis a szokásos, infix
írásmódot használva ((0 + y) · ( x + 1))N [σ ] = 12. Vigyázat: ·(3, +( x, 1)) (azaz 3 · ( x + 1)
nem term ebben a nyelvben (mert 3 nem term).
De L-modell az az M struktúra is, aminek az univerzuma N, ≤M az oszthatóság, +M a
legnagyobb közös osztó, ·M a legkisebb közös többszörös, 0M = 1 és 1M = 33. Az előbbi σ
kiértékelés ehhez a modellhez is jó, és ·(+(0, y), +( x, 1))M [σ] = ·M (+M (1, 3), +M (3, 33)) =
·M (1, 3) = 3.
5.12. Definíció (Formulák értéke). Legyen σ egy M L-modellhez tartozó kiértékelés. L formuláinak igazságát M-ben a σ kiértékelés mellett a formulák felépítése szerinti rekurzióval
definiáljuk.
M
M |= R(t1 , . . . , tρR )[σ] ⇐⇒ h t1M [σ], . . . , tM
ρR [ σ ] i ∈ R
M |= (t1 = t2 )[σ] ⇐⇒ t1M [σ] = t2M [σ]
M |= ¬ ϕ[σ] ⇐⇒ M 6|= ϕ[σ]
M |= ( ϕ ∧ ψ)[σ] ⇐⇒ M |= ϕ[σ] és M |= ψ[σ]
M |= ∀ xϕ[σ] ⇐⇒ M |= ϕ[σ0 ] minden olyan σ0 kiértékelésre, ami legfeljebb x-en
tér el σ-tól.
Az utolsó feltétel egy kicsit más (ekvivalens) megfogalmazásban:
•
•
•
•
•
M |= ∀ xϕ[σ] ⇐⇒ minden m ∈ M-re M |= ϕ[σ( x/m)]
ahol σ ( x/m) az az értékelés, ami minden x-től különböző változóhoz ugyanazt az értéket
rendeli mint σ, x-hez pedig m-et.
Végül: M |= ϕ ha minden σ értékelésre M |= ϕ[σ].
5.13. Következmény. M |= ∃ xϕ[σ ] ⇐⇒ van olyan m ∈ M amire M |= ϕ[σ ( x/m)]
Biz. M |= ∃ xϕ[σ] csakkor ha M |= ¬∀ x ¬ ϕ[σ] csakkor ha M 6|= ∀ x ¬ ϕ[σ ] csakkor ha
nem igaz, hogy minden m ∈ M-re M |= ¬ ϕ[σ( x/m)] csakkor, ha nem igaz, hogy minden
m ∈ M-re M 6|= ϕ[σ ( x/m)] csakkor ha van olyan m ∈ M amire M |= ϕ[σ ( x/m)].
5.14. Példa. Legyen L, N és σ mint az előző példában. N |= ∀ x ¬( x + y = 0))[σ ] (vagyis, a
matematikában szokásos írásmódot alkalmazva: N |= ∀ x ( x + y 6= 0)[σ]) N |= ∀ x (0 ≤ x +
y)[σ], N 6|= ∀ x ( x 6= 0 → ∃y( x · y = 1))[σ]. Ha M univerzuma Q, ≤M a racionális számok
szokásos rendezése, +M a összeadás Q-n, s.í.t., akkor M |= ∀ x ( x 6= 0 → ∃y( x · y = 1))[σ].
5.15. Definíció (Szabad változók). t ∈ TermL -re és ϕ ∈ FormL -re FV (t) ill. FV ( ϕ) jelöli t és
ϕ szabad változóinak halmazát, amit így definiálunk:
• FV ( x ) = { x } ha x ∈ Var
23
• FV (c) = ∅ ha c ∈ C
• FV ( f (t1 , . . . , tρ f )) = ∪{ FV (ti ) : 1 ≤ i ≤ ρ f }
• FV ( R(t1 , . . . , tρR )) = ∪{ FV (ti ) : 1 ≤ i ≤ ρR }
• FV (t1 = t2 ) = FV (t1 ) ∪ FV (t2 )
• FV (¬ ϕ) = FV ( ϕ)
• FV ( ϕ ∧ ψ) = FV ( ϕ) ∪ FV (ψ)
• FV (∀ xϕ) = FV ( ϕ) \ { x }
Speciálisan, egy term szabad változói egyszerűen a termben előforduló változók.
ϕ mondat ha FV ( ϕ) = ∅. SentL = { ϕ ∈ FormL : FV ( ϕ) = ∅ } az L-mondatok halmaza.
Például FV ( x = y → ∀yR( x, y)) = { x, y }.
5.16. Állítás. Legyenek σ és τ az M L-modellhez tartozó kiértékelések, t ∈ TermL és ϕ ∈ FormL .
(1) Ha σ FV (t) = τ FV (t), akkor tM [σ] = tM [τ ], és
(2) ha σ FV ( ϕ) = τ FV ( ϕ), akkor M |= ϕ[σ] ⇐⇒ M |= ϕ[τ ].
5.17. Következmény. M L-modellre és ϕ ∈ SentL -re M |= ϕ pontosan akkor, ha van olyan σ
kiértékelés, amire M |= ϕ[σ ].
5.18. Állítás. Minden M L-modellre és ϕ ∈ FormL -re M |= ϕ ⇐⇒ M |= ∀ xϕ. Következésképp ha FV ( ϕ) ⊆ { x1 , . . . , xn }, akkor M |= ϕ ⇐⇒ M |= ∀ x1 . . . ∀ xn ϕ.
∀ x1 . . . ∀ xn ϕ ∈ SentL -t a ϕ formula univerzális lezártjának mondjuk ha FV ( ϕ) ⊆ { x1 , . . . , xn }.
Biz. Az első állítás azért igaz, mert
M 6|= ∀ xϕ
⇐⇒ van olyan σ amelyre M 6|= ∀ xϕ[σ]
⇐⇒ van olyan σ és σ0 , hogy σ0 legfeljebb x-en tér le σ-tól és M 6|= ϕ[σ0 ]
⇐⇒ van olyan σ0 amelyre M 6|= ϕ[σ0 ]
⇐⇒ M 6|= ϕ
Csak a harmadik ekvivalencia igazsága nem követetkezik közvetlenül a definícióból, de
abban is, a balról jobbra irány triviális, a másikban meg választhatjuk σ-t σ0 -nek.
Ebből már következik (pl. indukcióval FV ( ϕ) elemeinek számára) az állítás második része.
Vigyázat: azt nem állítjuk (és nem is igaz), hogy minden M modellben M |= ϕ → ∀ xϕ.
Például M 6|= x = c → ∀ x ( x = c) ha M legalább kételemű, mert M 6|= x = c → ∀ x ( x =
c)[σ] ha σ( x ) = cM .
Azt, hogy FV ( ϕ) ⊆ { x1 , x2 , . . . , xn }, szokás úgy jelezni, hogy ϕ helyett ϕ( x1 , x2 , . . . , xn )et írunk.
5.19. Definíció. Legyen M L-modell, ϕ( x1 , x2 , . . . , xn ) ∈ FormL és m1 , m2 , . . . , mn ∈ M.
Ekkor M |= ϕ( x1 , x2 , . . . , xn )[m1 , m2 , . . . , mn ] ha van olyan σ értékelés, amire σ ( xi ) = mi
(1 ≤ i ≤ n-re) és M |= ϕ( x1 , x2 , . . . , xn )[σ].
5.16 miatt ebben a definícióban „van olyan σ értékelés” helyett „minden olyan σ értékelés”t is mondhattunk volna. Lényeg: 5.16 miatt elég a szabad változókat kiértékelni.
24
5.20. Definíció. Az x változó egy előfordulása a ϕ formulában kötött, ha ϕ-nek egy ∀ xψ (és
ezért aztán akkor is, ha ∃ xψ) alakú részformulájába esik; szabad ha nem kötött.
Például x = y → ∀y( R( x, y))-ban x mindkét előfordulása szabad, y második előfordulása
kötött, első előfordulása szabad. Nem nehéz belátni, hogy minden ϕ formulára FV ( ϕ) =
{ x ∈ Var : x-nek van szabad előfordulása ϕ-ben }.
5.21. Definíció (behelyettesítés). ϕ( x1 , x2 , . . . , xn ) ∈ FormL -re és t1 , t2 , . . . , tn ∈ TermL -re
ϕ( x1 /t1 , x2 /t2 , . . . , xn /tn ) jelöli azt a formulát, amit úgy kapunk ϕ-ből, hogy x1 , x2 , . . . , xn
szabad előfordulásai helyére t1 , t2 , . . . , tn -et írunk.
5.22. Példa. Ha ϕ( x, y) a fenti x = y → ∀y( R( x, y)) formula, akkor ϕ( x/ f ( x, y), y/g( x )) az
f ( x, y) = g( x ) → ∀y( R( f ( x, y), y)) formula. Ez a példa azt is mutatja, hogy ez „szimultán”
(vagy „párhuzamos”) helyettesítés; máskülönben az eredménye
( x = y → ∀y( R( x, y))) ( x/ f ( x, y))(y/g( x ))
≡ ( f ( x, y) = y → ∀y( R( f ( x, y), y))) (y/g( x ))
≡ f ( x, g( x )) = g( x ) → ∀y( R( f ( x, y), y))
lenne.
Csábító, de nem igaz, hogy M |= ∀ xϕ( x )-ből M |= ϕ( x/t) következik minden t termre.
Például legyen M olyan modell, aminek az univerzuma legalább kételemű, ϕ( x ) legyen
a ∃y¬( x = y) formula, t pedig y. Akkor M-ben igaz ∀ xϕ( x ) (azaz ∀ x ∃y¬( x = y)), de
M-ben nem igaz ϕ( x/t) (azaz ∃y¬(y = y)). A bajt az okozza, hogy a behelyettesítés során
egy változó (most y) egy t-beli előfordulása kötötté válik. Ugyanez a jelenség előfordul
R1
mindenhol, ahol változót lekötő operátorok (mint most a ∀ és a ∃) vannak. Pl. 0 y dx = y,
és ez igaz, bármilyen term-et (mint mondjuk z · y2 ) is írunk y helyébe, kivéve ha abban a
R1
term-ben x előfordul: 0 x dx (= 1/2) 6= x.
5.23. Definíció. Legyen M L-modell, és Σ ∪ { ϕ} ⊆ FormL . Akkor
(1) M |= Σ csakkor ha minden Σ-beli ϕ-re M |= ϕ3 (Σ igaz M-ben).
(2) Σ |= ϕ csakkor ha M |= ϕ minden minden M modellben amire M |= Σ (ϕ (szemantikus) következménye Σ-nak)
(3) (ϕ ∈ FormL -re) |= ϕ ha ∅ |= ϕ, azaz ha ϕ minden L-modellben minden kiértékelés
mellett igaz (ϕ érvényes formula)
(4) ϕ ∈ FormL ill. Σ ⊆ FormL kielégíthető, ha van olyan modell és kiértékelés amiben
igaz, kielégíthetetlen ha nem kielégíthető
(5) ϕ ≡ ψ (ekvivalensek) ha ugyanazon modellekben ugyanazon kiértékelések mellett
igazak. (Pl. x = y ≡ y = x vagy (∀ x )(∀y) ϕ ≡ (∀y)(∀ x ) ϕ.)
Könnyű belátni, hogy most is, mint kijelentéslogikában, ϕ ≡ ψ ⇐⇒ |= ϕ ↔ ψ.
5.24. Állítás. Σ ∪ { ϕ} ⊆ SentL -re
Σ |= ϕ ⇐⇒ Σ ∪ {¬ ϕ} kielégíthetetlen.
3azaz ha minden Σ-beli ϕ-re és minden σ kiértékelésre M |= ϕ[σ ]
25
Biz. Σ |= ϕ csakkor ha ϕ igaz Σ minden modelljében, csakkor ha ¬ ϕ hamis Σ minden
modelljében, csakkor ha Σ ∪ {¬ ϕ} kielégíthetetlen.
A propozicionális logikával ellentétben, az érvényes elsőrendű formulák halmaza nem
eldönthető. (Ha az lenne, akkor az egész matematika eldönthető lenne.) Ennek nem az az
oka, hogy a modellek végtelenek, sőt: az érvényes elsőrendű formulák halmaza rekurzíve
felsorolható (van egy Turing gép, ami felsorolja az összes érvényes formulát), míg a véges
modelleken érvényes formulák halmaza nemhogy nem eldönthető de még csak fel sem
sorolható rekurzívan.
5.25. Állítás.
(1) |= ∀ x ( ϕ ∧ ψ) ↔ (∀ xϕ ∧ ∀ xψ)
(2) |= ∃ x ( ϕ ∨ ψ) ↔ (∃ xϕ ∨ ∃ xψ)
(3) 6|= ∀ x ( ϕ ∨ ψ) → (∀ xϕ ∨ ∀ xψ), de ha x ∈
/ FV (ψ), akkor |= ∀ x ( ϕ ∨ ψ) ↔ (∀ xϕ ∨ ψ)
(4) 6|= (∃ xϕ ∧ ∃ xψ) → ∃ x ( ϕ ∧ ψ), de ha x ∈
/ FV (ψ), akkor |= (∃ xϕ ∧ ψ) ↔ ∃ x ( ϕ ∧ ψ)
(5) |= ∀ x ( ϕ → ψ) → (∀ xϕ → ∀ xψ)
(6) 6|= (∀ xϕ → ∀ xψ) → ∀ x ( ϕ → ψ)
(7) |= ∀ x ∀yϕ → ∀y∀ xϕ
(8) |= ∃ x ∃yϕ → ∃y∃ xϕ
(9) |= ∃ x ∀yϕ → ∀y∃ xϕ
(10) 6|= ∀ x ∃yϕ → ∃y∀ xϕ
Biz. A pozitív állítások könnyen következnek az igazság definíciójából, a negatívakra pedig
könnyű ellenpéldákat adni. Azért lássunk be néhányat!
(1) Tetszőleges M modellre és hozzá tartozó σ kiértékelésre
M |= ∀ x ( ϕ ∧ ψ)[σ]
⇐⇒ minden m ∈ M-re M |= ϕ ∧ ψ[σ( x/m)]
⇐⇒ minden m ∈ M-re M |= ϕ[σ( x/m)] és M |= ψ[σ( x/m)]
⇐⇒ minden m ∈ M-re M |= ϕ[σ( x/m)] és minden m ∈ M-re M |= ψ[σ( x/m)]
⇐⇒ M |= ∀ xϕ[σ] és M |= ∀ xψ[σ]
⇐⇒ M |= ∀ xϕ ∧ ∀ xψ[σ]
(3) Tartalmazzon az L nyelv két egyargumentumú relációjelet (R és S), és legyen M =
h M, RM , SM i, ahol M = { a, b }, RM = { a} és SM = {b}. Akkor M |= ∀ x ( R( x ) ∨ S( x )) de
M 6|= ∀ xR( x ) ∨ ∀ xS( x ). Avagy: abból, hogy „minden ragad vagy sáros” nem következik,
hogy „minden ragad vagy minden sáros”.
(3) második részének belátásához tegyük fel, hogy x ∈
/ FV (ψ) és legyen M, σ tetszőleges.
Akkor
M 6|= ∀ x ( ϕ ∨ ψ)[σ]
⇐⇒ van m ∈ M, hogy M 6|= ϕ ∨ ψ[σ( x/m)]
⇐⇒ van m ∈ M, hogy M 6|= ϕ[σ( x/m)] és M 6|= ψ[σ( x/m)]
⇐⇒ M 6|= ∀ xϕ[σ] és M 6|= ψ[σ]
⇐⇒ M 6|= ∀ xϕ ∨ ψ[σ]
26
(az utolsó előtti lépésben az 5.16 állítást használtuk.)
(5) Azt kell megmutatnunk, hogy |= (∀ x ( ϕ → ψ) ∧ ∀ xϕ) → ∀ xψ. Tetszőleges M modellre
és σ kiértékelésre
M |= ∀ x ( ϕ → ψ) ∧ ∀ xϕ[σ]
=⇒ M |= ∀ x ( ϕ → ψ)[σ] és M |= ∀ xϕ[σ]
=⇒ minden m ∈ M-re M |= ϕ → ψ[σ( x/m)] és minden m ∈ M-re M |= ϕ[σ( x/m)]
=⇒ minden m ∈ M-re, ha M |= ϕ[σ( x/m)], akkor M |= ψ[σ( x/m)];
és minden m ∈ M-re M |= ϕ[σ ( x/m)]
=⇒ minden m ∈ M-re M |= ψ[σ( x/m)]
=⇒ M |= ∀ xψ[σ]
(6) Abból, hogy „Ha mindenki milliomos, akkor mindenki szőke” nem következik, hogy
„minden milliomos szőke”. Kicsit formálisabban: legyen L egy elsőrendű nyelv két unér
relációjellel R-rel és S-sel, és legyen M a h M, RM , SM i L-struktúra, ahol M = { a, b },
RM = { a} és SM = {b}. Akkor M |= ∀ x.R( x ) → ∀ x.S( x ), mert M 6|= ∀ x.R( x ); de
M 6|= ∀ x ( R( x ) → S( x )), mert M 6|= R( x ) → S( x )[ a]. Vegyük észre, hogy SM = ∅
ugyanilyen jó lett volna. Csak az volt fontos, hogy RM ne legyen részhalmaza SM -nek.
(9) Legyen M és σ tetszőleges. Akkor
M |= ∃ x ∀yϕ[σ]
=⇒ van olyan m ∈ M, hogy M |= ∀yϕ[σ( x/m)]
=⇒ van olyan m ∈ M, hogy minden m0 ∈ M-re M |= ϕ[σ( x/m)(y/m0 )]
=⇒ minden m0 ∈ M-re van olyan m ∈ M, hogy M |= ϕ[σ( x/m)(y/m0 )]
=⇒ minden m0 ∈ M-re M |= ∃ xϕ[σ(y/m0 )]
=⇒ M |= ∀y∃ xϕ[σ]
(10) Abból, hogy „Mindenkit szeret valaki”, azaz, hogy „Mindenkihez van valaki aki őt
szereti”, nem következik, hogy „Van valaki, aki mindenkit szeret”. Kicsit formálisabban:
legyen L az üres nyelv és legyen M egy legalább kételemű L-struktúra. Akkor M 6|=
∀ x ∃y.x = y → ∃y∀ x.x = y.
5.26. Gyakorlat. Hol használtuk (9) bizonyításában, hogy x és y különböző változók? Mutassuk meg, hogy (9) akkor is igaz, ha x és y ugyanaz a változó.
A dedukciótétel elsőrendű logikában egy kicsit bonyolultabb mint kijelentéslogikában,
pl., { ϕ} |= ∀ xϕ (ld. 5.18), de 6|= ϕ → ∀ xϕ (ha például ϕ az x = c formula, akkor ϕ → ∀ xϕ
egyetlen, legalább kételemű modellben sem igaz).
5.27. Tétel (Dedukciótétel). Ha Σ ∪ { ϕ, ψ} ⊆ FormL , akkor
Σ ∪ { ϕ} |= ψ ⇐⇒ Σ |= ∀ x̄ϕ → ψ,
27
ahol x̄ = x1 , . . . , xn az FV ( ϕ) egy felsorolása (azaz ∀ x̄ϕ a ϕ univerzális lezártja). Speciálisan, ha
Σ ∪ { ϕ, ψ} ⊆ SentL , akkor
Σ ∪ { ϕ} |= ψ ⇐⇒ Σ |= ϕ → ψ.
5.3. Példák
5.28. Példa. Legyen L az üres nyelv. Azt, hogy „az univerzum legalább kételemű” kifejezhetjük a ∃ x ∃y.x 6= y L-mondattal (azaz ennek a mondatnak a modelljei pontosan az olyan
modellek, melyeknek legalább kételemű az univerzuma); azt, hogy „az univerzum pontosan kételemű”, a ∃ x ∃y( x 6= y ∧ ∀z(z = x ∨ z = y)) L-mondattal; azt, hogy az univerzum
legfeljebb háromelemű”, a ∀ x ∀y∀z∀w(w = x ∨ w = y ∨ w = z) L-mondattal.
5.29. Gyakorlat. Adjon meg egy olyan Σ formulahalmazt üres nyelven, amire igaz, hogy
M |= Σ pontosan akkor, ha M végtelen.
Tehát az, hogy az univerzum végtelen, kifejezhető egy formulahalmazzal; ezzel szemben
az, hogy véges, nem, a következő miatt. Ha ∆ olyan formulahalmaz, amely pontosan a
véges modellekben igaz, és σn egy olyan formula, ami azt mondja, hogy az univerzum
legalább n elemű, akkor a Σ = ∆ ∪ {σn : n ∈ N} formulahalmaz minden véges részhalmaza
kielégíthető. De akkor Σ is az, ellentmondva annak a feltevésnek, hogy ∆-nak csak véges
modelljei vannak, mert a kompaktsági tétel elsőrendű logikában is igaz:
5.30. Tétel. Ha elsőrendű formulák egy halmazának minden véges részhalmaza kielégíthető, akkor
az egész is az.
Így az is kiderült, hogy nincs olyan formula, ami pontosan a végtelen modellekben igaz
(mert annak tagadása definiálná a véges modelleket).
5.31. Példa. Legyen L egy elsőrendű nyelv a < kétargumentumú relációjellel és az a, b
konstansjelekkel. a jelentése Aliz, b-é Béla, és jelentse x < y azt, hogy x (értéke) kisebb,
mint y-é. (Vegyük észre, hogy ez utóbbi csak annyit mond, hogy tetszőleges M modellben
aM -et Aliznak, bM -et Bélának, a <M kétargumentumú relációt pedig „kisebb”-nek fogjuk
hívni.)
(1) Aliz kisebb mint Béla: a < b
(2) Aliz kisebb mint valaki, aki kisebb mint Béla: ∃ x ( a < x ∧ x < b)
(3) Aki Bélánál kisebb, az Aliznál is kisebb. ∀ x ( x < b → x < a).
(4) Mindenki, aki kisebb valakinél aki kisebb Bélánál, kisebb Aliznál is:
∀ x (∃y( x < y ∧ y < b) → x < a)
(5) Ha valaki mindenkinél kisebb, akkor valaki kisebb magánál:
(∃ x ∀y.x < y) → ∃ x.x < x
(6) Valaki kisebb bárkinél, akinél Aliz kisebb:
∃ x ∀y( a < y → x < y)
5.32. Példa. Legyen L az az elsőrendű nyelv, melyben {≤} binér relációjel. Olyan Lmondatokat fogalmazunk meg, amelyek a ≤ által jelölt relációról állítanak különféle dolgokat:
28
(1) ≤ (jelentése) előrendezés (azaz reflexív, tranzitív reláció):
∀ x ( x ≤ x ) ∧ (∀ x )(∀y)(∀z)(( x ≤ y ∧ y ≤ z) → x ≤ z)
(2) minden elemnek van közvetlen rákövetkezője (ahol y közvetlen rákövetkezője xnek, ha x ≤ y és x 6= y, de nincs szigorúan köztük semmi):
(∀ x )(∃y)( x ≤ y ∧ x 6= y ∧ ∀z(( x ≤ z ∧ z ≤ y) → ( x = z ∨ y = z)))
(3) egyik elemnek sincs közvetlen rákövetkezője:
(∀ x )(∀y)( x ≤ y → ∃z( x ≤ z ∧ z ≤ y ∧ x 6= z ∧ z 6= y))
(4) van mindenkivel összehasonlítható elem:
(∃ x )(∀y)( x ≤ y ∨ y ≤ x )
(5) minden legfeljebb kételemű halmaznak van legkisebb felső korlátja:
(∀ x )(∀y)(∃z) ( x ≤ z ∧ y ≤ z ∧ (∀w)(( x ≤ w ∧ y ≤ w) → z ≤ w))
5.33. Példa. Legyen L az N = hN, 0N , sN , +N , ·N i modell nyelve (ahol sN a „rákövetkező”
függvény). Először olyan ϕ( x ) L-formulákat írunk le, amelyeknek N -beli jelentése (azaz
{n ∈ N : N |= ϕ( x )[n]})
(1) a négyzetszámok: (∃y) x = y · y
(2) a páros számok: (∃y) x = y + y
(3) a páratlan számok: (∃y) x = s(y + y)
(4) a prímek: (∀y) ((∃z)( x = y · z) → y = s(0) ∨ y = x )
Ezek segítségével formalizálni tudjuk a Goldbach sejtést (minden 2-nél nagyobb páros szám
két prím összege) ezen a nyelven, az E( x ) („x páros”) és P( x ) („x prím”) rövidítéseket
használva:
(∀ x ) ( E( x ) ∧ 2 < x → (∃y)(∃z)( P(y) ∧ P(z) ∧ x = y + z)) ,
vagy, rövidítések nélkül:
E( x )
}|
{
z
(∀ x )((∃y)( x = y + y) ∧2 < x
P(y)
z
}|
{
→ (∃y)(∃z)((∀w) ((∃z)(y = w · z) → w = s(0) ∨ w = y)
∧ (∀y) ((∃w)(z = y · w) → y = s(0) ∨ y = z) ∧ x = y + z))
|
{z
}
P(z)
Vegyük észre, hogy itt át kellett neveznünk kötött változókat az ütközések elkerülése végett.
6. M ODÁLIS ÉS TEMPORÁLIS LOGIKÁK
A modális (és speciálisan a temporális) logikák egyebek mellett a számítástudományi
alkalmazásaik (pl. programhelyességről ill. tudásról való érvelés) miatt érdekesek.
6.1. Propozicionális modális logika Az elsőrendű logikához hasonlóan a modális logika
is a kijelentéslogika egy kiterjesztése, csak egy másik irányban.
29
Szintaxis A modális kijelentéslogika legegyszerűbb változatának (BML — basic (propositional) modal logic) ugyanaz a szintaxisa, mint a kijelentéslogikának, azzal az egyetlen különbséggel, hogy van egy új egyargumentumú logikai konnektívum, a . Úgyhogy most a
formulák:
FormΠ = Π | ¬ FormΠ | FormΠ ∧ FormΠ | FormΠ
ahol, mint a közönséges kijelentéslogikában, Π a kijelentésváltozók halmaza. Tehát FormΠ
a legszűkebb Π-t tartalmazó, ¬-re ∧-re és -ra zárt halmaz. ϕ-t „szükségszerűen ϕ”-nek
vagy egyszerűen „doboz ϕ”-nek olvassuk.
Precedencia: ahogy eddig is, az unér konnektívumok erősebben kötnek, mint a binérek,
úgyhogy pl. ϕ ∧ ψ ( ϕ) ∧ ψ-nek és nem ( ϕ ∧ ψ)-nek értendő.
6.1. Példák. Minden kijelentéslogikai formula modális formula; és p, ¬ ¬( p ∧ q), stb.
stb. is azok.
A kijelentéslogikában definiált konnektívumok (∨, →, ↔, ⊥, >, etc.) itt is ugyanúgy
def
vannnak definiálva, de most van egy új definiált konnektívum is a ♦: ♦ ϕ = ¬ ¬ ϕ, ezt
„lehetséges, hogy ϕ”-nek vagy egyszerűen „gyémánt ϕ”-nek olvassuk.
Szemantika
6.2. Definíció (frame, modell). F = h W, R i frame (vagy transition system), ha W nemüres
halmaz (világok vagy állapotok halmaza) es R ⊆ W × W (elérhetőségi reláció vagy átmenet
reláció). (Ha sRt valamely s és t ∈ W-re, akkor azt is mondjuk, hogy t az s szomszédja, vagy
hogy s látja t-t.) M = hF , vi modell ha F frame, v : Π −→ P (W ); v-t értékelésnek hívják.
Ahogy az a következő definíció első pontjából látszik, a v mögötti elgondolás az, hogy
v( p) azokat az állapotokat jelöli ki, amelyekben p igaz.
6.3. Definíció (formula jelentése). Formulák igazsága a M = hW, R, vi modell egy világában a következő módon van definiálva:
• M |=s p ha s ∈ v( p)
• M |=s ¬ ϕ ha M 6|=s ϕ
• M |=s ϕ ∧ ψ ha M |=s ϕ és M |=s ψ
• M |=s ϕ ha M |=t ϕ minden olyan t ∈ W-re, amelyre sRt.
Végül M |= ϕ (ϕ igaz M-ben) ha (∀s ∈ W )M |=s ϕ; és F |= ϕ (ϕ érvényes F -ben) ha
h F , v i |= ϕ minden v értékelésre. Ha K frame-ek egy osztálya, akkor K |= ϕ (ϕ érvényes
K-ban) ha ϕ érvényes K minden elemében. ϕ érvényes (jelölés: |= ϕ), ha érvényes minden
frame-ben.
A látszat ellenére valójában a modális kijelentéslogika szematikája is csak egy lényeges
ponton különbözik a kijelentéslogika szematikájától (ahogyan a szintaxisa is). Az, hogy a
modellek most nem egyszerűen az igazságértékek halmazába képező függvények, látványos, de nem lényeges eltérés. A (nem modális) kijelentéslogika szemantikáját is definiálhattuk volna a fentihez hasonló módon (természetesen elérhetőségi reláció és az igazságdefiníció utolsó sora nélkül — vegyük észre, hogy az elérhetőségi relációnak semmi szerepe
a kijelentéslogikai konnektívumok igazságfeltételeiben), ez egyetlen fontos kijelentéslogikai tételre sem lenne hatással. Például az így definiált szemantikában pontosan ugyanazok
maradnának az érvényes formulák. Az meg természetes, hogy valahogyan értelmet kell
30
adnunk az új konnektívumnak. És a definíció azt mondja, hogy ϕ akkor igaz az M modell s állapotában, ha ϕ igaz M minden, s-sel szomszédos állapotában; másszóval ha s csak
olyan állapotokat lát, amelyekben ϕ igaz. Következésképp
6.4. Állítás. M |=s ♦ ϕ pontosan akkor, ha M |=t ϕ s valamely t szomszédjára.
6.5. Példa. Legyen F = hW, Ri és M = hF , vi, ahol W = {1, 2, 3}, R = {(1, 2), (2, 3)},
v( p) = {1, 2}, és v(q) = {1, 3}. Akkor
p,q
p
q
1
2
3
(1) M |=2 p ∧ ¬q
(2) M |=1 ¬ ♦ q, mert 2 az 1 egyetlen szomszédja, és M 6|=2 q
(3) M |=1 ♦ ♦ q, mert 1-nek van olyan szomszédja (2) aminek van olyan szomszédja (3)
amelyben q igaz.
(4) M |=1 ♦ q, mert 1-nek csak egy szomszédja van (2), és annak van olyan szomszédja (3) amelyben q igaz.
(5) M |=1 ♦( p ∧ ♦ q), mert 1-nek van olyan szomszédja (2) amelyben p igaz, és amelynek van olyan szomszédja (3) amelyben q igaz.
(6) M |=1 ( p ∧ ♦ q), mert 1-nek csak egy szomszédja van (2), úgyhogy 1 minden
szomszédjára igaz, hogy p igaz ott, és hogy van olyan szomszédja (3) ahol q igaz.
(7) M |=3 ⊥ mert 3-nak nincs szomszédja.
(8) M |=2 ( p → ¬q) mert 3 a 2 egyetlen szomszédja, és M 6|=3 p, úgyhogy M |=3
p → ¬q
(9) F |= ♦ p → p mert minden állapotnak legfeljebb egy szomszédja van; ha tehát
valami igaz egy állapot valamely szomszédjában, akkor az igaz annak az állapotnak
minden szomszédjában.
6.6. Példák.
(1) |= > mert > igaz minden modell minden állapotában
(2) 6|= ♦ >, mert tetszőleges modellben ♦ > pontosan akkor igaz egy állapotban, ha annak van szomszédja; ezért ♦ > pontosan akkor érvényes egy frame-ben, ha a frame
minden állapotának van szomszédja
(3) |= ( ϕ → ψ) → ( ϕ → ψ) (v.ö. 5.25(5))
(4) 6|= ( ϕ → ψ) → ( ϕ → ψ) (v.ö. 5.25(6))
(5) |= ♦( ϕ ∨ ψ) ↔ (♦ ϕ ∨ ♦ ψ) (v.ö. 5.25(2))
(6) |= ♦( ϕ → ψ) → ( ϕ → ♦ ψ)
(7) ha K |= ϕ, akkor K |= ϕ (v.ö. 5.18)
(8) 6|= ϕ → ϕ (v.ö. a 5.18 utáni megjegyzéssel)
6.7. Állítás. Legyen R az F frame elérhetőségi relációja.
(1) F |= ⊥ ⇐⇒ F |= ∀s¬∃t.sRt
(2) F |= p → p ⇐⇒ F |= ∀s.sRs, azaz ha R reflexív
(3) F |= p → p ⇐⇒ R tranzitív
(4) F |= p → p ⇐⇒ R sűrű, azaz ha F |= ∀s, t(sRt → ∃w.sRwRt)
(5) F |= p → ♦ p ⇐⇒ R szimmetrikus
31
(6) F |= ♦ p → p ⇐⇒ F |= ∀s∀t∀w(sRt ∧ sRw → t = w), azaz ha R parciális
függvény
(7) F |= ♦ p → ♦ p ⇐⇒ F |= ∀s∀t∀w(sRt ∧ sRw → tRw).
Biz. Belátunk néhányat ezek közül. (A ⇐ irány általában csak számolás, a másik irányban
kicsit dolgozni kell.)
(2) (⇐) Ha R reflexív és hF , vi |=s p valamilyen v-re, akkor hF , vi |=s p is, mert s is
szomszédja s-nek.
/
i
q
(⇒) Ha s irreflexív állapot, akkor v( p) = W \ { s } (képben: ¬ p ) mellett h F , v i 6|=s p → p
(röviden: s 6|= p → p), hiszen s minden szomszédjában igaz p, de s-ben nem.
(3) (⇐) Ha R tranzitív és hF , vi |=s p, akkor p igaz ebben a modellben s minden szomszédjában; de akkor a tranzitivitás miatt p igaz s minden szomszédjának minden szomszédjában is; ezért s minden szomszédjában igaz p, következésképp hF , vi |=s p.
(⇒) Ha R nem tranzitív, akkor vannak olyan rRsRt állapotok, amikre ¬rRt; legyen v( p) =
¬p
W \ { t }. Képben: q - q - q . Node akkor r 6|= p → p, hiszen r minden szomszédjában igaz p, de van egy olyan szomszédja (s), amiben nem igaz p.
(5) (⇐) Ha R szimmetrikus és hF , vi |=s p valamilyen v-re, akkor ♦ p igaz s minden
szomszédjában, mert ezek mind látják s-et. Tehát hF , vi |=s ♦ p.
(⇒) Ha R nem szimmetrikus, akkor sRt és ¬tRs valamely s és t állapotokra; legyen v( p) =
{ s }. Akkor hF , vi |=s p, de hF , vi 6|=s ♦ p mert sRt, de hF , vi 6|=t ♦ p.
6.2. Propozicionális temporális logika Hogyan lesz a modális logikából temporális logika? Ha az elérhetőségi reláció történetesen valamilyen rendezés, és ezért mondhatjuk, hogy
sRt azt jelenti, hogy t „később van” mint s, akkor ϕ s állapotbeli igazsága azzal ekvivalens, hogy ϕ igaz minden s-nél későbbi állapotban, azaz azzal, hogy s-ben igaz hogy „a
jövőben mindig ϕ”. (Itt használjuk azt a tényt, hogy minden rendezés tranzitív.)
De ha időről van szó, akkor rendszerint nem csak a jövőről, de a múltról is szeretnénk beszélni, tehát legalább két modális konnektívumra van szükségünk. Ezért kicsit tágítanunk
kell a modális logika kereteit.
A multimodális kijelentéslogikában egy helyett több modális konnektívum van, azaz helyett dobozok egy {i : i ∈ I } családja. Ennek megfelelően a frame-ek h W, Ri ii∈ I alakúak, ahol Ri a i -nek megfelelő elérhetőségi reláció. Tehát itt FormΠ a legszűkebb Π-t
tartalmazó, ¬-re, ∧-re, és (minden i ∈ I-re) a i -re zárt halmaz, és M |=s i ϕ ha M |=t ϕ
minden olyan t ∈ W-re, amelyre sRi t.
A legegyszerűbb temporális logika egy bimodális logika, azzal az extra feltétellel, hogy
a két doboznak (amelyeket ilyenkor [F]-nek és [P]-nek hívunk 1 és 2 helyett) megfelelő
elérhetőségi relációk (R F és R P ; vagy < és >) szigorú részbenrendezések (azaz irreflexív,
tranzitív relációk), amelyek egymás konverzei, azaz sR F t ⇐⇒ tR P s minden s és t állapotra. Ez annak az elvárásnak felel meg, hogy a jövőbe ugyanazon a reláción keresztül nézünk,
mint a múltba.
6.8. Állítás. Legyen F = hW, R F , R P i tetszőleges frame. Akkor
(1) F |= ϕ → [F] <P> ϕ pontosan akkor, ha sR F t =⇒ tR P s minden s, t ∈ W-re.
(2) F |= ϕ → [P] <F> ϕ pontosan akkor, ha sR P t =⇒ tR F s minden s, t ∈ W-re.
32
Biz. Csak az elsőt látjuk be, a második bizonyítása analóg.
(⇐) Ez az implikáció igaz, mert a feltevésünk szerint minden állapot a „múltjában van”
minden, a jövőjében lévő állapotnak. Kicsit részletesebben: Tegyük fel, hogy h F, vi |=s ϕ
valamilyen v értékelésre és s állapotra; azt kell megmutatnunk, hogy h F, vi |=s [F] <P> ϕ,
vagyis azt, hogy h F, vi |=t <P> ϕ minden olyan t-re, amelyre sR F t. De ez igaz, mert a
feltevésünk miatt tR P s, és ϕ igaz s-ben.
(⇒) Tegyük fel, hogy sR F t de ¬tR P s valamely s, t ∈ W-re, és legyen v( p) = {s}. Akkor
h F, vi |=s p, de h F, vi 6|=s [F] <P> p, mert sR F t, de h F, vi 6|=t <P> p, mivel s az egyetlen
állapot, amelyben p igaz, de ¬tR P s.
6.9. Definíció (temporális frame, ideiglenes változat). Az F = hW, R F , R P i frame temporális
frame ha R F és R P egymás konverzei és R F (következésképp R P is) szigorú részbenrendezés.
Az előző állítás és 6.7(3) miatt igaz a következő.
6.10. Következmény. A F = hW, R F , R P i frame pontosan akkor temporális frame, ha R F irreflexív és
F |= ( ϕ → [F] <P> ϕ) ∧ ( ϕ → [P] <F> ϕ) ∧ ([F] ϕ → [F] [F] ϕ)
Mivel egy temporális frame két elérhetőségi relációja megkapható egymásból, nem szükśges mindkettőt magunkkal hurcolnunk. Ezzel viszont kilépünk a multimodális logika keretei közül.
6.11. Definíció (temporális frame, végleges változat). Az F = hW, Ri frame temporális frame
ha R szigorú részbenrendezés, amely az [F] modalitásnak felel meg. A [ P] ϕ igazságfeltétele
egy ilyen frame-ben a következő:
M |=s [ P] ϕ ⇐⇒ M |=t ϕ minden olyan t-re, amelyre tRs.
6.12. Példák. Legyen F = hN, <i, ahol < a természetes számok szokásos rendezése; és
legyen M = hF , vi, ahol v(r ) = {42}. Akkor
(1) M |= r ∨ <P> r ∨ <F> r
(2) M |= <F> <P> r
(3) M 6|= <P> <F> r mert M 6|=0 <P> <F> r, mivel M 6|=0 <P> ϕ minden ϕ formulára,
mert 0 múltja üres
(4) F 6|= <P> <F> > ugyanezért
(5) F |= <F> <P> >
(6) F |= [P] ⊥ ∨ <P> [P] ⊥ mert van olyan állapot, amelynek üres a múltja, és amely
minden állapot múltjában van
(7) F |= ϕ ∧ [P] ϕ → <F> [P] ϕ (ld. alább!)
(8) |= <F> [P] ϕ → ϕ
(9) |= <P> [F] ϕ → ϕ
6.13. Állítás. Legyen F = hW, <i olyan temporális frame, amelyben < teljes rendezés (azaz minden s, t ∈ W-re legalább (és így a tranzitivitás és az irreflexivitás miatt pontosan) egyike áll az s < t,
s = t és t < s feltételeknek). Akkor minden s ∈ W-nek van közvetlen rákövetkezője (azaz olyan
t ∈ W, amelyre s < t és amelyre (s, t) ∩ W = ∅) pontosan akkor, ha
F |= ϕ ∧ [P] ϕ → <F> [P] ϕ
33
Biz. (⇒) Tegyük fel, hogy hF , vi |=s ϕ ∧ [P] ϕ valamely v értékelésre és s állapotra; azt kell
megmutatnunk, hogy hF , vi |=s <F> [P] ϕ. A feltevésünk miatt ϕ igaz s előtt és s-ben. Ha
tehát t közvetlen rákövetkezője s-nek, akkor hF , vi |=t [P] ϕ.
(⇐) Ha s-nek nincs közvetlen rákövetkezője, akkor legyen v( p) = {t : t < s vagy t = s}.
Akkor hF , vi |=s p ∧ [P] p, de hF , vi 6|=s <F> [P] p, mert hF , vi 6|=t [P] p minden t > s-re,
mivel minden ilyen t-hez van olyan w amelyre s < w < t, és így hF , vi 6|=w p.
[F], [P] és a duálisaik mellett szokás bevezetni a S („since”) és az U („until”) binér modalitásokat. Az így kibővített formulahalmaz az eddigi temporális formulákat tartalmazza, de
zárt S -re és U -ra is, azaz ha ϕ és ψ formulák, akkor ϕ U ψ („ϕ until ψ”) és ϕ S ψ („ϕ since
ψ”) is az, a következő igazságdefiníciókkal:
6.14. Definíció. Ha F = hW, <i temporális frame, M az hF , vi modell, és s ∈ W, akkor
M |=s ϕ U ψ ⇐⇒ van olyan t > s, amelyre M |=t ψ és M |=w ϕ minden w ∈ (s, t)-re
és
M |=s ϕ S ψ ⇐⇒ van olyan t < s, amelyre M |=t ψ és M |=w ϕ minden w ∈ (t, s)-re.
Ezek a „since” és az „until” irreflexív változatai, és néha épp ezek kellenek. Például: „ez a
változó inicializálatlan amíg nem adunk neki értéket”, vagy „éhes leszek amíg nem eszem
valamit” (vagyis „éhes vagyok U eszem valamit”). „Féltem a farkasoktól mióta láttam
egyszer egyet a konyhában”, azaz „félek a farkasoktól S látok egy farkast a konyhában”.
De ha még mindig félek (reflexív változat), akkor csak hozzá kell tennem, hogy „. . . ∧ félek
a farkasoktól”.
6.15. Példák. Legyen F a hN, <i temporális frame, ahol < a természetes számok szokásos
rendezése, és legyen M = hF , vi, ahol v( p) = {n ∈ N : 5 ≤ n ≤ 8}, v(q) = {2n : n ∈ N}
és v(r ) = {9, 11}. Akkor
q
q
p
3
4
5
q
1
0
2
r
q
r
p,q
p
p,q
11
10
9
8
7
6
...
(1) M |=4 ( p U r ) ∧ [F] <F> q: az első „éselendő” igaz a 4 állapotban, mert van olyan
> 4 állapot, nevezetesen a 9, ahol r igaz, és ami olyan, hogy p igaz minden szigorúan 4 és 9 közti állapotban; a második pedig azért igaz a 4 állapotban, és valójában
mindegyikben, mert minden s utáni t állapothoz van t utáni páros állapot.
(2) M 6|=2 [F] <F> q → ( p U r ) mert, ahogy már láttuk, [F] <F> q minden állapotban
igaz, de ( p U r ) nem igaz 2-ben, mert 9 az egyetlen olyan állapot, ahol r igaz, de p
nem igaz például 3 ∈ (2, 9)-ben.
34
(3) M |=10 r S p mert van olyan korábbi állapot, nevezetesen 8, ahol p igaz, és r igaz
minden (8, 10) = {9}-beli állapotban.
(4) M |=10 r S q pontosan ugyanezért.
(5) M 6|=10 r S ( p ∧ ¬q) mert a 7 állapot a 10 előtti legkésőbbi ahol p ∧ ¬q igaz, de
8 ∈ (7, 10)-ben nem igaz r.
6.16. Állítás.
(1) |= ϕ U ψ → <F> ψ
(2) |= > U ψ ↔ <F> ψ
(3) |= > S ψ ↔ <P> ψ
(4) M |=s ⊥ U ψ pontosan akkor, ha s-nek van közvetlen rákövetkezője ahol ψ igaz; speciálisan
M |=s ⊥ U > pontosan akkor, ha s-nek van közvetlen rákövetkezője
(5) M |=s ⊥ S ψ pontosan akkor, ha s-nek van közvetlen megelőzője ahol ψ igaz; speciálisan
M |=s ⊥ S > pontosan akkor, ha s-nek van közvetlen megelőzője.
Biz. (1) Ha ϕ U ψ igaz egy modell s állapotában, akkor az U igazságdefiníciója miatt van
olyan t > s állapot, ahol ψ igaz.
(2) Az → irány igaz az előző állítás miatt. És ha M |=s <F> ψ valamely M modell s
állapotára, akkor van olyan t > s ahol ψ igaz, és persze > igaz minden szigorúan s és t
közti állapotban.
(3) Ez az előző állítás „tükörképe”, és épp úgy bizonyítható (csak a rendezés irányát kell
megfordítani).
(4) Ha t az s közvetlen rákövetkezője és ψ igaz t-ben, akkor ⊥ igaz az összes (s, t) = ∅-beli
állapotban. Fordítva, ha M |=s ⊥ U ψ, akkor van olyan t > s állapot, ahol ψ is igaz és amire
az (s, t) intervallum üres, mivel ⊥ hamis minden állapotban.
(5) Ez az előző állítás tükörképe.
35
7. M EGOLDÁSOK
1.1 B hazudik, mert senki sem mondhatja magáról, hogy lókötő (mert ha az, akkor azt hazudja magáról, hogy lovag, ha meg lovag, akkor azért). Vagyis B hazudik, A bármi lehet.
1.2 B nem lehet lovag (mert akkor lókötő is lenne), tehát lókötő, tehát hazudott, azaz nem
igaz, hogy mindketten lókötők, vagyis A lovag. Vagyis A lovag, B lókötő. (És tényleg!
Különben igaza lenne!)
1.3 Ha B lovag, akkor A lókötő. És B nem lehet lókötő, mert akkor hazugság lenne, hogy
van köztük lókötő, ami ellentmond annak, hogy B az. Vagyis B lovag, A lókötő.
2.18 { p, ¬ p}
2.19 { p ∨ q, ¬ p, ¬q}
2.20 { p1 ∨ · · · ∨ pn−1 , ¬ p1 , . . . , ¬ pn−1 }
2.21 Igen, páratlanok igazak, párosak hamisak, vagy fordítva.
2.22
(1) Nem, pl. ϕ = p, ψ = ¬ p. De fordítva persze igen.
(2) Hát persze.
(3) Nem: pl. ϕ = p, ψ = ⊥.
(4) Igen.
2.23 Nem. M( p) = 0, M(q) = 1 (nem esik az eső, viszek esőkabátot) modellje a premisszáknak, de nem modellje a konklúziónak.
A B ¬ A ¬ B ¬ A ∨ ¬ B B ↔ (¬ A ∨ ¬ B)
0 0
1
1
1
0
Vagyis B lovag, A lókötő. Ahogy ere2.24 0 1
1
0
1
1
1 0
0
1
1
0
1 1
0
0
0
0
detileg is gondoltuk: Ha B lovag, akkor A lókötő. És B nem lehet lókötő, mert akkor hazugság lenne, hogy van köztük lókötő, ami ellentmond annak, hogy B az.
2.46 Nincs, mert ha kielégíthetetlen, akkor a kompaktsági tétel miatt van véges kielégíthetetlen részhalmaza, és ha azon kívülit veszünk ki, akkor kielégíthetetlen marad.
3.15 Minden ϕ ∈ Form{ p,q } -re { p, q } |= ϕ csakkor, ha M models ϕ, ahol M olyan modell,
amelyre M( p) = 1 = M(q). Ebből már 3.11 miatt következik az állítás.
5.29 Legyen Σ = {σn : n ∈ N}, ahol σn azt mondja, hogy az univerzum legalább n elemű.
Tehát pl. σ3 lehet ez: ∃ x ∃y∃z( x 6= y ∧ x 6= z ∧ y 6= z).
36
Download