• Nem Talált Eredményt

Bevezetés, a formula fogalma

In document Bevezetés a számításelméletbe (Pldal 49-56)

Az ítéletkalkulus szemantikája az ítéletkalkulus nyelvén felírt formulák értelmezésével foglalkozik. Ehhez először definiálnunk kell magát a nyelvet.

Az un. 0-adrendű logika nyelve viszonylag egyszerű, a következő elemeket tartalmazza:

logikai változók jelei, latin nagybetűk (A,B,C, . . .);

logikai állandók jelei (h,i);

logikai műveleti jelek (¬,o,n,/,4);

segédjelek (a kezdő- és a végzárójel).

A nyelv szimbólumaival építjük fel az ítéletkalkulus formuláit. Nem minden szimbólumsorozatot tekintünk formulának. A formula definíciója a következő.

2.2.1. Definíció

Tetszőleges A változó formula.

1.

Ha α formula, akkor ¬α formula.

2.

Ha α és β formulák, akkor 3.

αoβ αnβ α/β α4β szintén formulák.

>

>

Jelentést csak az előző rekurzív definíciónak megfelelő jelsorozatokhoz rendelünk.

Tulajdonképpen az interpretáció azt jelenti, hogy a logikai változók helyére ítéleteket

helyettesítünk. Minket azonban egy ítélettel kapcsolatban kizárólag annak igazságértéke érdekel., így elegendő, ha a változók helyére igazságértéket írunk a formulában. Természetesen egy változó minden előfordulásához azonos igazságértéket rendelünk. Az elmondottak pontosítására

bevezetjük az igazságértékelés fogalmát.

2.2.2. Definíció

Tekintsük a formuláknak egy

A= α12, . . . ,αn

halmazát. Az A-n való igazságértékelés egy σ függvény, amely az A minden αkformulájához hozzárendeli a h,i halmaznak egy σ αk elemét úgy, hogy

σ ¬αk =i5σ αk =h, σ αjk =i5σ αj =h vagy σ α

k =i

(A definícióban a 5jelet a metanyelvi akkor és csak akkor rövidítésére használtuk) A definíció előírja, hogy az igazságértékelés a negációval és az implikációval legyen

összhangban. Előírhatnánk a többi logikai műveletre vonatkozólag is ezt a követelményt, de korábbi eredményünk szerint a diszjunkció, a konjunkció és az ekvivalencia kifejezhető

negációval és implikációval.Ez azt jelenti, hogy ha valamelyik formulában szerepel valamely más logikai művelet, akkor azt átírhatjuk úgy, hogy csak negációt és implikációt tartalmazzon.

2.2.3. Példa

Álljon az A halmaz az

AnB, ¬A, AnB /¬A formulákból. Ha a σ igazságértékelésnél

σ A =i,σ B =h, akkor a definíció alapján

σ AnB =i és σ ¬A =h, valamint

σ AnB /¬A=h.

Ha egynél több igazságértékelést adunk meg, akkor célszerű táblázatot készíteni. A táblázatban minden formulához és a formulákban előforduló változók mindegyikéhez egy-egy oszlopot és minden igazságértékeléshez egy-egy sort rendelünk. Az így készült táblázatokat igazságtábláknak nevezzük, ha az összes lehtséges igazságértékelést tartalmazzák.

2.2.4. Példa Tekintsük az

A= AnB /¬A,A/ B/A formula igazságtábláját!

igtab((A or B)implies not(A),A implies (B implies A));

(2.1.1) (2.1.1) A B A or B0not A A0 B0A

i i h i

i h h i

h i i i

h h i i

Két olyan igazságértékelés is van, amelyeknél mindkét formula igaz logikai értéket ad.

2.2.5. Definíció

Azt mondjuk, hogy a σ igazságértékelés kielégíti a formulák egy H halmazát, ha az H minden α elemére

teljesül.

Azt, hogy az igazságértékelés kielégíti a A halmaz formuláit, a következőképpen jelöljük:

.

Ha van legalább egy olyan igazságértékelés, amely a formulahalmaz minden formuláját kielégíti, akkor azt mondjuk, hogy a formulahalmaz kielégíthető.

2.2.6. Definíció

Egy F1,F2, . . ,Fn formulahalmazt kielégíthetőnek nevezünk, ha van olyan igazságértékelés, amelyre az F1,F2, . . ,Fn mindegyike igaz logikai értéket ad

A 2. példában megadott A formulahalmazt két igazságértékelés elégíti ki. Ezek a következők:

valamint

Ha A csak egyetlen α formulából áll, akkor a

σ~ α helyett a σ~α

jelölést használjuk, s azt mondjuk, hogy a σ igazságértékelés kielégíti az α formulát. A 2.2.4.

példában szereplő A0 B0A formulát minden igazságértékelés kielégíti.

2.2.7. Definíció

Ha egy α kifejezést (formulát) minden igazságértékelés kielégít, akkor azt mondjuk, hogy az α kifejezés (formula) tautológia.

Jelölés:

>

Néhány nevezetes tautológia teljesülését szemléltetik az alábbi igazságtáblák.

igtab(not(A) implies (A implies B));# "hamisból bármi következik"

igtab((A implies not(A)) implies not(A)); #"redictio ad absurdum"

A A0not A 0not A

i i

h i

igtab((A implies B)and(B implies C)implies(A implies C));

#"lánckövetkeztetés"

igtab(A and (A implies B) implies B);# " mosus ponens"

A B A and A0B 0B

i i i

i h i

h i i

h h i

igtab(((A implies B) and not(B)) implies not(A));# "modus tollens"

(2.1.8) (2.1.8) (2.1.7) (2.1.7)

