VÝROKOVÁ LOGIKA

Výrok je spravidla oznamovacia veta, ktorá má pravdivostnú hodnotu, t.j. je pravdivá alebo nepravdivá. Výrazy, ktoré nie sú vetami (ako napr. indivíduové mená, predikáty) ale aj vety, ktoré nie sú oznamovacími vetami (napr. otázky, rozkazy) nie sú výroky. Problematické sú napríklad oznamovacie vety, v ktorých sa vyskytujú mená imaginárnych bytostí. Je veta „Snehulienka má ploché nohy.“ výrok? Niektorí (napr. Hodges, s. 17) tvrdia, že sa jedná o nepravdivý výrok. Potom by však jeho negácia musela byť pravdivá, čo je absurdné!
Atomárny výrok je jednoduchý výrok, ktorý neobsahuje logickú spojku.
Molekulárny výrok je zložený výrok, ktorý obsahuje aspoň jednu (čiže jednu alebo viac) logickú spojku. Molekulárny výrok sa skladá z aspoň jedného atomárneho výroku a aspoň jednej logickej spojky. Tým pádom i znegovaný atomárny výrok je molekulárny.
Logická spojka je výraz, pomocou ktorého z výroku (prípadne výrokov) utvoríme nový výrok.
Výroková logika skúma závislosť pravdivostnej hodnoty zložených výrokov na pravdivostných hodnotách jednoduchých výrokov a použitých logických spojkách.
Napríklad: Pravdivostná hodnota molekulárneho výroku „G.G.Marquez je Kolumbijčan a Rudo Sloboda je Francúz“ závisí jednak od pravdivostných hodnôt jednoduchých výrokov ako aj od použitej spojky. Keďže prvý jednoduchý výrok je pravdivý ale druhý nepravdivý zložený výrok je nepravdivý. Uvedený zložený výrok by mohol byť pravdivý ak by bol aj druhý jednoduchý výrok pravdivý, prípadne ak by sme spojku „a“ nahradili spojkou „alebo“.
Keďže nás vo výrokovej logike nebudú zaujímať konkrétne výroky, ale ich pravdivostné hodnoty a logické spojky, bude jednoduchšie nahradiť konkrétne výroky za ich logickú formu. Na určenie logickej formy výrokov - formalizáciu používame výrokové premenné a logické spojky. Ako výrokové premenné sa spravidla používajú malé písmená zo stredu abecedy: p, q, r, s, t ... Týmito premennými nahrádzame konkrétne výroky, pričom tieto premenné nemajú žiaden konkrétny význam, len upozorňujú, že na určitom mieste je nejaký výrok. Dodržiavame zásadu, že ten istý výrok v určitom molekulárnom výroku nahrádzame stále tou istou výrokovou premennou. Výrokové spojky pri formalizácii označujeme symbolmi. Logické spojky sú konštanty, pretože majú určitý význam (nie sú to premenné!).

I. Logické spojky:
i) jednomiestne (jednoargumentové) – stačí jeden výrok na utvorenie nového výroku; ii) dvojmiestne (dvojargumentové) – treba dva výroky na utvorenie nového výroku. V prirodzenom jazyku môžu mať spojky viacero významov (napríklad „alebo“ niekedy znamená „buď..., alebo...“). Vo výrokovej logike je význam logických spojok jednoznačne určený pravdivostnými podmienkami, ktoré možno symbolizovať v pravdivostných tabuľkách. Namiesto pravdivostnej hodnoty pravda píšeme 1 a namiesto nepravda píšeme 0.
Negácia. Samotná spojka sa zvykne nazývať i negátor a výrok utvorený pomocou negátora negácia.

symbolické označenie	v prirodzenom jazyku	
 ~ ; ¬  	„nie je pravda, že ...“	

Pravdivostná podmienka: zložený výrok ~ p je pravdivý (nepravdivý) práve vtedy, keď výrok p je nepravdivý (pravdivý). 
Pravdivostná tabuľka:
 p  	~ p	
 1	 0	
 0	 1	

Konjunkcia. Spojka sa zvykne nazývať i konjunktor a výrok konjunkcia.

symbolické označenie	v prirodzenom jazyku	
 & ; ∧ ; •	„... a ...“	

Pravdivostná podmienka: zložený výrok p & q je pravdivý (nepravdivý) práve vtedy, keď obidva čiastkové výroky p, q sú pravdivé (aspoň jeden čiastkový výrok je nepravdivý).
	Pravdivostná tabuľka:
p	q	&	
1	1	1	
1	0	0	
0	1	0	
0	0	0	

Disjunkcia. Spojka sa zvykne nazývať i disjunktor a výrok disjunkcia.
a) nevylučujúca
symbolické označenie	v prirodzenom jazyku	
  v	„... alebo ...“	

Pravdivostná podmienka: zložený výrok p v q je pravdivý (nepravdivý) práve vtedy, keď je aspoň jeden z čiastkových výrokov pravdivý (sú oba čiastkové výroky nepravdivé).
	Pravdivostná tabuľka:
p	q	v	
1	1	1	
1	0	1	
0	1	1	
0	0	0	

b) vylučujúca
symbolické označenie	v prirodzenom jazyku	
 vv	„buď... alebo ...“	

Pravdivostná podmienka: zložený výrok p vv q je pravdivý práve vtedy, keď je pravdivý jeden z výrokov a druhý je nepravdivý.
Pravdivostná tabuľka:
p	q	vv	
1	1	0	
1	0	1	
0	1	1	
0	0	0	

(Materiálna) implikácia. Spojka sa zvykne nazývať i implikátor a výrok implikácia.

symbolické označenie	v prirodzenom jazyku	
 → ; ⊃	„ak ..., tak ...“	

Pravdivostná podmienka: zložený výrok p → q je pravdivý práve vtedy, keď p je nepravdivé alebo q je pravdivé.
	Pravdivostná tabuľka:
p	q	→	
1	1	1	
1	0	0	
0	1	1	
0	0	1	
Pre materiálnu implikáciu nie je dôležitý súvis čiastkových výrokov. Niekedy sa táto implikácia zvykne zamieňať za vyplývanie. Treba ich odlišovať! Výrok, ktorý nasleduje po „ak...“ sa nazýva antecedent a výrok, ktorý nasleduje po „tak...“ konzekvent. Tým pádom je implikácia nepravdivá v jedinom prípade, ak je antecedent pravdivý a konzekvent nepravdivý.

(Materiálna) ekvivalencia. Spojka sa zvykne nazývať i ekvivalentor a výrok ekvivalencia.

symbolické označenie	v prirodzenom jazyku	
 ↔ ; ≡	„... vtedy a len vtedy, keď ...“
„... práve vtedy, keď ...“	

Pravdivostná podmienka: zložený výrok p ↔ q je pravdivý práve vtedy, keď výroky p, q majú tú istú pravdivostnú hodnotu.
	Pravdivostná tabuľka:
p	q	↔	
1	1	1	
1	0	0	
0	1	0	
0	0	1	

Reimplikácia.

symbolické označenie	v prirodzenom jazyku	
 ← ; ⊂	„... vtedy, keď ...“
„..., pokiaľ ...“	

Pravdivostná podmienka: zložený výrok p ← q je pravdivý práve vtedy, keď q je nepravdivé alebo p je pravdivé.
	Pravdivostná tabuľka:
p	q	←	
1	1	1	
1	0	1	
0	1	0	
0	0	1	

Zhrnutie základných výrokových spojok:

názov spojky	symbolické označenie	v prirodzenom jazyku	
negácia (negátor)	 ~ ; ¬	nie je pravda, že ...	
konjunkcia (konjunktor)	 & ; ∧	... a ...	
disjunkcia (disjunktor)	  v	... alebo ...	
implikácia (implikátor)	 → ; ⊃	ak, ... tak	
ekvivalencia (ekvivalentor)	 ↔ ; ≡	... vtedy a len vtedy, keď ...
... práve vtedy, keď ...	

Tabuľka pravdivostných hodnôt najdôležitejších dvojmiestnych logických spojok:

p	q	&	v	→	↔	
1	1	1	1	1	1	
1	0	0	1	0	0	
0	1	0	1	1	0	
0	0	0	0	1	1	

II. Určovanie pravdivostnej hodnoty zložených výrokov. 
Ak poznáme pravdivostnú hodnotu čiastkových výrokov a význam použitých logických spojok, dokážeme určiť aj pravdivostnú hodnotu zloženého výroku.
Príklady. (Vychádzajme z pravdivostných hodnôt použitých výrokov v skutočnom svete.)
V zloženom výroku 

(1) Nie je pravda, že ak je Paríž hlavné mesto Nemecka, tak Paríž je v Taliansku.

