+ All Categories
Home > Documents > Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom...

Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom...

Date post: 30-Jan-2018
Category:
Upload: tranxuyen
View: 230 times
Download: 1 times
Share this document with a friend
38
Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je to studium argumentace. Logika se snaží kodifikovat správné postupy, pomocí nichž vyvozujeme platné závěry z daných informací. I když většina lidí při svých úvahách intuitivně dodržuje základní logické zákony, je přesto vhodné se snažit o jejich formalizaci. Ta nám pomáhá při složitějších situacích, kdy je třeba se vyznat ve velkém množství logických vztahů, ale možná ještě důležitější je její uplatnění při implementaci procesu dedukce do počítačových programů. Jsou dvě základní úrovně klasické logiky: Nižší je výroková logika, kterou se v této části budeme zabývat, a vyšší, tzv. predikátová logika, o které se zmíníme později. Pod pojmem výrok budeme rozumět tvrzení, o nemž lze v principu rozhodnout, zda je pravdivé nebo nepravdivé. Tím se automaticky vylučují zvolání, rozkazy, otázky a věty, které jsou samy se sebou v rozporu. Výrok totiž musí splňovat dvě základní vlastnosti: Výrok je buď pravdivý nebo nepravdivý, třetí možnost neexistuje. Výrok nemůže být současně pravdivý i nepravdivý. Uveďme si několik příkladů výroku. Delfín je savec. Kruh je buď čtverec nebo trojúhelník. Shakespeare byl básník a námořní kapitán. Toto je krychle. Situace s poslední větou není na první pohled příliš jasná, neboť nemůžeme rozhodnout, zda je tato věta pravdivá či nikoli, dokud nebude určeno, na co se vztahuje zájemno „Toto. Nicméně i poslední větu považujeme za výrok, neboť při interpretaci zájmena bude možné pravdivost či nepravdivost posoudit. Co určitě nejsou výroky, jsou následující. Kolikátého je dnes? Kdybych tohle tušil! Okamžitě vypadněte! Tato věta není pravdivá. 1
Transcript
Page 1: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

Výroková logika.

Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci,že je to studium argumentace. Logika se snaží kodifikovat správné postupy, pomocínichž vyvozujeme platné závěry z daných informací. I když většina lidí při svýchúvahách intuitivně dodržuje základní logické zákony, je přesto vhodné se snažit ojejich formalizaci. Ta nám pomáhá při složitějších situacích, kdy je třeba se vyznatve velkém množství logických vztahů, ale možná ještě důležitější je její uplatnění přiimplementaci procesu dedukce do počítačových programů.Jsou dvě základní úrovně klasické logiky: Nižší je výroková logika, kterou se

v této části budeme zabývat, a vyšší, tzv. predikátová logika, o které se zmínímepozději.Pod pojmem výrok budeme rozumět tvrzení, o nemž lze v principu rozhodnout,

zda je pravdivé nebo nepravdivé. Tím se automaticky vylučují zvolání, rozkazy,otázky a věty, které jsou samy se sebou v rozporu. Výrok totiž musí splňovat dvězákladní vlastnosti:

• Výrok je buď pravdivý nebo nepravdivý, třetí možnost neexistuje.

• Výrok nemůže být současně pravdivý i nepravdivý.

Uveďme si několik příkladů výroku.

Delfín je savec.Kruh je buď čtverec nebo trojúhelník.Shakespeare byl básník a námořní kapitán.Toto je krychle.

Situace s poslední větou není na první pohled příliš jasná, neboť nemůžemerozhodnout, zda je tato věta pravdivá či nikoli, dokud nebude určeno, na co sevztahuje zájemno „Totoÿ. Nicméně i poslední větu považujeme za výrok, neboť přiinterpretaci zájmena bude možné pravdivost či nepravdivost posoudit.Co určitě nejsou výroky, jsou následující.

Kolikátého je dnes?Kdybych tohle tušil!Okamžitě vypadněte!Tato věta není pravdivá.

1

Page 2: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Poslední tvrzení není výrok, neboť porušuje dichotomii, kterou u výroků poža-dujeme. Toto tvrzení není ani pravdivé ani nepravdivé: Předpokládáme-li, že tvrzeníje pravdivé, okamžitě dospíváme k závěru, že pravdivé není. Pokud naopak předpo-kládáme, že tvrzení není pravdivé, pak po jeho opětovném přečtení vidíme, že obsahodpovídá skutečnosti. To se u nepravdivého tvrzení stát nemůže.

Příklad. Mějme seznam S = {V1, V2, . . . , V50} výroků, kde k-tý výrok zní

Vk: „Právě k výroků na seznamu S je nepravdivých.ÿ

Co můžeme vyvodit o pravdivosti či nepravdivosti výroků na seznamu S?První pozorování je, že výrok V50 nemůže být pravdivý, neboť pak by byly

všechny výroky (včetně V50) nepravdivé. Takže alespoň jeden z výroků pravdivýje. Dále si všimneme, že není možné, aby dva různé výroky byly současně pravdivé.Z těchto dvou pozorování plyne, že na seznamu S je právě jeden pravdivý výrok. Atedy 49 je jich nepravdivých. Proto jediný pravdivý výrok je V49.

Formule výrokové logiky

Přikročme nyní k formalizaci. V běžném jazyce můžeme jednu myšlenku vyjádřitmnoha způsoby. Ve výrokové logice dáváme přednost jednoznačnosti. Proto je prostudium výroků vhodné užívat zápisu, který pracuje s velmi omezenou množinousymbolů, zvanou abeceda výrokové logiky. Přesto, že se abeceda skládá z maléhopočtu symbolů, umožňuje vyjadřovat základní logickou stavbu všech výroků.

Definice 1. Abeceda výrokové logiky je tvořena symboly uvedenými v následujícítabulce.

Symbol Název Význam

(, ) závorky¬ negace ne∧ konjunkce a∨ disjunkce nebo (nevylučovací)⇒ implikace jestliže . . ., pak⇔ ekvivalence právě, když

P,Q,R, . . . výrokové proměnné výrokyPn, Qn, Rn, . . . , n = 0, 1, 2, . . . výrokové proměnné výroky

Symboly ¬,∧,∨,⇒, and⇔ se nazývají logické spojky. Výrokové proměnné ozna-čují jednotlivé výroky a jejich význam je na rozdíl od logických spojek v různýchsituacích různý. Množinu všech výrokových proměnných budeme značit V.Výroky ve tvaru implikace P ⇒ Q jsou v matematice velmi časté a užívá se pro

ně celá řada různých ekvivalentních vyjádření:

2

Page 3: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Jestliže platí P , pak platí Q.P implikuje Q.P je postačující podmínka pro Q.Q vyplývá z P .Q je nutná podmínka pro P .Q platí, kdykoli platí P .

Má-li výrok tvar implikace P ⇒ Q, pak výrok tvaru ¬Q ⇒ ¬P se nazývákontrapozice.Zápisy studovaných výroků budeme chtít nazývat formulemi. V principu je ta-

