Co vlastně věta říká?

Jazyk a logika

Kterak se rodily spolu, rozešly se a v počítači znovu potkaly

SEDM ZASTAVENÍ

Zastavení listuj šipkami nebo přejetím prstem doleva a doprava; časová osa zůstane nahoře.

PROLOG · DNES · HÁDANKA NA ÚVOD

Čaj, nebo kávu?

I

OtázkaKde řeč a logika nesedí.

Na otázku „Dáš si čaj, nebo kávu?“ odpovíš „obojí“. Hostitel se zarazí, logik se usměje.

Je „obojí“ podle logiky správná odpověď? A je pravdivý výrok „Jestliže 2 > 4, pak Praha leží v Brazílii“?

Odhalit odpověď

Ano i ano. V češtině je „nebo“ často vylučovací, v logice i v kódu (||) je nevylučovací: platí i tehdy, když platí obě části. A „jestliže“ v řeči čeká souvislost příčiny a následku, v logice ne: předpoklad 2 > 4 je nepravdivý, a implikace s nepravdivým předpokladem je pravdivá.

II

MyšlenkaTři místa, kde to programátor musí vědět.

  • „Nebo“: v češtině často vylučovací („čaj, nebo kávu?“), v logice i v kódu nevylučovací.
  • „Jestliže“: v řeči čekáme souvislost příčiny a následku, v logice ne.
  • Priorita: jazyk ji vyjadřuje intonací a čárkami, formální jazyk závorkami a pravidly. Proto AND váže silněji než OR a v podmínkách se vyplatí závorkovat.

Logika vždy stála na otázce, co věta říká. Proto ji po celou historii posouvali lidé, kteří zkoumali jazyk. Logika a jazykověda se rodily spolu, rozešly se a v počítači se znovu potkaly. Tahle stránka je vložkou ke kapitole Logika.

III

VzorecDvojí „nebo“.

NEBO, A NEBO

nebo i obojí:  p ∨ q

buď, anebo:  (p ∨ q) ∧ ¬(p ∧ q)

Logika neslyší intonaci.

ZASTAVENÍ I · 3. STOLETÍ PŘ. N. L. · ATHÉNY, STOA

Stoici: gramatici, kteří vymysleli výrok

stoičtí gramatici

I

OtázkaGramatika, nebo logika?

Kdo rozhodne, že „Prší?“ není výrok – gramatik, nebo logik?

K zamyšlení

U stoiků oba zároveň. Rozlišit výrok od otázky a rozkazu je původně gramatická práce: kdo chce vědět, o čem lze říct „platí to“, musí nejdřív roztřídit druhy vět.

II

ČlověkStejní lidé, dvě vědy.

Stoici byli zároveň gramatici. Stejní lidé, kteří vymysleli výrok a spojky (Chrysippos a jeho škola, viz kapitola Logika), rozpracovali i nauku o mluvnických pádech a slovních druzích.

Stopu toho nosíme v češtině dodnes. Řecké ptósis znamená „pád“; Římané ho přeložili jako casus a čeština zase jako pád. Když ve škole skloňuješ, používáš stoické slovo.

Stoické gramatické spisy se nedochovaly celé; jejich nauku známe hlavně z pozdějších autorů, například z Diógena Laertia (Životy filozofů, kniha VII).

III

MyšlenkaZe všech druhů vět si logika vzala jen jeden.

Otázka, rozkaz, přání, oslovení, oznámení: gramatika rozlišuje mnoho druhů vět. Logika si z nich vybrala jen ty, o kterých má smysl se ptát „platí to?“, a ty nazvala výroky.

PRO ZVÍDAVÉ: TŘÍDĚNÍ VĚT

Které z těchto vět jsou výroky?

  1. Praha je hlavní město Česka.
  2. Zavři okno!
  3. Kolik je hodin?
  4. x > 3.
  5. Toto tvrzení je nepravdivé.
Řešení

Výrokem je jen první věta. Rozkaz a otázka pravdivostní hodnotu nemají. „x > 3“ je výroková forma: výrokem se stane, až za x dosadíme číslo – jako podmínka v kódu, která má hodnotu, až když proměnná nějakou má. A poslední věta je paradox lháře: oznamovací, a přesto ne výrok.

IV

VzorecVýrok je to, co má pravdivostní hodnotu.

VÝROK

„Prší.“  ↦  0, nebo 1

„Prší?“  ·  „Ať prší!“  ↦  žádná hodnota

Gramatika rozlišila druhy vět, logika si z nich vzala jeden.

ZASTAVENÍ II · 13.–14. STOLETÍ · PAŘÍŽ, OXFORD

Středověk: na co slovo ukazuje?

středověcí logici a modisté

I

OtázkaStejné slovo, jiný význam?