je prvý čiastkový výrok „Paríž je hlavné mesto Nemecka.“ nepravdivý a druhý „Paríž je v Taliansku.“ nepravdivý. Z pravdivostnej podmienky logickej spojky implikácie (implikátora) je zrejmé, že v prípade, keď je antecedent nepravdivý a konzekvent nepravdivý, celý výrok implikácie je pravdivý. V našom príklade však pravdivý výrok „Ak je Paríž hlavné mesto Nemecka, tak Paríž je v Taliansku.“ predchádza ďalšia logická spojka negácia (negátor). Negovaný pravdivý výrok je nepravdivý, a preto je celý zložený výrok (1) nepravdivý! Dôležité je nepomýliť sa pri tom, keď sa určuje dosah logických spojok. V prípade (1) sa negácia týka celej implikácie a nielen jej antecedentu. Ak by sa týkala len antecedentu, výrok by mal podobu

(2) Ak nie je pravda, že Paríž je hlavné mesto Nemecka, tak Paríž je v Taliansku.

prípadne

(2*) Ak Paríž nie je hlavné mesto Nemecka, tak Paríž je v Taliansku.

Aj v tomto prípade by bol zložený výrok nepravdivý avšak kvôli tomu, že antecedent je pravdivý a konzekvent nepravdivý. V iných prípadoch by zmena dosahu spojky mohla znamenať zmenu pravdivostnej hodnoty celého výroku. 
Napríklad význam, a tým pádom i pravdivostná hodnota zloženého výroku (V) „Nie je pravda, že Paríž je v Taliansku alebo Paríž je vo Francúzsku.“ závisí od toho, aký má dosah negácia. Ak sa vzťahuje len na prvý výrok disjunkcie „Paríž je v Taliansku.“, tak celý zložený výrok je pravdivý. (Pretože „Nie je pravda, že Paríž je v Taliansku.“ aj „Paríž je vo Francúzsku.“ sú pravdivé výroky.) Ak (V) ponímame tým spôsobom, že negovaný je celý výrok „Paríž je v Taliansku alebo Paríž je vo Francúzsku.“, tak (V) je nepravdivý!