>

>

>

>

(2.1.9) (2.1.9) (2.1.6) (2.1.6)

>

>

A B A0B and not B0not A

i i i

i h i

h i i

h h i

2.2.8. Probléma

Tekintsük a következő két formulát

F= ¬ B 0 ¬ A és G=¬ Ao ¬ B

Vizsgáljuk meg, mely igazságértékelésekre ad a két formula azonos logikai értéket!

Megoldás

Készítsük el a formulák értéktáblázatát!

F:=Export(Logic[`&implies`](not B, not A));

F:=not B0not A G:=Export(not Logic[`&and`](A, not B));

G:=not A and not B igtab(F,G);

A B not B0not A not A and not B

i i i i

i h h h

h i i i

h h i i

Az F és az G formula minden igazságértékelésre azonos logikai értéket ad.

2.2.9. Definíció

Azt mondjuk, hogy az F és a G formulák logikailag ekvivalansek, ha értékük a bennük szereplő változók bármilyen logikai értékei esetén megegyezik egymással. (Másképpen a két formula igazságtáblázata azonos) Jelölés: FhG

Az iménti F és G formula logikailag ekvivalens, azaz FhG.

Következmény

2.

2.

>

>

(2.2.1) (2.2.1)

1.

1.

>

>

Tekintsük ismét a 2.2.4. példa formuláit, s vegyük ezekhez hozzá a ¬A formulát

igtab((A or B)implies not(A),A implies (B implies A),not(A));

A B A or B0not A A0 B0A not A

i i h i h

i h h i h

h i i i i

h h i i i

Az igazságtáblából látható, hogy mindazon igazságértékelésre, amelyekre az

A= AnB /¬A,A/ B/A formulahalmaz minden (mindkét) formulája teljesül, teljesül a ¬A formula is.

2.2.10. Definíció

Formulák valamely A halmazának az α formula (az ítéletkalkulus értelmében vett) következménye, ha minden olyan σ

igazságértékelésre, amelyre σ~A (vagyis, amely A minden formuláját kielégíti), σ~α is teljesül.

Azt, hogy α az A halmaz formuláinak következménye, a következőképpen jelöljük:

A~α .

Az A halmaz formuláit premisszáknak, az α formulát konklúziónak nevezzük.

Ha A csak egyetlen β formulából áll, akkor a β~α.

jelölést használjuk.

Ha A=:, akkor A egyetlen formulát sem tartalmaz, ezért úgy

tekinthetjük, hogy minden igazságértékelés triviálisan kielégíti. Ezért egy α tautológiára

Esetünkben tehát a ¬A formula következménye az A halmaz formuláinak.

A tautológiák minden igazságértékelés esetén igazak. Vannak olyan formulák, amelyket egyetlen igazságértékelés sem elégít ki. Más formulákat bizonyos igazságértékelések kielégítenek, mások nem.

2.2.11. Példa

Következménye-e a po¬ q n ¬ poq formulának a p0q formula?

Következménye-e a ¬ p0q n ¬ p0¬ q formulának a p formula?

Megoldás

Készítsük el a szóbanforgó formulák igazságtábláját! Az első esetben:

igtab(p and not(q) or not(p) and q, p implies q);

(2.2.2) (2.2.2)

(2.2.3) (2.2.3)

(2.2.4) (2.2.4)

>

>

>

>

p q p and not q or not p and q p0q

i i h i

i h i h

h i i i

h h h i

Azt látjuk, hogy van olyan igazságértékelés - p=i,q=h - amely esetén a po¬q n ¬poq formula igaz, a p0q hamis. Ezért az első formulának nem következménye a második.

A második esetben:

igtab((not(p) implies q) and (not(p) implies not(q)),p);

p q not p0q and not p0not q p

i i i i

i h i i

h i h h

h h h h

Az első két igazságértékelés mindkét formulát kielégíti (s csak ezek), tehát p következménye a

¬p0q n ¬p0¬q formulának 2.2.12. Példa

Igazoljuk, hogy logikailag helyes az alábbi következtetés.

igtab(not(A) or B,C implies not(B),A implies not(C));

A B C not A or B C0not B A0not C

i i i i h h

i i h i i i

i h i h i h

i h h h i i

h i i i h i

h i h i i i

h h i i i i

h h h i i i

Az értéktáblázatból látható, hogy minden olyan igazságértékelés, amely a premisszákat kielégíti a konklúziót is kielégíti, tehát a következtetés helyes.

Feladatok

1. Feladat

1.1 Következménye-e a p5q o¬ q formulának a pnq formula?

1.2. Következménye-e a p5q op formulának a q formula?

1.3. Következménye-e a po¬ q n ¬ poq formulának a p0q formula?

2.

2.

1.

1.

2. Feladat

Legyenek F1, F2,F3 a következő formulák:

F1= A0 B0C o A0B o C0A , F2= AnC 0B ,

F3= ¬ AnC .

Vizsgáljuk meg, hogy következménye-e F1-nek F2,

F1-nek F3 . 3. Feladat

Bizonyítsuk be, hogy

3.1. A0 B0A h ¬A 0 A0B , 3.2. A0B 0BhAnB,

4. Feladat

Igazoljuk, hogy logikailag helyesek az alábbi következtetések.

4.1. A0 B0C , CoD 0E, ¬F 0 Do ¬E ~A0 B0F 4.2. AnB 0 CnD , DnE 0F~A0F.

5. Feladat

Kielégíthető-e az alábbi formulahalmaz

H= A0¬ B o C ,¬AoBo AnC .

In document Bevezetés a számításelméletbe (Pldal 49-56)