Ve větě „Člověk běží“ i ve větě „Člověk je druh“ stojí totéž slovo. Ukazuje v obou na totéž?

Odhalit odpověď

Ne. V první větě „člověk“ ukazuje na nějakého konkrétního běžícího člověka. Ve druhé na pojem člověka: druhem není žádný jednotlivec. Kdybychom to nerozlišili, mohli bychom z „Sokratés je člověk“ a „Člověk je druh“ vyvodit nesmysl „Sokratés je druh“.

II

ČlověkLogici a modisté středověkých univerzit.

Na univerzitách v Paříži a Oxfordu 13. a 14. století se logika učila jako základ všeho studia. Středověcí logici (například Petr Hispánský v 13. století nebo Vilém Ockham ve 14. století) zkoumali, na co přesně slovo v dané větě odkazuje. Říkali tomu suppositio, „zastupování“: slovo ve větě zastupuje nějaké věci, a které to jsou, záleží na větě.

Vedle nich působili modisté, gramatici, kteří hledali obecné „způsoby“ (modi) vyjadřování společné všem jazykům. Nejznámější modistický spis, Grammatica speculativa Tomáše z Erfurtu (počátek 14. století), je jedním z prvních pokusů o univerzální gramatiku.

III

MyšlenkaTři způsoby, jak slovo zastupuje.

  • Osobní (suppositio personalis): „Člověk běží.“ Slovo zastupuje jednotlivce.
  • Jednoduché (suppositio simplex): „Člověk je druh.“ Slovo zastupuje pojem.
  • Materiální (suppositio materialis): „Člověk je podstatné jméno.“ Slovo zastupuje samo sebe.

Je to předchůdce dnešního rozlišení proměnné a hodnoty. Programátor dělá totéž denně:

// osobní: konkrétní hodnota
  clovek.bezi()
  // jednoduché: typ, pojem
  class Clovek { }
  // materiální: samo slovo, řetězec
  "clovek".length   // 6
PRO ZVÍDAVÉ: CO TY NA TO?

Jak zastupuje slovo „Praha“ ve větách: (a) Praha leží na Vltavě. (b) Praha má pět písmen. (c) Praha je slovo ženského rodu.

Řešení

(a) osobně, mluví se o městě; (b) a (c) materiálně, mluví se o slově. V psaném textu to dnes řešíme uvozovkami: „Praha“ má pět písmen. Uvozovky jsou přesně to, co odliší řetězec od proměnné.

IV

VzorecStejné slovo, jiný zápis.

SUPPOSITIO V DNEŠNÍM ZÁPISU

Člověk běží:  ∃x (člověk(x) ∧ běží(x))

Člověk je druh:  druh(člověk)

Na čem záleží, není slovo, ale to, co ve větě zastupuje.

ZASTAVENÍ III · 1879 · JENA

Gottlob Frege: pojmopis místo řeči

I

OtázkaNikdo, nebo někdo?

„Každý student neumí Python.“ Znamená to, že ho neumí nikdo, nebo že ho někdo neumí?

K zamyšlení

Věta se dá číst oběma způsoby a čeština sama nerozhodne. Přesně takové víceznačnosti chtěl Frege ze své logiky vyhnat.

II

ČlověkMatematik, který se bál jazyka.

Gottlob Frege (1848–1925), profesor matematiky v Jeně, se jazyka bál. Přirozený jazyk považoval za nepřesný a víceznačný, a proto vytvořil umělý pojmopis (Begriffsschrift) – první formální jazyk s kvantifikátory „pro všechna“ a „existuje“. Odtud pochází dnešní predikátová logika.

1879Gottlob Frege: Begriffsschrift (Pojmopis). Necelých sto stran, první formální jazyk s kvantifikátory.

Značky ∀ a ∃ nejsou Fregeho. Frege psal dvojrozměrně, čarami a háčky; obrácené E (∃) zavedl Giuseppe Peano a obrácené A (∀) se ujalo až ve 20. století.

III

MyšlenkaKvantifikátory.

„Každý“ a „některý“ nejsou jména věcí, ale návod, jak projít všechny věci: ∀x „pro každé x platí…“, ∃x „existuje x, pro které platí…“. S nimi zmizí víceznačnost z otázky:

nikdo ho neumí:  ∀x (S(x) ⇒ ¬P(x))
někdo ho neumí:  ¬∀x (S(x) ⇒ P(x))

PRO ZVÍDAVÉ: CO TY NA TO?

Nechť S(x) znamená „x je student“ a P(x) „x umí Python“. Který zápis znamená „Každý student umí Python“: ∀x(S(x) ∧ P(x)), nebo ∀x(S(x) ⇒ P(x))? A jak zní jeho negace?

Řešení

Druhý; první tvrdí, že každý na světě je student. Negace: ∃x(S(x) ∧ ¬P(x)), tedy některý student Python neumí. Pravidlo: ∀ se pojí s implikací, ∃ s konjunkcí.