kový zápis konečná posloupnost symbolů abecedy. Např. P ∧ Q nebo Q1P ((⇒ ∨jsou příklady dvou konečných posloupností. Z nich pouze ta první může reprezento-vat zápis výroku, a proto jen takové posloupnosti jsou pro nás zajímavé z hlediskastudia. Musíme proto definovat pravidla, tzv. syntaxi, podle kterých lze vytvářetposloupnosti schopné označovat výroky.

syntax Definice 2. Formule výrokové logiky je konečná posloupnost symbolů abecedy vyho-vující následující induktivní konstrukci.

(i) Výroková proměnná je formule.

(ii) Jsou-li ϕ a ψ formule, pak (ϕ ∧ ψ), (ϕ ∨ ψ), (ϕ ⇒ ψ), (ϕ ⇔ ψ) a (¬ϕ) jsouformule.

Množinu všech formulí označíme V∗.

Slovo „induktivníÿ v předešlé definici označuje speciální typ konstrukce, která sečasto vyskytuje jak v logice, tak i v ostatních odvětvích matematiky. Její princip jenásledující.Vytváříme danou množinu tak, že začneme jejími základními prvky (v našem

případě to jsou výrokové proměnné). To je požadavek (i) v Definicisyntax2. Na tyto zá-

kladní prvky opakovaně aplikujeme operace z bodu (ii). Takže po první aplikacidostaneme např. formule typu

(P ∧Q), (R1 ⇔ P2), (¬Q3), . . .

Můžeme je nazývat formulemi prvního řádu. Formule druhého řádu jsou vygenero-vány z již vytvořných formulí (což jsou výrokové proměnné a formule prvního řádu).Příklady takových nových formulí jsou

(¬(P ∧Q)), ((R1 ⇔ P2) ∨ (¬Q3)), . . .

Tímto způsobem pokračujeme v kostrukci dalších úrovní. Je zřejmé, že každá formulevznikla z výrokových proměnných konečně mnoha aplikacemi operací z bodu (ii).Pokud bychom se drželi přísně naší definice, brzy bychom zjistili, že se v zápi-

sech vyskytuje příliš mnoho závorek. Např. P ∧Q není formule, neboť podle našichpravidel je formulí pouze (P ∧Q). Podobně

(((P ∨Q) ∨R) ∨Q1)

3

Page 4: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

je formule, aleP ∨Q ∨R ∨Q1

není. Abychom si zápis usnadnili a učinili ho čitelnějším, přijmeme následující úmlu-vu.

(i) Vnější závorky nebudeme psát. Tak zápisem P ∧Q budeme rozumět (P ∧Q).

(ii) Zavedeme preference mezi logickými spojkami. Negace váže silněji než kon-junkce a disjunkce. Konjunkce a disjunkce váží silněji než implikace a ekviva-lence. Např.

R1 ∧Q2 ⇒ ¬P3 ∨ P je ((R1 ∧Q2)⇒ ((¬P3) ∨ P )).

Do jaké míry budeme tuto konveci používat záleží na naší volbě. V případěnebezpečí, že by mohla vzniknout dvojznačnost, raději užijeme více závorek nežméně.

Příklad. Zapište formulemi následující výroky s využitím daných výrokových pro-měnných

P : „Zpráva je skenována proti virům.ÿ

Q : „Zpráva přišla z neznámé adresy.ÿ

(i) Zpráva je skenována proti virům, kdykoli přijde z neznámé adresy.

(ii) Zpráva přišla z neznámé adresy, ale nebyla skenována proti virům.

(iii) Přijde-li zpráva z neznámé adresy, není skenována proti virům.

(iv) Není pravda, že je nutné skenovat zprávu proti virům, přijde-li z neznáméadresy.

Řešení. (i) Q⇒ P ; (ii) Q ∧ ¬P ; (iii) Q⇒ ¬P ; (iv) ¬(Q⇒ P ).

Cvičení.

(1) Které z následujících posloupností znaků jsou formule výrokového počtu?

PQ∨, (R1 ∧Q)⇒ (T2 ⇔ P ), (R¬Q), (P ∨ ¬(S = Q)), ¬¬Q.

(2) Označíme

P : „Ptolemáios je Řek.ÿ

R : „Ramses je Egypťan.ÿ

Q1 : „Monet prodal svůj obraz.ÿ

Q2 : „Cézanne prodal svůj obraz.ÿ

Q3 : „Gauguin prodal svůj obraz.ÿ

Zapište formulemi následující výroky.

4

Page 5: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(a) Ptolemáios není Řek.

(b) Prolemáios je Řek, zatímco Ramses je Egypťan.

(c) Je-li Ptolemáios Řek, není Ramses Egypťan.

(d) Ptolemáios je Řek nebo, pokud není, Ramses není Egypťan.

(e) Ptolemáios je Řek a Ramses je Egypťan nebo ani jedno z toho.

(f) Monet jako jediný z trojice Monet, Cézanne a Gauguin prodal obraz.

(g) Gauguin jako jediný z trojice Monet, Cézanne a Gauguin neprodal obraz.

(h) Pouze jediný z trojice Monet, Cézanne a Gauguin prodal obraz.

(i) Alespoň jeden z trojice Monet, Cézanne a Gauguin prodal obraz.

(j) Alespoň dva z trojice Monet, Cézanne a Gauguin prodali obraz.

(k) Nejvýše dva z trojice Monet, Cézanne a Gauguin prodali obraz.

(l) Přesně dva z trojice Monet, Cézanne a Gauguin prodali obraz.

(3) Mějme tvrzení T1, T2, . . . , která znějí:

Tk : „Všechna tvrzení Tn jsou pro n > k nepravdivá.ÿ

Ukažte, že žádné z tvrzení T1, T2, . . . není výrok.

(4) U následujících výroků tvaru implikace určete, co je předpoklad a co je závěr.Ke každému výroku vyslovte opak a kontrapozici.

(a) Jsou-li jablka žlutá, pak pomeranče jsou zelené.

(b) Diferencovatelnost funkce f je postačující ke spojitosti f .

(c) Funkce je omezená, je-li interovatelná.

(d) Posloupnost je omezená, kdykoli je konvergentní.

(e) Je nutné, aby n bylo prvočíslo, má-li být také 2n − 1 prvočíslo.(f) Náš tým vyhraje, pouze pokud v něm bude Karel.

(5) Která z následujících podmínek je nutná nebo postačující nebo nemá žádnývztah k výroku: „Číslo n je dělitelné 6.ÿ

(a) n je dělitelné 3.

(b) n je dělitelné 9.

(c) n je dělitelné 12.

(d) n+ 1 je dělitelné 6.

(e) n2 je dělitelné 3.

(f) n3 je sudé a dělitelné 3.

(g) n je součin sudého a lichého čísla.

(h) Součet cifer je dělitelný 3.

5

Page 6: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Výsledky.

(1) Formule výrokové logiky jsou dvě: druhá a pátá, u které bereme v úvahuúmluvu o závorkách. U čtvrté vadí znaménko =, které nepatří do abecedyvýrokové logiky.

(2) (a) ¬P .(b) P ∧R.(c) P ⇒ ¬R.(d) P ∨ (¬P ⇒ ¬R).(e) (P ∧R) ∨ (¬P ∧ ¬R).(f) Q1 ∧ ¬Q2 ∧ ¬Q3.(g) ¬Q2 ∧Q1 ∧Q3.(h) (Q1 ∧ ¬Q2 ∧ ¬Q3) ∨ (¬Q1 ∧Q2 ∧ ¬Q3) ∨ (¬Q1 ∧ ¬Q2 ∧Q3).(i) Q1 ∨Q2 ∨Q3.(j) (Q1 ∧Q2 ∧Q3) ∨ (¬Q1 ∧Q2 ∧Q3) ∨ (Q1 ∧ ¬Q2 ∧Q3) ∨ (Q1 ∧Q2 ∧ ¬Q3)nebo také (Q1 ∧Q2) ∨ (Q1 ∧Q3) ∨ (Q2 ∧Q3).

(k) ¬Q1 ∨ ¬Q2 ∨ ¬Q3.(l) (¬Q1 ∧Q2 ∧Q3) ∨ (Q1 ∧ ¬Q2 ∧Q3) ∨ (Q1 ∧Q2 ∧ ¬Q3).

(3) Nejprve si uvědomíme, že žádné tvrzení Tk nemůže být pravdivý výrok. Při-pustíme-li, že nějaké Tk je pravdivý výrok, pak všechna tvrzení s vyšším inde-xem než k jsou nepravdivá. Specielně Tk+1 je nepravdivé. Avšak obsah tohotoúdajně nepravdivého tvrzení je pravdivý, neboť říká, že všechna Tk+2, Tk+3, . . .jsou nepravdivá - spor.

Zbývá možnost, že nějaké Tk je nepravdivý výrok. Pak ale existuje nějakétvrzení s vyšším indexen než k, které je pravdivé. To však nemůže nastat, jakjsme si v první části uvědomili. Závěrem celého rozboru je, že žádné Tk nenívýrok.

(4) (a) Opak: Jablka jsou žlutá a pomeranče nejsou zelené.Kontrapozice: Nejsou-li pomeranče zelené, pak nejsou jablka žlutá.

(b) Opak: f je diferencovatelná a není spojitá.Kontrapozice: Není-li f spojitá, pak není diferencovatelná.

(c) Opak: Funkce je integrovatelná a neomezená.Kontrapozice: Není-li funkce omezená, není ani integrovatelná.

(d) Opak: Posloupnost je konvergentní a neomezená.Kontrapozice: Není-li posloupnost omezená, pak není konvergentní.

(e) Opak: n není prvočíslo a 2n − 1 prvočíslo je.Kontrapozice: Není-li n prvočíslo, není ani 2n − 1 prvočíslo.

(f) Opak: Náš tým vyhrál i bez Karla.Kontrapozice: Nebude-li v týmu Karel, tým nevzhraje.

6

Page 7: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(5) P = postačující, N = nutná, 0 = nezávislá podmínka.P : (c), (f); N : (a), (e), (g), (h); 0: (b), (d).

Pravdivostní ohodnocení

V této části se budeme o něco podrobněji věnovat pravdivosti a nepravdivosti výroků.Chtěli bychom definovat, co to znamená, že jedna formule je logickým důsledkemjiné formule nebo množiny formulí. Např. by zcela jistě mělo platit, že formule P jedůsledek formule P ∧Q. Protože ať už formule P a Q označují jakýkoli výrok, z tohože P ∧ Q je pravdivé, musí plynou, že je pravdivé i P . Tato naše představa se dávyjádřit zcela přesným způsobem. K tomu budeme potřebovat pojem pravdivostníohodnocení.Zafixujme si množinu {0,1} pravdivostních hodnot:

0 označující nepravdu,

1 označující pravdu.

Nyní můžeme přiřadit všem výrokovým proměnným z naší abecedy pravdivostníhodnotu 0 nebo 1.

Definice 3. Ohodnocení výrokových proměnných je každé zobrazení ν z množiny Vdo množiny {0,1}, ν : V −→ {0,1}.

Zápis ν(P ) = 1 čteme, že P je pravdivý výrok a ν(P ) = 0 čteme, že P jenepravdivý výrok.Rádi bychom ohodnocení výrokových proměnných rozšířili z množiny V na mno-

žinu V∗ všech formulí. Toto rozšíření však musí respektovat následující pravidla.Jsou-li ϕ a ψ formule, pak

(i) ν(¬ϕ) ={0, když ν(ϕ) = 1,1 jinak.

(ii) ν(ϕ ∧ ψ) ={1, když ν(ϕ) = 1 a ν(ψ) = 1,0 jinak.

(iii) ν(ϕ ∨ ψ) ={1, když ν(ϕ) = 1 nebo ν(ψ) = 1,0 jinak.

(iv) ν(ϕ⇒ ψ) =

{0, když ν(ϕ) = 1 a ν(ψ) = 0,1 jinak.

(v) ν(ϕ⇔ ψ) =

{1, když ν(ϕ) = ν(ψ),0 jinak.

Ve zkrácené podobě můžeme uvedená pravidla sumarizovat v následující tabulce.

7

Page 8: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

ϕ ψ ¬ϕ ϕ ∧ ψ ϕ ∨ ψ ϕ⇒ ψ ϕ⇔ ψ

0 0 1 0 0 1 10 1 1 0 1 1 01 0 0 0 1 0 01 1 0 1 1 1 1

Tabulka 1

defpo Definice 4. Rozšíření ohodnocení ν výrokových proměnných z množiny V na mno-žinu V∗, které přitom respektuje pravidla v Tabulce 1, budeme nazývat pravdivostníohodnocení formulí (nebo jen krátce pravdivostní ohodnocení) a označovat jej opětpísmenem ν.

V praxi obvykle nerozlišujeme mezi ohodnocením výrokových proměnných a jehorozšířením na všechny formule. Mluvíme jednoduše o pravdivostní hodnotě formule ϕpři ohodnocení ν.Pozastavme se na chvíli u Tabulky 1. Do jaké míry odpovídají pravidla v ní

uvedená naší intuici? Určitě nikdo nebude překvapen, že pravdivostní hodnota ϕje 1 právě, když pravdivostní hodnota ¬ϕ je 0. Jiná věc je ale v případě implikace.Rozhodnutí dát hodnotu 1 formuli ϕ ⇒ ψ, když např. obě formule ϕ a ψ majíhodnotu 0, může někoho znepokojit. Abychom rozptýlili tuto pochybnost, položmesi otázku: V jaké situaci bychom označili implikaci ϕ ⇒ ψ za nepravdivou? Asibudeme souhlasit s tím, že pouze v případě, kdy předpoklad ϕ je pravdivý, alezávěr ψ nepravdivý. To však znamená, že všem ostatním případům musíme přiznathodnotu 1.Pravdivostní ohodnocení implikace, které máme v Tabulce 1, vede rovněž k tomu,

že následující dva výroky jsou pravdivé, i když se nám to na první pohled bude zdátpodivné.

Je-li číslo 3 dělitelné 7, pak je číslo 3 sudé.Je-li číslo 4 dělitelné 7, pak je číslo 4 sudé.

První typ je (0⇒ 0) a druhý (0⇒ 1).V Definici

defpo4 jsme zavedli pravdivostní ohodnocení, jako rozšíření jakéhokoli zob-

razení ν z množiny výrokových proměnných na všechny formule. Zatím však nevíme,zda-li takové rozšíření vůbec existuje a když ano, je-li jediné nebo je jich více? Ná-sledující věta odpovídá na tuto otázku.

pravoh Věta 5. Mějme ν : V −→ {0,1} ohodnocení výrokových proměnných. Pak existujejediné rozšíření ν : V∗ −→ {0,1} na množinu všech formulí takové, že je pravdivost-ním ohodnocením, tj. zachovává pravidla Tabulky 1.

Důkaz. Důkaz provedeme indukcí podle řádu formule. Pro účely tohoto důkazunazveme výrokové proměnné formulemi řádu 0. Formule řádu n jsou ty, které vzniklyz formulí řádu 0 nejvýše n-násobnou aplikací bodu (ii) z Definice

syntax2.

Krok 1: Na formulích řádu 0 je ν jednoznačně zadané.

8

Page 9: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Krok 2: Předpokládejme, že jsme ν jednoznačně rozšířili na formule až do řádu n.Každá formule řádu (n+1), která není řádu n, je vytvořena z formulí řádu n jednouz pěti operací uvedených v Definici

syntax2 (ii). Tabulka 1 definuje rozšíření ν pro tyto

formule, a to jednoznačným způsobem. Tím jsme dokázali, že ν má jednoznačnérozšíření na všechny formule až do řádu (n+ 1). �

Rozšiřování pravdivostního ohodnocení popsané v předchozí Větěpravoh5 není pro nás

ve skutečnosti nic nového. Provádíme jej pokaždé, když vyplňujeme pravdivostnítabulku nějaké formule. Pravdivostní tabulka uvádí pravdivostní hodnotu dané for-mule při všech možných ohodnoceních výrokových proměnných.

Příklad. Vytvoříme pravdivostní tabulku pro formuli ϕ = (P ∧Q) ∨ (¬P ⇒ R).

P Q R P ∧Q ¬P ⇒ R (P ∧Q) ∨ (¬P ⇒ R)

0 0 0 0 0 00 0 1 0 1 10 1 0 0 0 00 1 1 0 1 11 0 0 0 1 11 0 1 0 1 11 1 0 1 1 11 1 1 1 1 1

První tři sloupce tabulky odpovídají třem výrokovým proměnným formule ϕ aobsahují všechny trojice vytvořené ze symbolů 0 a 1. Takových je 23 = 8. Pokud byformule obsahovala n proměnných, příslušná tabulka by měla 2n řádků. Je rozumnési zvolit system pro vyplňování 0 a 1 do prvních sloupců tabulky, abychom nanějakou kombinaci nezapoměli. Zde jsme zvolili lexikografické uspořádání.Pravdivostní tabulku můžeme používat i v opačném směru: Známe-li hodnotu

formule, chceme vyvodit možné hodnoty výrokových proměnných. Tento typ se ob-vykle hodí v tzv. logických hádankách.

Příklad. Tři osoby A, B a C jsou podezřelé ze spáchání zločinu. Vypověděly ná-sledující:

A : „B je vinen a C je neviný.ÿ

B : „Je-li vinen A, je vinen i C.ÿ

C : „Jsem nevinen, ale alespoň jeden z A a B je vinen.ÿ

Jaké jsou odpovědi na otázky:

(i) Mohou být všechny tři výpovědi pravdivé?

(ii) Jsou-li všichni nevinní, kdo vypovídal křivě?

(iii) Jsou-li výpovědi pravdivé, kdo je pachatel?

9

Page 10: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(iv) Mluví-li nevinní pravdu a viníci lžou, kdo je pachatel?

Označíme si postupně A, B a C výroky „A je nevinenÿ, „B je nevinenÿ a „C jenevinenÿ. Pak jednotlivé výpovědi jsou formule

¬B ∧ C, ¬A⇒ ¬C, C ∧ (¬A ∨ ¬B).

K odpovědím na položené otázky potřebujeme pravdivostní tabulku pro tři výšeuvedené formule.

A B C ¬B ∧ C ¬A⇒ ¬C C ∧ (¬A ∨ ¬B)0 0 0 0 1 00 0 1 1 0 10 1 0 0 1 00 1 1 0 0 11 0 0 0 1 01 0 1 1 1 11 1 0 0 1 01 1 1 0 1 0

Odpovědi na otázky jsou následující:

(i) Ano, vidíme to v 6. řádku.

(ii) Křivě vypovídaly osoby A a C, viz poslední řádek.

(iii) Ze 6. řádku plyne, že pachatel je B.

(iv) Podmínka v otázce znamená, že pravdivostní hodnoty musí vyhovovat třemrovnostem

ν(A) = ν(¬B ∧ C), ν(B) = ν(¬A⇒ ¬C) a ν(C) = ν(C ∧ (¬A ∨ ¬B)).

První rovnost je splněna v řádcích 1, 3, 4, 6. V rámci nich je druhá rovnostsplněna pouze v řádku 3. V tomto řádku platí i třetí rovnost, takže odpověďje, že pachateli jsou osoby A a C.

Cvičení.

(1) Utvořte pravdivostní tabulku formule (P∨Q)∧¬(P∧Q) (vylučovací disjunkce).

(2) Utvořte pravdivostní tabulku formule (P ⇒ (¬Q ∧Q))⇔ ¬P .

(3) Na ostrově žijí dva druhy obyvatel: pravdomluvní a lháři. Ti první mluví zavšech okolností pravdu, ti druzí stále lžou.

(a) Potkáme dva obyvatele P a Q a zeptáme se: „Je někdo z vás lhář?ÿ Podpoví: „Alespoň jeden z nás je lhářÿ. Lze určit, kdo jsou P a Q?

(b) Potkáme dva obyvatele P a Q a zeptáme se P : „Je někdo z vás lhář?ÿ Podpoví: „Je-li Q lhář, pak i já jsem lhářÿ. Kdo jsou P a Q?

10

Page 11: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(c) Potkáme dva obyvatele a zeptáme se: „Je někdo z vás pravdomluvný?ÿ Zodpovědi bylo možné určit, kdo je kdo. Jaká byla odpověď a jaký je nášzávěr?

(d) Potkáme tři obyvatele P , Q a R a zeptáme se P : „Jste lhář?ÿ P něcoodpověděl, ale my jsme to přeslechli. Zeptáme se tedy Q: „Co říkal P?ÿQ odpověděl: „Řekl, že je lhář.ÿ Pak se ozval R: „Nevěřte Q, je to lhář.ÿKdo je kdo?

(4) Mějme karty takové, že každá má na jedné straně písmeno a na druhé straněčíslo. Vidíme před sebou položené tyto čtyři karty:

S U 3 8

Pravidlo zní: Pokud je písmeno samohláska, na druhé straně je sudé číslo. Kolikkaret musíme otočit, abychom zjistili, zda tyto čtyři karty vyhovují pravidlu?

(5) Pro která pravdivostní ohodnocení proměnných P1, . . . , Pn je pravdivá nížeuvedená formule?

(a) (P1 ⇒ P2) ∧ · · · ∧ (Pn−1 ⇒ Pn),

(b) (P1 ⇒ P2) ∧ · · · ∧ (Pn−1 ⇒ Pn) ∧ (Pn ⇒ P1),

(c) Konjunkce formulí (Pi ⇒ ¬Pj) přes všechny dvojice indexů i 6= j. For-málně zapsáno:

∧i6=j(Pi ⇒ ¬Pj).

Výsledky.

(1) ν((P ∨Q) ∧ ¬(P ∧Q)

)= 1 právě, když ν(P ) 6= ν(Q).

(2) Pravdivostní hodnota je 1 ve všech ohodnoceních.

(3) (a) P je pravdomluvný, Q je lhář.

(b) Oba jsou pravdomluvní.

(c) Odpověď byla NE, odpovídající byl lhář a druhý byl pravdomluvný.

(d) R je pravdomluvný, Q je lhář a P nelze určit.

(4) Dvě karty U a 3.

(5) (a) Existuje číslo k ∈ {0, 1, . . . , n}, že ν(Pi) = 0 pro i ≤ k a ν(Pi) = 1 proi > k.

(b) Buď ν(Pi) = 0 pro všechna i nebo ν(Pi) = 1 pro všechna i.

(c) ν(Pi) = 1 pro nejvýše jeden index i.

11

Page 12: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Logický důsledek

Nyní zavedeme pojem, který odráží naši představu o logickém vyplývání.

logdus Definice 6. Mějme formuli ϕ a množinu formulí Σ. Řekneme, že ϕ je logický dů-sledek formulí z množiny Σ (nebo Σ logicky implikuje ϕ), je-li formule ϕ pravdivá vkaždém ohodnocení, ve kterém jsou pravdivé všechny formule v množině Σ. ZnačímeΣ |= φ.

V tomto kontextu nazýváme formule v množine Σ předpoklady a formuli ϕ zá-věrem. Pokud ϕ není logický důsledek množiny Σ, značíme Σ 6|= φ.Je-li Σ jednoprvková množina, Σ = {ψ}, píšeme ψ |= ϕ místo {ψ} |= ϕ. Nastane-

li situace, že ψ |= ϕ a současně ϕ |= ψ, pak říkáme, že ψ a ϕ jsou logicky (nebo takétautologicky či sémanticky) ekvivalentní a píšeme ψ |=| ϕ.

Příklad. Uvažujme množinu Σ = {P, P ⇒ Q}. Ukážeme, že Σ |= Q.Pravdivostní tabulka je následující:

P Q P ⇒ Q

0 0 10 1 11 0 01 1 1

Jediný případ, kdy jsou obě formule v Σ interpretovány jako pravdivé, je poslednířádek. Ale tam je pravdivá i formule Q. Proto platí, že Σ |= Q.

Z Definicelogdus6 plyne, že nutná a postačující podmínka k Σ 6|= ϕ je existence prav-

divostního ohodnocení ν, které všechny formule v Σ interpretuje jako pravdivé, aleν(ϕ) = 0. Jako ukázku vezměme množinu Σ = {P, Q ⇒ P} a otestujme, zdaΣ |= Q. Pravdivostní tabulka je podobná tabulce z předešlého příkladu.

P Q Q⇒ P

0 0 10 1 01 0 11 1 1

Zde třetí řádek svědčí o tom, že Σ 6|= Q, neboť obě formule v množině Σ jsouinterpretovány jako pravdivé, ale hodnota Q je 0. Na tom nic nezmění ani fakt, žečtvrtý řádek dává hodnotu 1 jak formulím v Σ, tak proměnné Q. Stojí za povšimnutí,že z množiny Σ neplyne ani ¬Q, Σ 6|= ¬Q.

Příklad. Ověříme, že formule (P ⇒ Q) ∧ (Q ⇒ P ) a P ⇔ Q jsou logicky ekviva-lentní. Za tím účelem sestavíme pravdivostní tabulku obou formulí.

12

Page 13: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

P Q P ⇒ Q Q⇒ P (P ⇒ Q) ∧ (Q⇒ P ) P ⇔ Q

0 0 1 1 1 10 1 1 0 0 01 0 0 1 0 01 1 1 1 1 1

Z tabulky vidíme, že v každém ohodnocení, kdy je první formule pravdivá, je prav-divá i druhá, což znamená, že

(P ⇒ Q) ∧ (Q⇒ P ) |= (P ⇔ Q).

Ale i naopak, je-li pravdivá druhá z formulí, je pravdivá i první, tedy

(P ⇔ Q) |= (P ⇒ Q) ∧ (Q⇒ P ).

Dohromady máme (P ⇒ Q) ∧ (Q⇒ P ) |=| (P ⇔ Q).

Poučení z výše uvedeného příkladu je, že prohlásit dvě formule ϕ a ψ za logickyekvivalentní, je to samé jako říci, že formule ϕ a ψ mají tutéž pravdivostní tabulku.To se nám bude ještě hodit.Podívejme se nyní na zvláštní případ logického důsledku, kdy množina předpo-

kladů je prázdná, Σ = ∅. Jaká formule ϕ je logickým důsledkem prázdné množinyformulí, ∅ |= ϕ? Intuitivně to znamemá, že závěr ϕ má být pravdivý, kdykoli jsoupravdivé předpoklady. Zde žádné předpoklady nejsou, takže ϕ musí být pravdivé„samo o soběÿ. Jinými slovy, ν(ϕ) = 1 pro každé pravdivostní ohodnocení ν. Takovéformule se nazývají tautologie.

Definice 7. Formule ϕ se nazývá tautologie, pokud ν(ϕ) = 1 pro každé pravdivostníohodnocení ν. Zápis je |= ϕ.

Asi nejjednoduší tautologie je (P ∨ ¬P ). Opak tautologie je formule zvaná kon-tradikce.

Definice 8. Formule ϕ se nazývá kontradikce, pokud ν(ϕ) = 0 pro každé pravdi-vostní ohodnocení ν. Zápis je |= ¬ϕ.

Příklad kontradikce je (P ∧ ¬P ). Je rovněž zřejmé, že negace tautologie je kon-tradikce a negace kontradikce je tautologie. Když si připomeneme, že dvě formulejsou logicky ekvivalentní právě, když mají identické pravdivostní tabulky, ihned vi-díme, že všechny tautologie jsou mezi sebou logicky ekvivalentní a rovněž všechnykontradikce jsou mezi sebou logicky ekvivalentní.

Příklad. Ověřte, že formule Q1 ⇒ (Q2 ⇒ (Q3 ⇒ Q1)) je tautologie.Způsob, který vždy funguje, je pomocí pravdivostní tabulky. Pro tři proměnné

je to ještě zvládnutelné, ale pro více proměnných to přestává být schůdné. Jinámožnost, vhodná zejména při implikacích, je metoda sporem. Předpokládáme, že

13

Page 14: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

formule je nepravdivá. Implikace je nepravdivá pouze v jediném případě: předpokladmá hodnotu 1 a závěr 0. To znamená, že

ν(Q1) = 1 a ν(Q2 ⇒ (Q3 ⇒ Q1)) = 0.

Je-li ν(Q1) = 1, je i ν(Q3 ⇒ Q1) = 1 bez ohledu na hodnotu Q3. Odtud plyne, že iQ2 ⇒ (Q3 ⇒ Q1) je pravdivé, a tím celá původní formule. Což je spor, který ukazuje,že při žádném pravdivostním ohodnocení nemůže být Q1 ⇒ (Q2 ⇒ (Q3 ⇒ Q1))nepravdivá formule.

Logický důsledek i tautologie jsou definovány pomocí pravdivostního ohodnocení.Navíc v obou případech hrají hlavní roli ta ohodnocení, která příslušným formulímdávají hodnotu 1. Nepřekvapí nás proto, že mezi logickým důsledkem a tautologiíje těsný vztah.

logtau Věta 9. Mějme formule ϕ1, ϕ2, . . . , ϕn a ψ. Následující je ekvivalentní:

(i) {ϕ1, ϕ2, . . . , ϕn} |= ψ, tj. ψ je logickým důsledkem množiny {ϕ1, ϕ2, . . . , ϕn}.

(ii) |= (ϕ1 ∧ ϕ2 ∧ · · · ∧ ϕn)⇒ ψ, tj. (ϕ1 ∧ ϕ2 ∧ · · · ∧ ϕn)⇒ ψ je tautologie.

Důkaz. Předpokládejme, že je splněn bod (i) a ověříme, že implikace

(ϕ1 ∧ ϕ2 ∧ · · · ∧ ϕn)⇒ ψ (1) tau

je tautologie. Mějme libovolné ohodnocení ν. Pokud je ν(ϕ1 ∧ ϕ2 ∧ · · · ∧ ϕn) = 0,je implikace pravdivá. Pokud je ν(ϕ1 ∧ ϕ2 ∧ · · · ∧ ϕn) = 1, pak musí být pravdivévšechny formule ϕ1, ϕ2, . . . , ϕn. V tom případě je podle (i) pravdivé i ψ, a tím i celáimplikace.

Nyní naopak předpokládejme, že platí bod (ii) a ověříme, že ψ je logický důsledekmnožiny {ϕ1, ϕ2, . . . , ϕn}. Za tím účelem mějme pravdivostní ohodnocení ν takové,že ν(ϕ1) = · · · = ν(ϕn) = 1. Protože víme, že implikace (

tau1) je tautologie, a tedy

pravdivá, musí být nutně ν(ψ) = 1. �

Z Větylogtau9 vyplývá, že logickou ekvivalenci můžeme redukovat na tautologii a

naopak. Navíc platí tvrzení, že ϕ |=| ψ právě, když |= (ϕ ⇔ ψ). Je-li totiž ϕ |=| ψ,pak je splněno ϕ |= ψ i ψ |= ϕ. Podle Věty

logtau9 to značí, že obě formule ϕ ⇒ ψ

a ψ ⇒ ϕ jsou tautologiemi. Jejich konjunkce je samozřejmě opět tautologie, kteránení nic jiného než ϕ⇔ ψ.

Uvedeme si několik často užívaných a užitečných logických ekvivalencí.

14

Page 15: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

dvojitá negace: ¬¬P |=| P

nahrazení implikace: (ϕ⇒ ψ) |=| ¬ϕ ∨ ψ

kontrapozice: (ϕ⇒ ψ) |=| (¬ψ ⇒ ¬ϕ)

de Morganova pravidla:¬(ϕ ∧ ψ) |=| ¬ϕ ∨ ¬ψ¬(ϕ ∨ ψ) |=| ¬ϕ ∧ ¬ψ

distributivní zákony:ϕ ∧ (ψ ∨ θ) |=| (ϕ ∧ ψ) ∨ (ϕ ∧ θ)ϕ ∨ (ψ ∧ θ) |=| (ϕ ∨ ψ) ∧ (ϕ ∨ θ)

Poslední důležitý pojem spojený s pravdivostním ohodnocením je splnitelnostmnožiny formulí.

Definice 10. Mějme množinu Σ formulí. Řekneme, že je splnitelná (nebo že mámodel), jestliže existuje pravdivostní ohodnocení, ve kterém jsou všechny formule vΣ pravdivé.

Užíváme-li alternativní terminologii, tj. že Σ má model, pak modelem rozumímeprávě to ohodnocení, ve kterém jsou všechny formule z Σ interpretovány jako prav-divé. Pokud se množina Σ skládá z jediné formule ϕ, Σ = {ϕ}, mluvíme o splnitel-nosti formule ϕ. V takovém případě je splnitelnost ϕ to samé, jako říci, že ϕ neníkontradikce.

Příklad. Zjistěte, zda je splnitelná množina

Σ = {(P ⇒ Q)⇒ R, ¬P ∨R, ¬P ∧Q ∧R, Q⇔ (P ∨R)}.

Formule obsahují jen tři proměnné, proto je možné úlohu řešit pravdivostní ta-bulkou.

P Q R (P ⇒ Q)⇒ R ¬P ∨R ¬P ∧Q ∧R Q⇔ (P ∨R)0 0 0 0 1 0 10 0 1 1 1 0 00 1 0 0 1 0 00 1 1 1 1 1 11 0 0 1 0 0 01 0 1 1 1 0 01 1 0 0 0 0 11 1 1 1 1 0 1

Ze čtvrtého řádku vyvozujeme, že množina Σ je splnitelná.

Je zřejmé, že každá podmnožina splnitelné množiny je rovněž splnitelná. Spe-cielně, prázdná množina je splnitelná.Uvažujme množinu formulí. Přiřadíme-li formulím nějaký význam, stanou se z

nich výroky. Pak splnitelnost množiny formulí znamená, že příslušné výroky jsoukonzistentní, tj. nejsou navzájem ve sporu. V rovině formulí je tedy splnitelnost tosamé jako konzistence v rovině výroků.

15

Page 16: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

splnit Věta 11. Mějme formuli ϕ a množinu formulí Σ. Následující je ekvivalentní:

(i) Σ |= ϕ,

(ii) Σ ∪ {¬ϕ} není splnitelná.

Důkaz. Předpokládejme, že Σ |= ϕ a že ν je pravdivostní ohodnocení, ve kterémjsou všechny formule v Σ pravdivé. Protože ϕ je logickým důsledkem Σ, je ν(ϕ) = 1.Pak je ale množina Σ ∪ {¬ϕ} nesplnitelná.Nyní naopak předpokládejme, že Σ∪{¬ϕ} je nesplnitelná. Mějme ohodnocení ν,

ve kterém jsou všechny formule v Σ pravdivé. Pak nutně musí platit, že ν(¬ϕ) = 0,neboť v opačném případě by byla množina Σ ∪ {¬ϕ} splnitelná. Odtud plyne, žeν(ϕ) = 1. �

Poznamenejme, že z Větysplnit11 vyplývá, že logickým důsledkem nesplnitelné mno-

žiny je každá formule.V jedné z dalších sekcí budeme diskutovat testování splnitelnosti pomocí efektiv-

nější metody než je pravdivostní tabulka. S pomocí Větysplnit11 tím získáme i efektivnější

způsob ověřování logického důsledku.

Cvičení.

(1) Které z následujících formulí jsou tautologie, které kontradikce a které jsouspnitelné.

(a) ¬(P ⇒ ¬P );(b) P ∨ (P ⇒ ¬P );(c) P ∨ (Q ∨ ¬Q);(d) ¬((P ∨ ¬P )⇒ Q);

(e) ¬P ∨ ¬(P ⇒ Q);

(f) ((P ⇒ Q)⇒ P )⇒ P ;

(g) (P ∨ ¬Q)⇒ ¬(Q ∨ ¬P );(h) ((P ⇒ Q)⇒ P ) ∧ ¬P ;(i) (P ⇒ Q) ∨ (Q⇒ R) ∨ ¬(¬P ∨R);(j) ¬(¬P ⇔ Q)⇒ (R ∨ ¬Q);(k) ((P ∧R)⇒ Q)⇔ (R ∧ ¬(P ⇒ Q)).

(2) Určete, které z naznačených logických důsledků jsou správné.

(a) {¬P ⇒ Q, ¬P ⇒ ¬Q} |= P .(b) {P ∧Q, P ⇒ R, Q⇒ S} |= R ∧ S.(c) {¬R,¬(P ∧ ¬R), ¬P ⇒ ¬Q} |= ¬Q.

16

Page 17: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(3) Ukažte, že formule (P ⇒ (Q ⇒ (R ⇔ (Q ⇒ P )))) a P ⇒ (Q ⇒ R) jsoulogicky ekvivalentní.

(4) Ukažte, že formule P ⇔ (Q ⇔ R) a (P ⇔ Q) ⇔ R jsou logicky ekvivalentní.Platnost asociativního zákona by nás mohla vést k tomu, že bychom psalikrátce P ⇔ Q ⇔ R. Tuto formuli však obvykle interpretujeme, že P,Q,Rjsou buď všechny pravdivé nebo všechny nepravdivé, což není ekvivalentníani jedné z formulí P ⇔ (Q⇔ R) a (P ⇔ Q)⇔ R.

(5) Množina formulí F se nazývá nezávislá, když pro každou ϕ ∈ F platí, ženení logickým důsledkem ostatních formulí z F , tj. F \ {ϕ} 6|= ϕ. Která znásledujících množin je nezávislá?

(a) {P ⇒ Q, Q⇒ R, R⇒ P};(b) {P ⇒ Q, Q⇒ R, P ⇒ R};(c) {P, Q, P ⇒ R, R⇒ Q};(d) {P1, P1∧P2, P1∧P2∧P3, . . . , P1∧· · ·∧Pn, . . . }. Má tato množina nějakounezávislou podmnožinu?

(6) Uvažujme všechny formule tří proměnných P,Q,R.

(a) Kolik je jich, až na logickou ekvivalenci, pravdivých přesně v pěti prav-divostních ohodnoceních?

(b) Kolik je jich, až na logickou ekvivalenci, logickým důsledkem P ∨Q?

(Víme, že formule je jednoznačně určena, až na logickou ekvivalenci, svojípravdivostní tabulkou.)

Výsledky.

(1) Tautologie: (b), (c), (f), (i). Kontradikce: (h), (k). Splnitelné: (a), (d), (e), (g),(j).

(2) Všechny logické důsledky platí.

(5) (a) Množina je nezávislá.

(b) Množina není nezávislá, např. {P ⇒ Q, Q⇒ R} |= P ⇒ R.

(c) Množina není nezávislá, např. {P, P ⇒ R, R⇒ Q} |= Q.(d) Pouze prázdná množina a jednoprvkové podmnožiny jsou nezávislé. Obsa-huje-li podmnožina alespoň dvě formule, pak nejkratší formule v danépodmnožině je logickým důsledkem zbylých formulí.

(6) (a) Formule ϕ o třech proměnných má osmiřádkovou pravdivostní tabulku.Z nich si zvolíme 5 řádků, kde bude stát ohodnocení 1. To lze učinit(85

)= 56 způsoby.

(b) Osmiřádková tabulka pro formuli ϕ obsahuje 6 řádků, kde má P neboQ ohodnocení 1. Na těchto řádcích musí mít hodnotu 1 i formule ϕ. Nazbylých dvou řádcích mohou být hodnoty 0 nebo 1. To lze doplnit čtyřmizpůsoby. Počet hledaných formulí je tak 4.

17

Page 18: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Booleovské funkce

Zatím jsme používali pět logických spojek: ¬, ∧, ∨, ⇒ a ⇔. Je zřejmé, že těchtopět známých spojek nepředstavuje jedinou možnost. Získali bychom něco přidánímnových spojek k abecedě? Nebo naopak ztratili bychom něco vynecháním nějaké zespojek, které máme? Abychom odpověděli na tyto otázky, připomeňme si příkladylogických ekvivalencí z předchozí sekce. Ukazují nám, že např. ϕ⇒ ψ je ekvivalentníformuli ¬ϕ ∨ ψ. Pokud vypustíme z abecedy implikaci, nic neztrácíme, protože jimůžeme modelovat pomocí zbylých spojek. Podobná situace by byla, kdybychomrozšířili naši abecedu o nějakou novou logickou spojku. Takové rozšíření by námnic nového nepřineslo, protože každou formuli v rozšířené abecedě bychom mohliekvivalentně nahradit formulí v původní abecedě.Abychom odůvodnili předchozí argumentaci, bude vhodné si zavést pojem boo-

leovské funkce.

Definice 12. Každá funkce B : {0,1}n −→ {0,1} se nazývá (n-ární) booleovskáfunkce, n ∈ N.

V případě n = 1 a n = 2 užíváme názvy „unárníÿ a „binárníÿ. Příklad unárníbooleovské funkce je

B(0) = 1, B(1) = 0.

Binární booleovská funkce je např.

B(0,0) = 1, B(0,1) = 1, B(1,0) = 0, B(1,1) = 0.

Obecně, n-ární booleovská funkce je funkce n proměnných, které nabývají hodnotpouze 0 a 1.Důležitý případ nastává, když je booleovská funkce odvozena z nějaké formule ϕ.

Je-li např. ϕ = P ∧Q, můžeme utvořit pravdivostní tabulku a pomocí ní booleovskoufunkci definovat.

P Q P ∧Q B(X1, X2)0 0 0 B(0,0) = 00 1 0 B(0,1) = 01 0 0 B(1,0) = 01 1 1 B(1,1) = 1

Booleovskou funkci odvozenou z formule ϕ budeme značit Bϕ a říkat, že Bϕ jerealizována formulí ϕ. Obecná definice je následující:

Definice 13. Mějme formuli ϕ = ϕ(P1, . . . , Pn) obsahující výrokové proměnnéP1, . . . , Pn. Booleovská funkce Bϕ(X1, . . . , Xn) realizovaná formulí ϕ je funkce, prokterou platí

Bϕ(ν(P1), . . . , ν(Pn)

)= ν(ϕ)

pro všechna pravdivostní ohodnocení ν.

18

Page 19: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Vyvstává přirozená otázka, zda lze každou booleovskou funkci realizovat nějakouformulí. Než odpovíme na tuto otázku v plné obecnosti bude užitečné se podívat nakonkrétní příklad.Mějme booleovskou funkci B zadanou:

B(0,0,0) = 0,B(0,0,1) = 1,B(0,1,0) = 0,B(0,1,1) = 1,B(1,0,0) = 1,B(1,0,1) = 0,B(1,1,0) = 0,B(1,1,1) = 1.

Jedna možnost, jak sestrojit formuli ϕ, že Bϕ = B, je následující.Metoda A:Sestavíme seznam všech trojic (X1, X2, X3), ve kterých jeB(X1, X2, X3) = 1. Ke

každé trojici napíšeme vhodnou konjunkci, která má hodnotu 1 právě pro ohodnocenídané touto trojicí pravdivostních hodnot.

001 ¬P1 ∧ ¬P2 ∧ P3,011 ¬P1 ∧ P2 ∧ P3,100 P1 ∧ ¬P2 ∧ ¬P3,111 P1 ∧ P2 ∧ P3.

Když nyní položíme

ϕ = (¬P1 ∧ ¬P2 ∧ P3) ∨ (¬P1 ∧ P2 ∧ P3)∨ (P1 ∧ ¬P2 ∧ ¬P3) ∨ (P1 ∧ P2 ∧ P3),

pak ϕ je pravdivá jen pro výše vypsané trojice hodnot a nepravdivá ve všech ostat-ních. Jinými slovy, Bϕ = B.Nemáme žádný apriorní důvod preferovat trojice (X1, X2, X3), kde hodnota

funkce B(X1, X2, X3) = 1. Můžeme provést podobnou konstrukci i pro trojice, vekterých je B(X1, X2, X3) = 0.Metoda B:Zde vytvoříme seznam trojic, pro které je B(X1, X2, X3) = 0. Napravo od každé

trojice napíšeme disjunkci, která má hodnotu 0 právě pro ohodnocení dané toutotrojicí.

000 P1 ∨ P2 ∨ P3,010 P1 ∨ ¬P2 ∨ P3,101 ¬P1 ∨ P2 ∨ ¬P3,110 ¬P1 ∨ ¬P2 ∨ P3.

Položíme-li

ϕ = (P1 ∨ P2 ∨ P3) ∧ (P1 ∨ ¬P2 ∨ P3)∧ (¬P1 ∨ P2 ∨ ¬P3) ∧ (¬P1 ∨ ¬P2 ∨ P3),

19

Page 20: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

pak bude ϕ nepravdivá jen pro trojice vypsané výše a pravdivá ve všech ostatníchpřípadech. Tj. Bϕ = B.

boole Věta 14. Mějme n-ární booleovskou funkci B. Pak existuje formule ϕ závislá na nproměnných, která realizuje funkci B, B = Bϕ.

Důkaz. Ke konstrukci můžeme užít kterýkoli ze dvou přístupů uvedených předvětou. Provedeme např. detailně Metodu A a Metodu B jen stručně okomentujeme.Je-li B = 0, pak ϕ = P ∧ ¬P .Můžeme tedy předpokládat, že existují body z definičního oboru {0,1}n, kde B

nabývá hodnoty 1. Řekněme, že takových bodů je k a my jsme si je všechny vypsali:

(X11, X12, . . . , X1n)(X21, X22, . . . , X2n)

...(Xk1, Xk2, . . . , Xkn)

Pro každou vypsanou n-tici vytvoříme konjunkci proměnných, která bude mít hod-notu 1 právě jen pro ohodnocení uvedené v n-tici. Pro i = 1, . . . , k a j = 1, . . . , npoložíme

θij =

{Pj je-li Xij = 1¬Pj je-li Xij = 0.

Příslušná konjunkce pro i-tý řádek je ψi = θi1 ∧ θi2 ∧ · · · ∧ θin. Všimněme si, že ψi jepravdivá jen pro jediný výběr pravdivostního ohodnocení: pro (Xi1, Xi2, . . . , Xin).Nakonec formule ϕ,

ϕ = ψ1 ∨ ψ2 ∨ · · · ∨ ψk.

Nyní je jasné, že booleovská funkce Bϕ realizovaná formulí ϕ nabývá hodnoty 1 vbodech uvedených na seznamu výše a 0 všude jinde. Takže Bϕ = B.Kdybychom se rozhodli pro Metodu B, podíváme se nejdříve, zda existuje bod

definičního oboru {0,1}n, kde hodnota funkce je 0. Pokud ne, je formule ϕ = P∨¬P .Jinak příslušná formule vypadá

ϕ = ψ1 ∧ ψ2 ∧ · · · ∧ ψk,

kde

ψi = θi1 ∨ θi2 ∨ · · · ∨ θini a θij =

{Pj je-li Xij = 0¬Pj je-li Xij = 1

.

Podle právě dokázané věty je každá booleovská funkce realizovaná formulí. For-mule, která danou funkci realizuje není jediná. Jakákoli s ní logicky ekvivalentnírealizuje stejnou booleovskou funkci.Důsledek předchozí věty je rovněž fakt, že logických spojek je dostačující (do-

konce více než dostačující) množství pro realizaci všech booleovských funkcí. Před-stavme si, že bychom rozšířili jazyk výrokového počtu o nějakou novou exotickou

20

Page 21: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

logickou spojku. Každá formule ϕ̃ v tomto rozšířeném jazyce realizuje booleovskoufunkci Beϕ. Podle předchozí věty ale existuje formule ϕ v původním jazyce, která rov-něž realizuje Beϕ. Formule ϕ̃ má tak ekvivalentní protějšek ve formuli ϕ, vyjádřenév původním nerozšířeném jazyce.Poslední poznámka se týká názvu „booleovskýÿ. Množina {0,1} je obdařena al-

gebraickou strukturou: booleovským součinem a booleovským součtem. První ope-race je totožná s obyčejným součinem čísel. Druhá se od normálního sčítání liší vjediném bodě, a to, že

1+ 1 = 0,

což je sčítání modulo 2. Množina {0,1} s výše uvedenými operacemi je důležitýpřípad obecnější matematické struktury nazývané booleovská algebra. Do dalšíchdetailů zde nebudeme zacházet, nicméně ve cvičení (1) níže je vidět, jak má pětlogických spojek své protějšky v booleovských operacích.

Cvičení.

(1) Mějme dvě formule ϕ a ψ, které realizují booleovské funkce Bϕ a Bψ. Pomocípravdivostní tabulky ověřte následující rovnosti. Znaménko + má význam bo-oleovského součtu.

(a) B¬ϕ = 1+Bϕ,

(b) Bϕ∧ψ = BϕBψ,

(c) Bϕ∨ψ = Bϕ +Bψ +BϕBψ,

(d) Bϕ⇒ψ = 1+Bϕ +BϕBψ,

(e) Bϕ⇔ψ = 1+Bϕ +Bψ.

(2) Mějme formule ϕ a ψ. Ukažte, že

(a) ϕ |= ψ právě, když Bϕ ≤ Bψ.

(b) ϕ |=| ψ právě, když Bϕ = Bψ.(c) |= ϕ právě, když Bϕ = 1.

Tvary DNF a CNF

Z důkazu Větyboole14 plyne ještě jedno poučení. Formule, která realizuje danou boole-

ovskou funkci je velmi specifického tvaru. Jediné logické spojky, které obsahuje, jsou¬, ∧ a ∨. Dvě metody užité při konstrukci nám dávají dva kanonické tvary formulí.

Definice 15. Formule, která je rovna pouze výrokové proměnné nebo negaci výro-kové proměnné, se krátce nazývá literál.Formule ϕ je v disjunktivním normálovém tvaru (DNF), když

ϕ = ψ1 ∨ ψ2 ∨ · · · ∨ ψk,

21

Page 22: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

kde všechny ψi jsou konjunkcemi literálů, tj. ψi = θi1 ∧ θi2 ∧ · · · ∧ θini a θij jsouliterály.Podobně formule ϕ je v konjunktivním normálovém tvaru (CNF), když

ϕ = ψ1 ∧ ψ2 ∧ · · · ∧ ψk,

kde všechny ψi jsou disjunkcemi literálů, tj. ψi = θi1 ∨ θi2 ∨ · · · ∨ θini a θij jsouliterály.

Dvě metody užité v důkaze Větyboole14 dávají

Důsledek. Každá formule je logicky ekvivalentní formuli ve tvaru DNF i CNF.

Převedeme formuli (¬P ⇒ Q)⇒ (R⇒ P ) do CNF i do DNF. Při tomto převodunemusíme jít cestou přes booleovské funkce a Metodu A a B. Mnohem kratší jeaplikovat pravidla, která zachovávají logickou ekvivalenci.

(¬P ⇒ Q)⇒ (R⇒ P ) |=| eliminace krajních implikací(¬¬P ∨Q)⇒ (¬R ∨ P ) |=| odstranění dvojité negace(P ∨Q)⇒ (¬R ∨ P ) |=| eliminace implikace¬(P ∨Q) ∨ (¬R ∨ P ) |=| de Morganovo pravidlo(¬P ∧ ¬Q) ∨ ¬R ∨ P |=| distributivní zákon

(¬P ∨ ¬R ∨ P ) ∧ (¬Q ∨ ¬R ∨ P )

Poslední řádek je tvar CNF dané formule. Tvar DNF máme dokonce už v předpo-sledním řádku.Každá tautologie má CNF i DNF tvar jednoduchý: P ∨ ¬P . Obdobně každá

kontradikce má CNF i DNF tvar P ∧ ¬P .Protože každá booleovská funkce může být realizována formulí užívající pouze

spojky {¬,∧,∨}, říkáme, že množina spojek {¬,∧,∨} je úplná. Úplnost této mno-žiny může být ještě zlepšena:

upl Věta 16. Množiny {¬,∧} a {¬,∨} jsou úplné.

Důkaz. Protože {¬,∧,∨} je úplná množina spojek, stačí, pro první případ, mode-lovat disjunkci pomocí nějaké kombinace negace a konjunkce. Toho dosáhneme deMorganovým pravidlem P ∨ Q |=| ¬(¬P ∧ ¬Q). Stejně postupujeme i ve druhémpřípadě. �

Můžeme jít ještě dále a ptát se, zda existuje nějaká zvláštní logická spojka, kterásama o sobě tvoří úplnou množinu? Taková opravdu existuje, značí se | a nazývá seShefferův operátor. Je definován P |Q := ¬(P ∧Q) nebo následující tabulkou.

P Q P|Q0 0 10 1 11 0 11 1 0

22

Page 23: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Pomocí Shefferova operátoru můžeme modelovat např. negaci a konjunkci:

¬P |=| P |PP ∧Q |=| (P |Q)|(P |Q)

Z Větyupl16 teď plyne, že množina {|} je úplná.

Cvičení.

(1) Převeďte následující formule do tvaru CNF a DNF.

(a) ¬(P ⇔ Q),

(b) ((P ⇒ Q) ∧ ¬Q)⇒ P ,

(c) (P ⇔ ¬Q)⇔ R,

(d) P ⇒ (¬Q⇔ R),

(e) (¬P ∧ (¬Q⇔ P ))⇒ ((Q ∧ ¬P ) ∨ P ).

(2) Definujme binární spojku (P ↓ Q) |=| ¬(P ∨ Q). Ukažte, že množina {↓} jeúplná množina spojek.

(3) Ukažte, že {¬,→} je úplná množina spojek. Množiny {∨,∧,⇒,⇔} a {¬,⇔}nejsou úplné.

(4) Označíme symbolem \ novou logickou spojku definovanou

ν(\(PQR)) =

{1 mají-li alespoň dvě proměnné z P,Q,R ohodnocení 1,0 jinak.

Nalezněte tvar DNF formule ϕ = \(PQR).

Výsledky.

(1) (a) CNF: (P ∨Q) ∧ (¬P ∨ ¬Q); DNF: (P ∧ ¬Q) ∨ (¬P ∧Q).

(b) CNF i DNF je stejný, P ∨Q.

(c) CNF: (¬P ∨Q ∨R) ∧ (P ∨ ¬Q ∨R) ∧ (P ∨Q ∨ ¬R) ∧ (¬P ∨ ¬Q ∨ ¬R);DNF: (¬P ∧Q ∧R) ∨ (P ∧ ¬Q ∧R) ∨ (P ∧Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ ¬R).

(d) CNF: (¬P ∨¬Q∨¬R)∧ (¬P ∨Q∨R); DNF: ¬P ∨ (Q∧¬R)∨ (¬Q∧R).

(e) Formule je tautologie, P ∨ ¬P .

(2) Podle Větyupl16 stačí modelovat pomocí ↓ negaci a disjunkci: ¬P |=| P ↓ P ,

P ∨Q |=| (P ↓ Q) ↓ (P ↓ Q).

23

Page 24: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(3) Podle Větyupl16 stačí modelovat ∨ pomocí ¬,⇒: P ∨Q |=| ¬P ⇒ Q.

Pomocí spojek ∨,∧,⇒,⇔ nelze modelovat negaci. Uvažujme formule ϕ(P )proměnné P tvořené pouze spojkami z {∨,∧,⇒,⇔} Vlastnost každé takovéformule ϕ je, že je pravdivá, kdykoli ν(P ) = 1. (Rozmyslete!) Proto nemůžeplatit ϕ(P ) |=| ¬P .Podobně pomocí spojek ¬,⇔ nelze modelovat konjunkci (ani disjunkci). Uva-žujme formule ϕ(P,Q) proměnných P,Q tvořené pouze spojkami z {¬,⇔}Vlastnost každé takové formule ϕ je, že při záměně P,Q na ¬P,¬Q se pravdi-vostní hodnota ϕ nezmění, ν(ϕ(P,Q)) = ν(ϕ(¬P,¬Q)). (Rozmyslete!) Protonemůže platit ϕ(P,Q) |=| P ∧Q. (Jiný způsob důkazu může být, že výše uve-dené formule ϕ(P,Q) mají pravdivostní tabulku obsahující vždy sudý počet 1.Proto nemohou být ekvivalentní s P ∧Q.)

(4) ϕ |=| (P ∧Q ∧R) ∨ (¬P ∧Q ∧R) ∨ (P ∧ ¬Q ∧R) ∨ (P ∧Q ∧ ¬R).

Rezoluční metoda

V této části popíšeme metodu, jak rychle rozhodnout, je-li formule logickým důsled-kem nějaké zadané množiny formulí. K tomu využijeme Větu

splnit11, která nám logický

důsledek redukuje na splnitelnost množiny formulí.Problem splnitelnosti množiny formulí má velkou praktickou důležitost. Metoda

pravdivostní tabulky, vhodná pro formule s nízkým počtem proměnných, roste z hle-diska počtu operací exponenciálně s počtem proměnných. Např. při 100 proměnných,by tabulkovou metodu nezvládl ani nejvýkonější počítač.K popisu rezoluční metody potřebujeme několik nových termínů. Klauzule je

každá disjunkce literálů, θ1∨· · ·∨θn. S klauzulí jsme se už setkali (i když jsme tentotermín nepoužívali) ve tvaru CNF. Tvar CNF je vlastně konjunkcí klauzulí.Mějme klauzuli ψ = θ1 ∨ θ2 ∨ · · · ∨ θn. Můžeme ji rovněž psát ve tvaru

{θ1, θ2, . . . , θn},

kde čárka nahrazuje logickou spojku ∨. Tak se můžeme na klauzuli dívat jako namnožinu literálů ψ = {θ1, θ2, . . . , θn}. To nám umožní mluvit např. o sjednoceníklauzulí nebo množinovém rozdílu klauzulí či o prázdné klauzuli. Navíc tato konvenceeliminuje jak pořadí literálů, tak jejich opakování v klauzuli: θ1∨θ2∨θ1 je jednoduše{θ1, θ2}.

Definice 17. Řekneme, že klauzule ψ1 a ψ2 jsou v rezoluční relaci podle literálu θ,pokud jedna z nich obsahuje θ a druhá ¬θ.Mějme dvě klauzule ψ1 a ψ2 v rezoluční relaci podle θ, že θ ∈ ψ1 a ¬θ ∈ ψ2.

Rezolventa klauzulí ψ1 a ψ2 podle θ je nová klauzule označená

Rθ(ψ1, ψ2) =(ψ1 \ {θ}

)∪

(ψ2 \ {¬θ}

).

Dvě klauzule ψ1 = {P1, Q,R} a ψ2 = {¬Q,R,R1,¬Q2} jsou v rezoluční relacipodle Q. Jejich rezolventa vznikne tak, že z první odebereme Q, ze druhé ¬Q a

24

Page 25: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

zbytky sjednotíme:RQ(ψ1, ψ2) = {P1, R,R1,¬Q2}.

Klauzule mohou být v rezoluční relaci i podle více než jednoho literálu. Např. klau-zule ψ3 = {P1, Q,¬R} je s klauzulí ψ2 v rezoluční relaci podle Q i podle R. Můžemevytvořit rezolventy podle každého z literálů Q a R:

RQ(ψ3, ψ2) = {P1,¬R,R,R1,¬Q2}, RR(ψ3, ψ2) = {P1, Q,¬Q,R1,¬Q2}.

Pokud nastane případ, že dvojice klauzulí je {P} a {¬P}, pak rezolventa podle P jeprázná klauzule, RP (P,¬P ) = ∅. Prázdná klauzule není splnitelná. (Pozor, prázdnámnožina klauzulí splnitelná je!)Nyní popíšeme postup, jak zjistit zda {ϕ1, . . . , ϕm} |= ϕ pomocí tzv. rezoluční

metody. Podle Větysplnit11 stačí testovat splnitelnost množiny {ϕ1, . . . , ϕm,¬ϕ}.

Algoritmus rezoluční metody.

1. Všechny formule v množině {ϕ1, . . . , ϕm,¬ϕ} přepíšeme do CNF a vytvořímemnožinu Σ = {ψ1, ψ2, . . . , ψn} klauzulí.

2. Redukce počtu klauzulí:

(a) Klauzule, které jsou tautologiemi, vynecháme.

(b) Obsahuje-li nějaká klauzule ψ′ jinou klauzuli ψ, ψ ⊂ ψ′, klauzuli ψ′ vy-necháme.

(c) Obsahuje-li klauzule ψ takový literál θ, že opačný literál ¬θ se ve zbylýchklauzulích nevyskytuje, klauzuli ψ vynecháme.

3. Zvolíme si literál θ, podle kterého lze vytvářet rezolventy a k množině Σ při-dáme všechny možné rezolventy podle θ.

4. Odebereme všechny klauzule obsahující θ nebo ¬θ, výslednou množinu ozna-číme jako Σ a vracíme se do bodu 2.

Celý proces končí vždy v bodě 3. Buď tam jako výstup celého algoritmu vznikneprázdná klauzule, což je nesplnitelná množina. V tom případě je i původní množinaΣ nesplnitelná, a tedy {ϕ1, . . . , ϕm} |= ϕ. Nebo už nebude existovat žádný literál,podle kterého lze dále vytvářet rezolventy. To znamená, že výstupem je splnitelnámnožina. Tím také Σ je splnitelná a {ϕ1, . . . , ϕm} 6|= ϕ.

Příklad. Pomocí rezoluční metody zjistěte, zda Q∨S je logickým důsledkem mno-žiny {P ∨Q, R⇒ S, ¬P ∨ S, ¬Q ∨R}.Krok 1. Nejprve převedeme všechny formule v množině do tvaru CNF. Kromě

R ⇒ S už ostatní formule v požadovanám tvaru jsou, takže s využitím pravidla oeliminaci implikace píšeme

R⇒ S |=| ¬R ∨ S.

25

Page 26: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Zbývá k těmto formulím přidat negaci testovaného důsledku:

¬(Q ∨ S) |=| ¬Q ∧ ¬S.

Problem jsme redukovali na zjišťování splnitelnosti či nesplnitelnosti množiny klau-zulí Σ = {P ∨Q, ¬R ∨ S, ¬P ∨ S, ¬Q ∨R, ¬Q, ¬S}.Krok 2. Klauzule ¬Q ∨ R obsahuje klauzuli ¬Q. Proto klauzuli ¬Q ∨ R vyne-

cháme. Máme teď množinu

Σ = {P ∨Q,¬R ∨ S,¬P ∨ S,¬Q,¬S}.

V ní se vyskytuje literál ¬R bez svého protějšku R. Proto vypustíme i klauzuli¬R ∨ S. Do 3. kroku algoritmu vstupujeme s množinou

Σ = {P ∨Q,¬P ∨ S,¬Q,¬S}.

Další kroky jsou zachyceny v následující tabulce, kterou si vysvětlíme.

S P Q

P ∨Q 1¬P ∨ S 1

¬Q 0¬S 0

¬P 0Q 1

Na počátku vyplníme první sloupec tabulky zadanými klauzulemi.Krok 3. Zvolíme proměnnou, podle které budeme vytvářet rezolventy. Zde jsme

se rozhodli pro S. (Pro tuto volbu nebyl žádný zvláštní důvod, mohli jsme zvolitjakoukoli proměnnou P , Q, S.) Zvolenou proměnnou S napíšeme do druhého sloupcenahoru. V tomto sloupci vyznačíme symbolem 1 řádky s formulí obsahující S, asymbolem 0 řádky, kde je formule obsahující ¬S. Pak vytvoříme všechny rezolventypodle S, tj. všechny kombinace řádků s 0 a 1. Zde nám přibyla jedna rezolventa ¬Ppřipsaná dolů do druhého sloupce.Krok 4. Z dalšího postupu (už navždy) vyloučíme všechny formule mající na

svém řádku vepsaný symbol 0 nebo 1.Množina klauzulí vzniklá po Kroku 4 je {P ∨ Q,¬Q,¬P}. S ní se vracíme do

Kroku 2. Žádná redukce teď k dispozici není, proto přistupujeme ke Kroku 3.Krok 3. Zvolili jsme proměnnou P pro vytváření rezolvent a napsali ji do třetího

sloupce. Vyznačíme řádky, kde je formule obsahující P nebo ¬P symbolem 1 nebo 0a vytvoříme všechny množné rezolventy. Zde přibyla pouze jediná rezolventa Q,která je dopsaná do třetího sloupce dolu. Krok 4 teď redukuje množinu klauzulí na{¬Q,Q}. V této chvíli už vidíme, že další rezolventa bude prázdná klauzule, zadanámnožina je tak nesplitelná a Q∨S je logickým důsledkem. V tabulce je pro úplnostčtvrtý sloupec doplněn.

26

Page 27: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Příklad. Zjistíme, zde formule ¬(P ∨ (¬Q ⇒ ¬R)

)je logický důsledek množiny

{S ∨ (¬Q⇒ R), ¬(S ∧ ¬T ), (¬S ∧ P )⇒ Q, ¬T ∨R, ¬T ⇒ ¬(Q ∧R)}.Krok 1. Formule převedeme do tvaru CNF. (Kromě třetí formule, ta už ve tvaru

CNF je.)

S ∨ (¬Q⇒ R) |=| S ∨Q ∨R,¬(S ∧ ¬T ) |=| ¬S ∨ T,

(¬S ∧ P )⇒ Q |=| S ∨ ¬P ∨Q,¬T ⇒ ¬(Q ∧R) |=| T ∨ ¬Q ∨ ¬R.

Zbývá převést negaci testovaného důsledku:

P ∨ (¬Q⇒ ¬R) |=| P ∨Q ∨ ¬R.

Úlohu jsme převedli na otázku, zda je či není splnitelná množina

Σ = {S ∨Q ∨R, ¬S ∨ T, S ∨ ¬P ∨Q, ¬T ∨R, T ∨ ¬Q ∨ ¬R, P ∨Q ∨ ¬R}.

Krok 2. Zde k žádné redukci nedochází. Přepíšeme si formule do tabulky azačneme Krok 3.Krok 3. Budeme vytvářet rezolventy např. podle T . Ve sloupci s označením T

máme symbolem 1 označeny řádky, kde se vyskytuje T a symbolem 0 řádky s výsky-tem ¬T . Rezolventa z formulí ve 2. a 4. řádku je ¬S∨R. Tu zapíšeme dolů do druhéhosloupce. Rezolventa formulí ve 4. a 5. řádku je tautologie, kterou vynecháme.

T

S ∨Q ∨R x¬S ∨ T 1

S ∨ ¬P ∨Q x¬T ∨R 0

T ∨ ¬Q ∨ ¬R 1P ∨Q ∨ ¬R x

¬S ∨R

Krok 4. Po odebrání klauzulí obsahujících T nebo ¬T zbývá množina

Σ = {S ∨Q ∨R, S ∨ ¬P ∨Q, P ∨Q ∨ ¬R, ¬S ∨R},

se kterou se vracíme do Kroku 2.Krok 2. Všimneme si, že literál Q se zde vyskytuje bez protějšku ¬Q. Formule

obsahující Q můžeme vynechat. V tabulce jsou označené x. Zbyla jediná formule¬S ∨R, která je splnitelná. Proto ¬

(P ∨ (¬Q⇒ ¬R)

)není logický důsledek zadané

množiny formulí.

Někdy v průběhu rezoluční metody k vytváření rezolvent vůbec nedojde. To kdyžse množina klauzulí při Kroku 2 zredukuje na prázdnou množinu.

27

Page 28: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Příklad. Pomocí rezoluční metody zjistěte, zda P ⇒ (¬Q∨R) je logickým důsled-kem množiny {(R ∧ T )⇒ S, S ⇒ (P ⇔ Q), (P ∨R)⇒ S}.Převedeme všechny formule v množině do tvaru CNF a nakonec přidáme negaci

testovaného závěru.

(R ∧ T )⇒ S |=| ¬R ∨ ¬T ∨ S.S ⇒ (P ⇔ Q) |=| ¬S ∨ (P ⇔ Q)

|=| ¬S ∨((P ⇒ Q) ∧ (Q⇒ P )

)|=| ¬S ∨

((¬P ∨Q) ∧ (¬Q ∨ P )

)|=| (¬S ∨ ¬P ∨Q) ∧ (¬S ∨ ¬Q ∨ P ).

(P ∨R)⇒ S |=| (¬P ∧ ¬R) ∨ S|=| (¬P ∨ S) ∧ (¬R ∨ S).

¬(P ⇒ (¬Q ∨R)

)|=| ¬(¬P ∨ ¬Q ∨R)|=| P ∧Q ∧ ¬R.

Vzniklé klauzule napíšeme do prvního sloupce tabulky a začneme s redukcí podleKroku 2.

¬R ∨ ¬T ∨ S x¬S ∨ ¬P ∨Q x¬S ∨ ¬Q ∨ P x

¬P ∨ S x¬R ∨ S x

PQ

¬R x

Klauzule ¬R z posledního řádku je obsažena v klauzulích na 1. a 5. řádku. Tytoklauzule vynecháme (naznačeno symbolem x v prvním sloupci). Klauzule Q v před-posledním řádku je obsažena v klauzuli na 2. řádku. Rovněž P je částí klauzule na3. řádku. Proto klauzule z 2. a 3. řádku také vypouštíme. Po této redukci zbylyčtyři klauzule (nemají x v prvním sloupci). V nich se literál S vyskytuje bez svéhoprotějšku ¬S. Klauzuli ze 4. řádku vypouštíme (naznačeno symbolem x ve druhémsloupci). Zůstala množina {P,Q,¬R}. Ta je zjevně splnitelná. Můžeme však pokra-čovat v redukci podle bodu 2 (c) algoritmu a vynechat i klauzule P,Q,¬R. Zbydeprázdná množina, která je vždy splnitelná. Proto P ⇒ (¬Q ∨ R) není důsledkemzadané množiny formulí.

Podívejme se ještě jednou na algoritmus rezoluční metody. Kroky 2−4 modifikujívstupní množinu klauzulí tak, že k ní přidají všechny rezolventy podle zvolenéholiterálu θ a následně odstraní všechny klauzule obsahující θ nebo ¬θ. Abychommohli algoritmus prohlásit za korektní, musíme ověřit, že vstupní a výstupní (tj.modifikovaná) množina klauzulí jsou ekvivalentní z hlediska splnitelnosti. Ověřeníkorektnosti je v následující větě.

28

Page 29: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

rez Věta 18. Mějme množinu klauzulí Σ = {ψ1, ψ2, . . . , ψn} a literál θ. Označíme simnožinu

Σ0 := {ψ ∈ Σ | ψ obsahuje θ nebo ¬θ}.Pak Σ je splnitelná právě, když je splnitelná množina

Σ̃ := Σ ∪ {Rθ(ψi, ψj) | ψi, ψj jsou v rezoluční relaci podle θ} \ Σ0.

Důkaz. Tvrzení je ve tvaru ekvivalence, musíme tak dokázat dvě implikace.Předpokládejme, že Σ je splnitelná, tj. existuje pravdivostní ohodnocení ν, ve

kterém jsou všechny klauzule v Σ pravdivé. V prvním kroku ukážeme, že v tomtoohodnocení jsou pravdivé i všechny rezolventy podle θ.Mějme klauzule ψi, ψj ∈ Σ, které jsou v rezoluční relaci podle θ: θ ∈ ψi a ¬θ ∈ ψj .

Je-li ν(θ) = 1, pak nutněν(ψj \ {¬θ}

)= 1,

neboť celá klauzule ψj je pravdivá v ohodnocení ν. Tím ovšem je pravdivá i každáklauzule obsahující ψj , specielně rezolventa. Je-li naopak ν(θ) = 0, musí být pravdiváklauzule ψi \ {θ}, a tedy i rezolventa. Všechny rezolventy přidané k množině Σ jsoutak v ohodnocení ν pravdivé. To znamená, že množina

Σ ∪ {Rθ(ψi, ψj) | ψi, ψj jsou v rezoluční relaci podle θ}

je splnitelná. Tím je splnitelná i každá její podmnožina, specielně Σ̃.Pro důkaz opačné implikace předpokládejme, že množina

Σ̃ = Σ ∪ {Rθ(ψi, ψj) | ψi, ψj jsou v rezoluční relaci podle θ} \ Σ0

je splnitelná pomocí pravdivostního ohodnocení ν. Je důležité si všimnout, že žádnáklauzule v této množině neobsahuje θ ani ¬θ. Naším plánem je rozšířit ohodnocení νi na literál θ tak, aby se všechny klauzule v množině Σ0 staly pravdivými.Podívejme se na množinu těch klauzulí ψ ∈ Σ0, které obsahují literál θ, ale

neobsahují ¬θ. Jestli pro všechny takové klauzule platí, že ν(ψ \ {θ}) = 1, položímeν(θ) = 0. Tato volba zaručuje, že všechny klauzule v Σ0 jsou interpretovány jakopravdivé.Zbývá možnost, že existuje nějaká klauzule ψi ∈ Σ0 obsahující θ a přitom

ν(ψi \ {θ}

)= 0. V tom případě položíme ν(θ) = 1. Jak to vypadá nyní s pravdi-

vostními hodnotami ostatních klauzulí v množině Σ0? Obsahuje-li klauzule literál θ,je zřejmě pravdivá. V opačném případě máme klauzuli ψj ∈ Σ0, která obsahuje ¬θ(a neobsahuje θ). Z předpokladu víme, že rezolventa Rθ(ψi, ψj) je pravdivá v ohod-nocení ν, tj. je pravdivá klauzule(

ψi \ {θ})∪

(ψj \ {¬θ}

).

Protože první část pravdivá není, musí být pravdivá druhá. To však znamená, žeje pravdivá i celá klauzule ψj . Ukázali jsme, že ohodnocení ν lze vždy rozšířit naliterál θ tak, aby v množině Σ0 byly všechny klauzule pravdivé.Protože Σ = (Σ\Σ0)∪Σ0, můžeme důkaz uzavřít: První množina Σ\Σ0 obsahuje

klauzule pravdivé v ohodnocení ν podle předpokladu a o druhé množině Σ0 jsme toprávě ukázali. �

29

Page 30: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Cvičení.

(1) Rozhodněte pomocí rezoluční metody, zda platí

(a){(P ⇒ Q)⇒ R, (P ∧R)⇔ S, Q∨¬S ∨T, T ⇒ (S ∧Q∧R)

}|= ¬T ∨S.

(b) {P ⇒ (Q ∧R), (P ∨ S)⇔ T, Q ∨ ¬R ∨ S, Q⇒ S} |= ¬Q ∧R.(c)

{(P ⇒ Q)⇒ (R⇒ S), (Q⇒ R)⇒ (S ⇒ P )

}|= (R⇒ (P ∨ S)) ∧ ((Q ∧R)⇒ S)).

(d) {(R ∧ T )⇒ S, S ⇒ (P ⇔ Q), T ∨ ¬S, (P ∨ S ∨R)⇒ S}|= (P ∧ ¬Q)⇒ R.

(e){P ⇒ ¬(R ∨Q), (Q ∧ S)⇒ ¬P, ¬S ∨R, R⇔ ¬(P ∧ S)

}|= R⇒ S.

Výsledky.

(1) (a) Převodem do CNF vznikne množina klauzulí

P ∨R, ¬Q ∨R, ¬P ∨ ¬R ∨ S, P ∨ ¬S, R ∨ ¬S, Q ∨ ¬S ∨ T,S ∨ ¬T, Q ∨ ¬T, R ∨ ¬T, T, ¬S,

která není splnitelná. ¬T ∨ S je důsledekem.(b) Převodem do CNF vznikne množina klauzulí

¬P ∨Q, ¬P ∨R, ¬P ∨ T, P ∨ ¬S, T ∨ ¬S, P ∨ S ∨ ¬T,Q ∨ ¬R ∨ S, ¬Q ∨ S, Q ∨ ¬R,

která je splnitelná. ¬Q ∧R není důsledekem.(c) Převodem do CNF vznikne množina klauzulí

P ∨R, P ∨ ¬S, ¬Q ∨R, ¬Q ∨ ¬S, Q ∨ S, ¬P ∨Q, ¬R ∨ S, ¬P ∨ ¬R,R ∨Q, R, R ∨ ¬S, ¬P ∨ ¬Q, ¬P ∨R, ¬P ∨ ¬S, Q ∨ ¬S, R¬S, ¬S,

která není splnitelná. (R⇒ (P ∨ S)) ∧ ((Q ∧R)⇒ S)) je důsledekem.

(d) Převodem do CNF vznikne množina klauzulí

¬S ∨ ¬R ∨ ¬T, ¬P ∨Q ∨ ¬S, P ∨ ¬Q ∨ ¬S, ¬S ∨ T,¬P ∨ S, ¬R ∨ S, S ∨ ¬S, ¬P ∨Q ∨R,

která je splnitelná. (P ∧ ¬Q)⇒ R není důsledekem.

(e) Převodem do CNF vznikne množina klauzulí

¬P ∨ ¬R, ¬P ∨ ¬Q, ¬P ∨ ¬Q ∨ ¬S, ¬P ∨ ¬R ∨ ¬S,P ∨R, R ∨ S, R, ¬S,

která je splnitelná. R⇒ S není důsledekem.

30

Page 31: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

Nahlédnutí do predikátovélogiky.

Abeceda a syntaxe

V této části se podíváme na rozšíření výrokové logiky, na tzv. predikátovou logiku,někdy také nazývanou logika prvního řádu.Výroková logika, i když má zcela základní důležitost, přece jen postrádá větší

výrazovou a formulační schopnost potřebnou nejen v matematice. Podívejme se na-příklad na výrok

„Za každým úspěšným mužem stojí ambiciózní žena.ÿ

Výroková logika by poskytla pouze jeho pravdivostní hodnotu. Nás však teď neza-jímá pravdivostní hodnota, ale vnitřní struktura výroku. Řekneme jej v trochu jinéformě:

„Je-li někdo úspěšným mužem, pak za ním stojí ambiciózní žena.ÿ

Teď je jasné, že má tvar implikace. Můžeme v přeformulaci pokročit ještě dále dotvaru, který není příliš elegantní, nicméně více odhaluje logickou strukturu.

„Je-li x úspěšný muž, pak existuje ambiciózní žena y, stojící za mužem x.ÿ

Kromě objektů označených proměnnými x, y se zde vyskytují i jejich vlastnosti: „býtmužemÿ, „být ženouÿ, „být úspěšnýÿ a „být ambiciózníÿ. Dokonce zde objevíme irelaci mezi x, y, a to „objekt y stojí za objektem xÿ. Označíme si tyto vlastnosti:

M(x) · · · x je muž,Z(x) · · · x je žena,U(x) · · · x je úspěšný,A(x) · · · x je ambiciózní,

S(y, x) · · · y stojí za x.

S tímto označením můžeme udělat další krok ve formalizaci.

„Kdykoli x splňuje M(x) a U(x), pak existuje y, že Z(y), A(y) a S(y, x).ÿ

31

Page 32: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Zbývá nahradit slova „kdykoliÿ a „existujeÿ. K tomu slouží tzv. kvantifikátory,obecný ∀ a existenční ∃. První znamená „pro každýÿ nebo „pro jakýkoliÿ, druhýpak „existujeÿ. Teď už jsme schopni přepsat původní výrok v čistě formálním tvaru:

∀x(M(x) ∧ U(x)⇒ ∃y Z(y) ∧A(y) ∧ S(y, x)

).

Vlastnosti přiřazené objektům se nazývají predikáty. To je nový pojem, kterývýroková logika nemá. Kromě predikátů je abeceda predikátové logiky rozšířena odalší složky.

abepre Definice 19. Abeceda predikátové logiky je tvořena symboly uvedenými v následujícítabulce.

Symbol Název Význam

(, ) závorky¬,∧,∨,⇒,⇔ logické spojky

∃ existenční kvantifikátor existuje . . .∀ obecný kvantifikátor pro všechny .. .

x, y, z, . . . proměnné proměnnéa, b, c, . . . konstanty individuální objektyf, g, h, . . . funkční symboly objektyF,G,H, . . . predikáty vlastnosti objektů

Podíváme se na nové prvky abecedy podrobněji. Význam kvantifikátorů je jasnýz tabulky. Obecný kvantifikátor se často reprezentuje i frázemi „každýÿ, „jakýkoliÿnebo „kdykoliÿ. Existenční kvantifikátor může mít kromě významu „existujeÿ i in-terpretaci „nějakýÿ nebo „pro nějakýÿ.Proměnné zastupují jednotlivé objekty. Můžeme je indexovat, např. x1, x2, . . . ,

takže jich je v principu nekonečně mnoho. Je možné také předem specifikovat, vjaké množině proměnné uvažujeme. Tato množina se pak nazývá univerzum. Např.řekneme-li, že univerzum je množina R reálných čísel, pak všechny proměnné bu-dou reálná čísla. Řekneme-li, že univerzum je množina všech lidí, pak proměnnéx, y, z, . . . budou označovat lidi. Univerzum je definiční obor kvantifikátorů. Není-liuniverzum předem určené, pak je tvořeno všemi objekty.Některé prvky v univerzu můžeme odlišit od ostatních tím, že jim dáme specifická

jména. Takové objekty se nazývají konstanty. V případě univerza R to mohou býtčísla 0, π, e atd. Je-li univerzum množina lidí, pak konstanty mohou být např. a =Julius Caesear nebo b = Ema Destinová apod.V matematice se pracuje s funkcemi. V predikátové logice se nazývají funkční

symboly. Funkční symbol f o n proměnných je zobrazení

f : Un −→ U ,

kde U je univerzum. Máme-li zvoleno U = R, pak funkční symboly jsou např.

f(x) = x2, g(x, y) = x+ y, h(x1, . . . , xn) =√x21 + · · ·+ x2n, atd.

32

Page 33: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Je-li U = {lidé}, pak f(x) může označovat otce člověka x, g(x, y, z) nejchytřejšího zosob x, y, z apod.O významu predikátů jsme se zmínili v souvislosti s úvodním příkladem. Setkali

jsme se s predikátyM , Z, U a A jedné proměnné a predikátem S dvou proměnných.Obecně ke každému predikátu a funkčnímu symbolu je přiřazeno číslo n, tzv. arita.Udává, na kolika proměnných příslušný symbol závisí. V případě n = 1 a n = 2užíváme názvy „unárníÿ a „binárníÿ. Na n-ární predikát F také můžeme pohlížetjako na zobrazení,

F : Un −→ {výroky}.Z toho je patrný základní rozdíl mezi funkčním symbolem a predikátem. Hodnotafunkčního symbolu je vždy prvek univerza (tj. objekt), zatímco hodnota predikátuje výrok.

Příklad. Označme při univerzu U = {lidé} následující konstantu, funkční symbol apredikát:

a = Rembrandt, f(x) = otec člověka x, F (x) ... x je otcem.

Pak f(a) je Rembrandtův otec a f(f(a)) Rembrandtův děd z otcovy strany. F (a) jevýrok „Rembrandt je otcemÿ a složení F (f(a)) výrok „Rembrandtův otec je otcemÿ.Složení v opačném pořadí f(F (a)) nemá smysl, neboť by označovalo člověka, kterýje otcem výroku F (a). Stejně nesmyslné je F (F (a)).

Poučení z předešlého příkladu je, že predikáty nelze dosazovat do jiných predi-kátů nebo do funkčních symbolů. Uvedeme si nyní přesná syntaktická pravidla prosestavování správných formulí predikátové logiky.

Definice 20. Term je buď proměnná nebo konstanta nebo f(t1, . . . , tn), kde f jen-ární funkční symbol a t1, . . . , tn jsou termy.

Term je ekvivalentní tomu, co jsme dříve nazývali objekt. Můžeme si povšimnout,že definice má podobnou induktivní strukturu jako Definice

syntax2 formule ve výrokové

logice. Proměnné a konstanty bychom mohli nazývat termy nultého řádu. Termyprvního řádu se sestávají z termů nultého řádu spolu s výrazy vzniklými dosazenímtermů nultého řádu do funkčních symbolů. A tak postupujeme dále k termům vyššíchřádů.Následující krok je definice atomické formule. Atomická formule hraje v predi-

kátové logice stejnou roli jako hraje výroková proměnná ve výrokové logice.

Definice 21. Mějme n ≥ 0, termy t1, . . . , tn (ne nutně různé) a n-ární predikát F .Pak

F (t1, . . . , tn)

je atomická formule.

Protože jsme dovolili, aby počet termů v predikátu F byl i n = 0, dostali jsme vtomto krajním případě vlastně výrokovou proměnnou. Z tohoto nadhledu můžemevýrokové proměnné považovat za atomické formule vzniklé z 0-árního predikátu.Nyní jsme připraveni definovat formuli v prediktové logice.

33

Page 34: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

synpre Definice 22. Formule predikátové logiky splňuje jeden z následujících požadavků:

(i) Atomická formule je formule.

(ii) Jsou-li ϕ a ψ formule, pak (¬ϕ), (ϕ ∧ ψ), (ϕ ∨ ψ), (ϕ ⇒ ψ) a (ϕ ⇔ ψ) jsouformule.

(iii) Je-li ϕ formule a x proměnná, pak ∀xϕ a ∃xϕ jsou formule.

Stejně jako ve výrokové logice učiníme i zde úmluvu, která zabrání nadužívání zá-vorek. Vnější závorky psát nebudeme. K preferencím vazeb mezi logickými spojkamipřidáme navíc, že kvantifikátory váží silněji než všechny ostatní logické spojky.Poslední poznámka se týká znaménka rovnosti, =. Nepatří do abecedy prediká-

tové logiky jak je zavedena v Definiciabepre19. Abychom mohli rovnost užívat měli bychom

si označit speciální predikát např.

I(x, y) . . . x a y jsou totožné.

Všude pak místo x = y psát I(x, y). Je to jednak nepohodlné a jednak rovnítko jenatolik zažitý symbol, že si ho k abecedě predikátového logiky jednoduše přidáme abudeme ho bez obav užívat.

Cvičení.

(1) Který z následujících výrazů jsou formule predikátové logiky?

(a) ∀x F (a, x),(b) ¬

(∃y G(y)⇒ G(b)

),

(c) F ∧ (x)G(x),(d) ∃x∃x H(x, x),(e) G(a) ∧ ∀a H(a), a je konstanta,(f) ∀x∀y∃x (F (x, z)⇒ H(y)),

(g) ∃F F (x, y),

(h) ∃z∀x h(x, z), kde h(x, z) je funkční symbol.

Výsledky.

(1) (a) Je formule, jde o atomickou fomuli F (x, a) s kvantifikátorem.

(b) Je formule, jde o negaci kvantifikované formule G(y)⇒ G(b).

(c) Není formule, výraz (x) nemohl vzniknout povolenými operacemi.

(d) Je formule, i když zopakovaní ∃x nemá příliš smysl, nicméně neporušujepravidla Definice

synpre22.

(e) Není formule, kvantifikovat přes konstanty není povoleno.

(f) Je formule, formule (F (x, z)⇒ H(y)) je třikrát kvantifikovaná.

(g) Není formule, nelze kvantifikovat přes predikáty.

(h) Není formule, neboť h(x, z) není atomická formule.

34

Page 35: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

Formalizace výroků

I v predikátové logice existuje analogie de Morganových pravidel, zde se týká záměnynegace a kvantifikátoru. Je-li ϕ formule, pak

¬(∀x ϕ) je to samé jako ∃x ¬ϕ.

Analogicky,¬(∃x ϕ) je to samé jako ∀x ¬ϕ.

Následuje-li několik kvantifikátorů za sebou, uvedená pravidla aplikujeme opako-vaně. Např.

¬(∀x∀y∃z ϕ

)je to samé jako ∃x∃y∀z ¬ϕ.

Podívejme se nyní nakolik je důležité pořadí kvantifikátorů ve formuli. Jedná-lio kvantifikátory stejného typu, lze pořadí libovolně měnit.

∀x∀y F (x, y) je to samé jako ∀y∀x F (x, y).

Analogicky,∃x∃y F (x, y) je to samé jako ∃y∃x F (x, y).

V případě různých kvantifikátorů je situace naprosto odlišná. Kromě kvantifikátorůlze totiž zaměnit i proměnné. Tím vzniknou čtyři možné kombinace a každá z nichmá obecně jiný význam. Jako ilustrace poslouží následující příklad.

Příklad. Mějme univerzum U = {lidé} a predikát O(x, y) s významem „x oklamalyÿ. Vypíšeme si všechny čtyři varianty pořadí a k nim jejich významy.

∀x∃y O(x, y) Každý někoho oklamal.∀y∃x O(x, y) Každého někdo oklamal.∃x∀y O(x, y) Někdo oklamal všechny.∃y∀x O(x, y) Někoho oklamali všichni.

Přesný význam kvantifikátoru ∃ je „existuje alespoň jedenÿ. Často je třeba kvan-tifikovat také formulace „existuje právě jedenÿ nebo „existuje nejvýše jedenÿ. Uká-žeme si jakou formalizaci mají taková slovní spojení. Označme si predikátem V (x)nějakou obecnou vlastnost objektu x. Výrok „Existuje alespoň jeden objekt s vlast-ností V ÿ má jednoduchou formalizaci,

∃x V (x).

O něco složitější je „Existuje nejvýše jeden objekt s vlastností V ÿ. Znamená to, žebuď neexistuje žádný objekt s vlastností V nebo existuje právě jeden objekt s vlast-ností V . Nejefektivnější způsob formalizace spočívá v tom, že vyloučíme existencidvou různých objektů s vlastností V :

∀x∀y V (x) ∧ V (y)⇒ (x = y).

35

Page 36: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

A konečně „Existuje právě jeden objekt s vlastností V ÿ je spojení obou výše uvede-ných výroků: (

∃x V (x))∧

(∀x∀y V (x) ∧ V (y)⇒ (x = y)

).

Cvičení.

(1) Formalizujte následující výroky.

(a) Každá věc je totožná sama se sebou.

(b) Nic se neliší od všeho.

(c) Všechno je s něčím totožné.

(d) Jsou-li dvě věci totožné s třetí věcí, jsou všechny tři věci identické.

(e) Všechny věci jsou totožné sami se sebou právě, když žádná věc se neod-lišuje sama od sebe.

(f) Existují právě dva objekty.

(2) Pomocí predikátu Z(x, y): „x zná yÿ formalizujete v univerzu U = {lidé}následující výroky.

(a) Každý někoho zná.

(b) Někdo zná všechny.

(c) Všichni znají jednoho.

(d) Každý zná někoho, kdo ho nezná.

(e) Někdo zná všechny, kteří ho znají.

(f) Existuje-li někdo, kdo nezná sám sebe, pak ho znají všichni ostatní.

(3) Pomocí uvedených predikátů a funkčních symbolů formalizujte následující vý-roky.

(a) Alespoň dva lidé vynalezli parní stroj. (C(x): x je člověk, V (x, y): x vy-nalezl y, a = parní stroj.)

(b) Nejvýše dva lidé vynalezli parní stroj. (C(x): x je člověk, V (x, y): x vy-nalezl y, a = parní stroj.)

(c) Nikdo kromě Dostojevského nenapsal „Zločin a trestÿ. (C(x): x je člověk,N(x, y): x napsal y, a = Dostojevskij, b = Zločin a trest.)

(d) Nejnadanější fyzik je Einstein. (F (x): x je fyzik, N(x, y): x je nadanějšínež y, e = Einstein.)

(4) Pomocí uvedených predikátů formalizujte následující výroky.

(a) Existuje věc ležící mezi libovolnými jinými věcmi. (M(x, z, y): x leží meziy a z.)

(b) Mezi každými dvěma věcmi leží opět jedna věc. (M(x, z, y): x leží mezi ya z.)

36

Page 37: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(c) Mezi každými dvěma věcmi leží právě jedna věc. (M(x, z, y): x leží meziy a z.)

(d) Někdo má všechno štestí. (C(x): x je člověk, M(x, y): x má y, K(x): x jekousek štěstí.)

(e) V jisté době na žádném místě nikdo nežil. (D(x): x je doba, M(x): x jemísto, C(x): x je člověk, Z(x, y, z): x žil v y během z.)

(f) Někoho lze klamat stále, všechny lze klamat po jistou dobu, ale nelzevšechny klamat stále. (D(x): x je doba, C(x): x je člověk, K(x, y, z): xklame y během z.)

(5) Pomocí uvedených predikátů a funkčních symbolů formalizujte následující vý-roky.

(a) Nejvýše jeden člověk si koupí obraz od Raffaela, pokud je vůbec nějakýRaffaelův obraz na prodej. (C(x): x je člověk, R(x): x je Rafaelův obraz,P (x): x je na prodej, K(x, y): x si koupí y.)

(b) Kromě Bacha a Vivaldiho existuje právě jediný další barokní skladatel.(b = J. S. Bach, v = A. Vivaldi, B(x): x je barokní skladatel.)

(c) Kardinál Borgia bude papežem, bude-li volit sám sebe a budou-li ho volitalespoň dva další kardinálové. (b = Alexander Borgia,K(x): x je kardinál,P (x): x je papež, V (x, y): x volí y.)

(d) Portrétoval-li vůbec někdo císaře Maxmiliána, pak to mohl být právějediný z dvojice Tizian nebo Veronese. (m = císař Maxmilián II, t =Tizian, v = Veronese, P (x, y): x namaloval portrét y.)

(e) Až na dva, žádný jiný návštěvník nepřišel pozdě. (N(x): x je návštěvník,P (x): x přišel pozdě.)

Výsledky.

(1) (a) ∀x (x = x).(b) ∀x∃y (x = y).(c) Stejné jako (b).

(d) ∀x∀y∀z (x = z) ∧ (y = z)⇒((x = y) ∧ (y = z) ∧ (z = x)

).

(e) ∀x (x = x)⇔ ¬(∃y ¬(y = y)

), tj. ∀x (x = x)⇔ ∀y (y = y).

(f) ∃x∃y(¬(x = y) ∧ ∀z (z = x) ∨ (z = y)

).

(2) (a) ∀x∃y Z(x, y).(b) ∃x∀y Z(x, y).(c) ∃x∀y Z(y, x).(d) ∀x∃y Z(x, y) ∧ ¬Z(z, x).(e) ∃x∀y (¬Z(y, x)⇒ Z(x, y)).

37

Page 38: Výroková logika. - K301math.feld.cvut.cz/tiser/PropCalcul.pdf · Výroková logika. Pokud bychom měli definovat pojem logika, asi bychom nejvýstižněji mohli říci, že je

J. TIŠER: VÝROKOVÁ LOGIKA

(f) ∀x (¬Z(x, x)⇒ ∀y Z(y, x)).

(3) (a) ∃x∃y C(x) ∧ C(y) ∧ V (x, a) ∧ V (y, a) ∧ ¬(x = y).(b) ∀x∀y∀z C(x) ∧ C(y) ∧ C(z) ∧ V (x, a) ∧ V (y, a) ∧ V (z, a)⇒

(x = y) ∨ (y = z) ∨ (z = x).(c) ∀x C(x) ∧N(x, b)⇒ (x = a).(d) ∀x F (x)⇒ N(e, x).

(4) (a) ∃x∀y∀ M(x, y, z).(b) ∀x∀y∃z M(z, x, y).(c) ∀x∀y

(∃z M(z, x, y) ∧ ∀w M(w, x.y)⇒ (z = w)

).

(d) ∃x C(x) ∧(∀y K(y)⇒M(x, y)

).

(e) ∃x D(x) ∧(∀y∀z C(y) ∧M(z)⇒ ¬Z(y, z, x).

(f)(∃x∀y∃z C(x) ∧D(y) ∧ C(z) ∧K(z, x, y)

)∧(

∃x D(x) ∧(∀y∃z C(y) ∧ C(z) ∧K(z, y, x)

))∧

¬(∀x∀y∃z D(x) ∧ C(y) ∧ C(z) ∧K(z, y, x)

).

(5) (a) ∀x(R(x) ∧ P (x)⇒

(∀y∀z C(y) ∧ C(z) ∧K(y, x) ∧K(z, x)⇒ (y = z)

)).

(b) B(b) ∧B(v) ∧ ∃x(B(x) ∧ ¬(x = b) ∧ ¬(x = v)∧(

∀y B(y)⇒ (y = b) ∨ (y = v) ∨ (y = x))).

(c)(V (b, b) ∧ ∀x∀y K(x) ∧K(y) ∧ V (x, b) ∧ V (y, b) ∧ ¬(x = y)

)⇒ P (b).

(d) ∀x P (x,m)⇒((x = t) ∧ ¬(x = v)

)∨

((¬(x = t) ∧ (x = v)

).

(e) ∃x∃y N(x) ∧N(y) ∧ P (x) ∧ P (y) ∧ ¬(x = y)∧(∀z N(z) ∧ ¬(z = x) ∧ ¬(z = y)⇒ ¬P (z)

).

38


Recommended