Formalizácia.
Pre určenie pravdivostnej hodnoty zloženého výroku ale aj pre ujasnenie si dosahu logickej spojky je vhodné určiť si logickú formu výroku. Ako bolo povedané vyššie, logická forma  výroku (formula) je výraz, ktorý sa skladá len z výrokových premenných a logických spojok. Logická forma teda pozostáva z nasledovných symbolov: p, q, r, ...; ~, &, v... a zátvoriek ), (. Zátvorky sa používajú na to, aby sa naznačil dosah jednotlivých spojok. Napríklad, vo formule „p & (q v r)“ sú členmi konjunkcie „p“ a „q v r“, zatiaľ čo vo formule „(p & q) v r“ sú členmi konjunkcie len „p“ a „q“ a naproti tomu „(p & q)“ a „r“ sú členmi disjunkcie. Umiestnenie zátvoriek je jasné zo znenia výroku v prirodzenom jazyku. V prípade, že máme formulu, v ktorej nie sú zátvorky, môžeme ich dopísať podľa toho aká je sila viazanosti jednotlivých spojok. Držíme sa pravidla, že najsilnejšiu viazanosť majú spojky v tejto postupnosti ~, &, v, →, ↔. Znamená to, že v prípade formuly „ ~ p & q v p ↔ q“ dopíšeme zátvorky nasledovne: „ (((~ p) & q) v p) ↔ q“. V závislosti od toho ako sú rozmiestnené zátvorky (čiže aký dosah majú spojky) vyhodnocujeme pravdivostnú hodnotu zloženého výroku. Prvé vyhodnotíme čiastkové výroky, ktoré sú vo vnútorných zátvorkách a postupujeme smerom von. To znamená, že prvé sa do úvahy berú spojky s najsilnejšou viazanosťou (ak zátvorky nehovoria niečo iné)!
Napríklad výrok (2) má formu „~ p → q“. Tak z jazykového vyjadrenia ako aj z formy je zrejmé, že najskôr sa bude vyhodnocovať negácia p a až následne implikácia zložená z negovaného p a q. Ak by sme do výrokovej formy doplnili zátvorky vyzerala by takto: „((~ p) → q)“. Naproti tomu výrok (1) má formu „~ (p → q)“, a preto sa najskôr vyhodnocuje implikácia a až následne negácia celej implikácie.

Ďalšie čítanie:
Veľmi prístupný výklad logických spojok (Smullyan, s. 25-55). Výklad vyššie spomenutých ale aj ďalších spojok sa nachádza napríklad v (Gahér, s.57-86) a (Volek, s. 58-63). Prehľadné priblíženie výrokových spojok (Cmorej , s. 56-67) a pre záujemcov viac aj o iných extenzionálnych a neextenzionálnych spojkách (Cmorej, s. 68-77). Pozor na terminológiu a metódy, ktoré sa u jednotlivých autorov môžu líšiť.

Literatúra:
Cmorej, P.: Úvod do logickej syntaxe a sémantiky. Bratislava: Iris, 2001.
Gahér, F.: Logika pre každého. (3. doplnené vydanie) Bratislava: IRIS, 2003.
Hodges, W.: Logic: An Introduction to Elementary Logic. London: Penguin Books, 2001.
Newton-Smith, W.H.: Logic: An Introductory Course. London: Routledge, 1999.
Smullyan, R.: Navěky nerozhodnuto: Úvod do logiky a zábavný průvodce ke Godelovým objevům. Praha: ACADEMIA, 2003.
Volek, P.: Úvod do logiky a metodológie vied. Bratislava: Update Studio, 1999.

CVIČENIA
I. Určite, či sa jedná o výrok.
1. Vypni počítač!
2. Jano vypol počítač.
3. Počítač je na stole pri okne.
4. Môžeme dať počítač na stôl?
5. Stôl pri okne.
6. Zapni počítač!
7. 2 + 2
8. 2 + 2 = 5

II. Formalizujte výroky prirodzeného jazyka.
(p: Jano je vegetarián; q: Eva je punkerka; r: Evin otec je učiteľ; s: Milan je vegetarián)
1. Jano je vegetarián, pokiaľ Milan je vegetarián.
2. Buď je Jano vegetarián, alebo nie je pravda, že Jano je vegetarián.
3. Ak Evin otec je učiteľ, tak nie je pravda, že Eva je punkerka.
4. Milan je vegetarián vtedy a len vtedy, keď Jano nie je vegetarián a Milan je vegetarián.
5. Nie je pravda, že Milan a Jano sú vegetariáni, alebo nie je pravda, že ak Eva je punkerka, tak Jano je vegetarián.
6. Ak Jano nie je vegetarián a Milan je vegetarián, tak nie je pravda, že Milan nie je vegetarián.
7. Jano je vegetarián, alebo Milan je vegetarián, alebo Jano nie je vegetarián.
8. Nie je pravda, že Evin otec nie je učiteľ a nie je pravda, že ak Eva je punkerka, tak Evin otec nie je učiteľ.

III. Prepíšte do prirodzeného jazyka. 
(s: Jano je vegetarián; t: Jano konzumuje zeleninu; r: Jano konzumuje ryby)
1. s → (t & r)
2. (s v ~ s) ↔ (~ t v t)
3. (~ s & ~ r) → ~ s
4. s → (~ s → ~ ( s → ~ t))

IV. Formalizujte výroky prirodzeného jazyka a i) určite ich pravdivostnú hodnotu v aktuálnom svete; ii) určite ich pravdivostnú hodnotu v možnom svete, v ktorom je Ružomberok v Poľsku a Krakov je poľská rieka.
(p: Krakov je mesto; q: Ružomberok nie je v Poľsku; r: Krakov nie je na Slovensku)
1. Ak Ružomberok je v Poľsku, tak Krakov je na Slovensku práve vtedy, keď ak Krakov nie je na Slovensku, tak Ružomberok nie je v Poľsku.
2. Nie je pravda, že Krakov je mesto a nie je na Slovensku, alebo Krakov je mesto a nie je na Slovensku.
3. Ružomberok nie je v Poľsku práve vtedy, keď nie je pravda, že Ružomberok nie je v Poľsku.
4. Ak Krakov nie je mesto, tak nie je na Slovensku a Ružomberok nie je v Poľsku.

V. Doplňte zátvorky podľa sily viazanosti jednotlivých spojok, aby sa spresnilo, ktoré spojky budú vyhodnocované najskôr.
1. p → q & r
2. ~ q & r → p v q ↔ ~ p
3. ~ q →  r v p & q ↔ ~ p
4. p → ~ p ↔  ~ q → ~ p

VI. Prepíšte do prirodzeného jazyka s výrokmi podľa vlastného výberu. (Pozor na zátvorky!)
1. p → (q & r)
2. ~ (q & r) → ~ p
3. (~ q v ~ r) → ~ p
4. ~ p ↔ (r v ~ r)
5. r & ~ r
6. (r → p) ↔ p
7. (~ p & ~ r) → ~ (p v r)
8. ~ p v ~ (p → p)