V kódu potkáš kvantifikátory jako every() a some():

lide.every(x => !student(x) || python(x))  // ∀x (S(x) ⇒ P(x))
  lide.some(x => student(x) && !python(x))   // ∃x (S(x) ∧ ¬P(x))
IV

VzorecNegace kvantifikátoru.

PREDIKÁTOVÁ LOGIKA

∀x (S(x) ⇒ P(x))

¬∀x (S(x) ⇒ P(x))  ⟺  ∃x (S(x) ∧ ¬P(x))

∀ se pojí s implikací, ∃ s konjunkcí.

ZASTAVENÍ IV · 1932–1934 · VÍDEŇ A PRAHA

Rudolf Carnap: vyčistit jazyk vědy

I

OtázkaSprávně utvořená, ale o čem?

Věta „Nic samo nicuje“ je gramaticky v pořádku: podmět, přísudek. Říká ale vůbec něco?

II

ČlověkVídeňský kroužek a pražský profesor.

Vídeňský kroužek, skupina filozofů, matematiků a fyziků ve Vídni 20. a 30. let, chtěl „vyčistit“ jazyk vědy: ponechat jen věty, které jsou buď logicky pravdivé, nebo ověřitelné zkušeností. Jedním z jeho hlavních členů byl Rudolf Carnap (1891–1970), který v letech 1931–1935 učil na německé univerzitě v Praze.

Roku 1932 napsal článek Překonání metafyziky logickou analýzou jazyka. Slavný je v něm útok na větu Martina Heideggera „Nic samo nicuje“ (z přednášky Co je metafyzika?, 1929): podle Carnapa věta vypadá gramaticky správně, ale porušuje logickou syntax, protože z „nic“ dělá podstatné jméno.

1934Rudolf Carnap: Logische Syntax der Sprache. Jazyk jako kalkul: abeceda, pravidla tvoření vět, pravidla odvozování.
III

MyšlenkaJazyk jako kalkul.

Carnapova Logická syntax jazyka zacházela s jazykem jako s kalkulem: abeceda (jaké znaky smíme psát), pravidla tvoření vět (které řetězce jsou správně utvořené) a pravidla odvozování (co z čeho plyne). Je to přesně stavba programovacího jazyka: znaky, gramatika, pravidla vyhodnocení.

Carnapův rozbor Heideggerovy věty lze ukázat na obyčejném rozhovoru. „Co je venku?“ – „Nic.“ Logicky to znamená, že venku není nic, žádné x: ¬∃x venku(x). „Nic“ tu není jméno věci, ale zápor kvantifikátoru. Kdo z něj udělá podmět, nicuje(Nic), zachází s ním jako s věcí, a věta ztratí smysl, i když gramatika je v pořádku.

Programátor to zná: kód, který projde parserem, ale neprojde typovou kontrolou. Syntakticky správně, a přesto nesmysl.

PRO ZVÍDAVÉ: ZKUS TO!

Zapiš logicky větu „Nikdo nepřišel“. Proč z ní a z věty „Nikdo je můj přítel“ nesmíš vyvodit, že „můj přítel nepřišel“?

Řešení

¬∃x přišel(x). „Nikdo“ není jméno žádného člověka, takže ho nejde dosadit jako x. Úsudek by z „nikoho“ udělal osobu, stejnou chybu, jakou Carnap vytýkal větě o Nic.

IV

VzorecNic není jméno.

LOGICKÁ SYNTAX

Venku nic není:  ¬∃x venku(x)

Nic nicuje:  nicuje(Nic)  ✗

Gramaticky správně ještě neznamená logicky smysluplně.

ZASTAVENÍ V · 1956–1957 · MIT

Noam Chomsky: gramatika jako stroj

I

OtázkaKonečně mnoho pravidel, nekonečně mnoho vět.

Kolik pravidel stačí, aby z nich vyšly všechny správné české věty, a žádná nesprávná?

II

ČlověkLingvista, jehož gramatiky převzali informatici.

Noam Chomsky (nar. 1928) obrátil směr. Frege a Carnap chtěli jazyk nahradit nebo vyčistit; Chomsky v letech 1956–57 naopak pomocí formálních gramatik popsal jazyk přirozený a seřadil gramatiky podle síly (Chomského hierarchie). Informatici ji hned převzali: regulární výrazy, gramatiky programovacích jazyků a parsery v překladačích stojí přímo na ní.

1957Noam Chomsky: Syntactic Structures. Formální gramatiky pro přirozený jazyk; základ teorie překladačů.

Ve stejné knize je slavná věta „Colorless green ideas sleep furiously“ – „Bezbarvé zelené ideje zuřivě spí“. Je gramaticky správná, a přesto nedává smysl: stejná hranice mezi tvarem a smyslem, jakou viděl Carnap.

III

MyšlenkaGramatika je program, který vyrábí věty.

Formální gramatika je sada přepisovacích pravidel. Pravidlo S → ( S ) S | ε říká: symbol S nahraď buď dvojicí závorek s dalším S uvnitř a za ní, nebo ničím. Jediné pravidlo, a vyjdou z něj všechny správně uzávorkované výrazy.

TypGramatikyKde je potkáš
3regulárníregulární výrazy, lexikální analýza
2bezkontextovésyntax programovacích jazyků, parsery, zápis BNF
1kontextovéjazyk anbncn; kontrola, že proměnná byla deklarována
0neomezenévše, co spočítá Turingův stroj

Vyvážené závorky

napiš závorky


Proč to neumí regulární výraz? Regulární gramatika si pamatuje jen konečně mnoho stavů, a tak nespočítá libovolně hluboké vnoření. Proto se HTML ani kód nedají spolehlivě rozebírat regulárními výrazy a překladače potřebují bezkontextovou gramatiku.

IV

VzorecJedno pravidlo, nekonečně mnoho výrazů.

FORMÁLNÍ GRAMATIKA

S → ( S ) S  |  ε

regulární ⊂ bezkontextové ⊂ kontextové ⊂ neomezené

Gramatika je program, který vyrábí věty.

ZASTAVENÍ VI · 1970 · LOS ANGELES

Richard Montague: angličtina jako formální jazyk

I

OtázkaPřeložit řeč do logiky.

Dá se každá česká věta přeložit do logiky tak, aby počítač poznal, co z ní plyne?

II

ČlověkLogik, který jazyk vzal za slovo.

Richard Montague (1930–1971), logik na Kalifornské univerzitě v Los Angeles, tvrdil v článcích z roku 1970 (English as a Formal Language, Universal Grammar), že mezi přirozeným a formálním jazykem není zásadní teoretický rozdíl. Angličtinu lze popsat stejně přesně jako jazyk logiky. Založil tak formální sémantiku, ze které dnes čerpá počítačové zpracování jazyka.

Kde Frege jazyk opustil a Carnap ho chtěl vyčistit, tam Montague tvrdil, že žádné čištění není potřeba: stačí najít pravidla, podle kterých se význam věty skládá z významů jejích částí.

III

MyšlenkaVýznam celku se skládá z významů částí.

Tomuto principu se říká kompozicionalita (často se připisuje Fregemu). Překlad věty do logiky je pak skládání: každé slovo dostane svůj symbol a stavba věty určí, jak je spojit. A právě stavba je místo, kde se dá chybovat: zkus to.

Přelož mě

klikej na slova

IV

VzorecNa závorkách záleží.

KOMPOZICIONALITA

(p ∧ q) ⇒ r

≠  p ∧ (q ⇒ r)

Význam celku se skládá z významů částí – a ze způsobu, jak jsou složeny.

Co jsme viděli

Logika vždy stála na otázce, co věta říká. Proto ji posouvali lidé, kteří zkoumali jazyk.

  1. IStoici: stejní lidé vymysleli výrok i mluvnické pády.
  2. IIStředověk: na co slovo ve větě odkazuje; předchůdce rozlišení proměnné a hodnoty.
  3. IIIFrege: umělý pojmopis místo víceznačné řeči; kvantifikátory.
  4. IVCarnap: jazyk jako kalkul; gramaticky správná věta ještě nemusí dávat smysl.
  5. VChomsky: formální gramatiky a jejich hierarchie; základ překladačů.
  6. VIMontague: přirozený jazyk jako formální; počítačové zpracování jazyka.

JAZYK A LOGIKA

„Každý student umí Python.“

∀x (S(x) ⇒ P(x))

Logika a jazykověda se rodily spolu, rozešly se a v počítači se znovu potkaly.

☜ HLAVNÍ KAPITOLA Logika Kterak se z pravdy stala jednička: od Aristotela přes stoiky a Booleovu algebru k Shannonovým obvodům.

Zdroje a doporučená literatura

  • P. Monneret: Séminaire de linguistique théorique, séance 3 (Carnap, Hempel, Vídeňský kroužek).
  • Stanford Encyclopedia of Philosophy: Ancient Logic, Medieval Theories of Supposition, Frege's Logic, Rudolf Carnap, Montague Semantics.
  • R. Carnap: Překonání metafyziky logickou analýzou jazyka (Überwindung der Metaphysik durch logische Analyse der Sprache), Erkenntnis, 1932.
  • N. Chomsky: Syntactic Structures, 1957.
  • R. Montague: English as a Formal Language a Universal Grammar, 1970.

KONEC VLOŽKY O JAZYCE A LOGICE

Zpět na obsah