65
Matematická logika Ondˇ rej Lengál Fakulta informaˇ cních technologií Vysoké uˇ cení technické v Brn ˇ e IDM’20 [pˇ reloženo 23. listopadu 2020]

Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Matematická logika

Ondrej Lengál

Fakulta informacních technologiíVysoké ucení technické v Brne

IDM’20[preloženo 23. listopadu 2020]

Page 2: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Logika

(Matematická) logika: oblast matematiky zabývající se univerzálnímiprincipy usuzování v ruzných formálních systémech

usuzování: základní pravdy, odvozovací pravidla, dukazformální systém (príklady: logika, algebra, programovací jazyk)

ale takéjazykI jaké skutecnosti jsou vyjádritelné v daném jazyceI expresivita

FIT VUT Matematická logika IDM’20 2 / 65

Page 3: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Strucná historie logiky

Aristoteles (4. stol. pred n.l.): základy logiky, sylogismyLeibniz (17. stol.): myšlenka mechanizace usuzováníBoole (19. stol.): logika jako algebraprelom 19. a 20. století:I krize v základech matematiky (logika a teorie množin)

Russell: Russelluv paradox (paradox v naivní teorii množin)

20. století:I David Hilbert: cíl vystavení matematiky na formálních základech

• axiomatické systémy (Zermelo-Fraenkelova teorie množin,Peanovy axiomy pro aritmetiku prirozených císel, . . . )

I Kurt Gödel (narozen v Brne): limity formálních systému (nelzedokázat jejich bezespornost, pokud jsou dostatecne silné)

I Alan Turing („otec informatiky“):• usuzování nelze mechanizovat• základy umelé inteligence (založené na logice)

K. Gödel

A. Turing

FIT VUT Matematická logika IDM’20 3 / 65

Page 4: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Logika a informatikaSoucasnost:

Logika je základní pilír informatiky:I hardware: výroková (Booleova) logikaI databáze: predikátová logika 1. rádu (SQL)I programovací jazyky: teorie typu (logika vyššího rádu)I verifikace: predchozí + temporální logiky (LTL/CTL), . . .I umelá inteligence: predikátová logika 1. rádu, modální logiky, . . .I syntéza: predikátová logika 1./2. ráduI kryptografie: interaktivní/pravdepodobnostní dukazové systémy,

zero-knowledge dukazy (kryptomeny)I rízení: fuzzy logikaI . . .

Pocítace pomáhají v matematice:I Vycerpávající enumerace konecných domén, napr.

• Problém 4 barev (1976, 1936 prípadu, specializovaný SW),• Problém Booleovských Pythagorejských trojic (2016, 200 TiB dukaz)

I Automatická dedukce vet, napr. Robbinsova domnenka (1996)I Formalizace a mechanické overování matematických dukazu:

• Problém 4 barev (2005, dukaz pomocí theorem proveru)• Keplerova domnenka (2014, formalizace kontroverz. dukazu z 2003)

FIT VUT Matematická logika IDM’20 4 / 65

Page 5: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Logika v informatice — Specifikace https://rise4fun.com/Vcc/

unsigned lsearch(int elt, int* ar, unsigned sz)_(requires \thread_local_array(ar, sz))_(ensures \result != UINT_MAX ==> ar[\result] == elt)_(ensures \forall unsigned i; i < sz && i < \result ==> ar[i] != elt)_(decreases 0)

{unsigned i;for (i = 0; i < sz; i++)_(invariant \forall unsigned j; j < i ==> ar[j] != elt)

{if (ar[i] == elt) return i;

}return UINT_MAX;

}

FIT VUT Matematická logika IDM’20 5 / 65

Page 6: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Logika a informatikaFormalizace

Potreba umet precizne formulovat myšlenky a chápat dusledky.

PríkladLidstvo zkonstruuje umelou superinteligenci s neomezenou mocí. Co má být jejím cílem?

Maximalizovat individuální blaho lidstva?

∀x ∈ People : is_maximal(happiness(x))

Maximalizovat celkové blaho lidstva?

is_maximal( ∑

x∈Peoplehappiness(x)

)Maximalizovat prumerné blaho lidstva?

is_maximal

(∑x∈People happiness(x)

|People|

)FIT VUT Matematická logika IDM’20 6 / 65

Page 7: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková (Booleova) logika

FIT VUT Matematická logika IDM’20 7 / 65

Page 8: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logikaVýroková logika:

usuzování o výrocíchvýrok:

prvotní (atomický, jednoduchý): základní tvrzení, u nehož dává smysl uvažovat, zdaje ci není pravdivé; príklady:I “Sníh je bílý.”I “Cena rohlíku je 8 Kc.”I “1 + 1 = 2”I každé dva prvotní výroky jsou nezávislé

složený: sestrojený z jiných výroku pomocí výrokových spojekI Neplatí “sníh je bílý.”I “Sníh je bílý” a “cena rohlíku je 8 Kc.”I “Sníh je bílý” nebo “cena rohlíku je 8 Kc.”I Pokud “sníh je bílý,” pak “cena rohlíku je 8 Kc.”I “Sníh je bílý” práve, když “cena rohlíku je 8 Kc.”

je pravdivý nebo nepravdivý: urcíme na základe pravdivosti prvotních výroku asémantiky výrokových spojek

FIT VUT Matematická logika IDM’20 8 / 65

Page 9: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková formule

Výroková promenná:nahrazuje konkrétní prvotní výrokybereme ze (spocetné) množiny X = {X,Y, . . .}

Výroková formulevznikne z výrokových promenných použitím výrokových (logických, pravdivostních,Booleovských) spojekmá pravdivostní hodnotu danou ohodnocením výrokových promenných

FIT VUT Matematická logika IDM’20 9 / 65

Page 10: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika

Logika je jazyk, má tedy syntaxi (pravidla, která urcují, jak se vytvorí fráze jazyka)a sémantiku (prirazení významu frázím).

Syntaxe: je dánaI abecedou: množina symbolu: X ] {1, 0,¬,∧,∨,→,↔, (, )}

1 . . . pravda (true, T , tt , >)0 . . . nepravda (false, F , ff , ⊥)¬ . . . negace (ne, not)∧ . . . konjunkce (a, and)∨ . . . disjunkce (nebo, or)→ . . . (materiální) implikace (když . . . , pak . . . )↔ . . . (materiální) bikondicionál (ekvivalence, iff, . . . práve když . . . )

I gramatikou: pravidla, jak ze symbolu vytváret fráze

FIT VUT Matematická logika IDM’20 10 / 65

Page 11: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — gramatikaVýroková formule: (znacíme písmeny recké abecedy)

ϕ ::= 0 | 1 | X | (¬ϕ1) |(ϕ1 ∧ ϕ2) | (ϕ1 ∨ ϕ2) |(ϕ1→ϕ2) | (ϕ1↔ϕ2)

kde X je promenná z množiny promenných X

Príklad((X ∧ (¬Y ))→Z) je formuleX(Y ∨ Z) není formuleX ∧ Y ∨ Z není formuleY je formule

ϕ(X1, . . . , Xn) znací, že promenné vyskytující se ve ϕtvorí podmnožinu {X1, . . . , Xn}

FIT VUT Matematická logika IDM’20 11 / 65

Page 12: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — sémantika

Sémantika urcuje co vytvorené fráze znamenajíOhodnocení promenných

funkce I : X→ {0, 1}príklad: I = {X 7→ 1, Y 7→ 0, . . .}

Sémantika výrokové formule:definována induktivne dle pravdivostní tabulky (ph(ϕ): pravd. hodnota formule ϕ):

ph(ϕ) ph(ψ) ph(¬ϕ) ph(ϕ ∧ ψ) ph(ϕ ∨ ψ) ph(ϕ→ψ) ph(ϕ↔ψ)

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

Formálneji: Necht’ V je množina všech ohodnocení promenných, tj. V = (X→ {0, 1}).Potom sémantika výrokové formule je funkce J·K : V→ {0, 1}, napr. JϕK, definovánainduktivne pomocí pravdivostní tabulky.

FIT VUT Matematická logika IDM’20 12 / 65

Page 13: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — sémantika

Príklad

ϕ = ((X ∧ (¬Y ))→X)

X Y ¬Y X ∧ (¬Y ) ϕ

0 00 11 01 1

Kolik existuje výrokových formulí nad promennými {X,Y }?Kolik existuje výrokových formulí nad promennými X?Kolik existuje výrokových formulí nad promennými {X,Y } s ruznou sémantikou?Tedy, kolik existuje ruzných logických binárních spojek?

FIT VUT Matematická logika IDM’20 13 / 65

Page 14: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — sémantika

Príklad

ψ = ((X↔Y )→Z)

X Y Z X↔Y ψ

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

Kolik existuje výrokových formulí nad promennými {X,Y, Z} s ruznou sémantikou?

FIT VUT Matematická logika IDM’20 14 / 65

Page 15: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — syntaxe (závorky)

Závorkyslouží k lineárnímu zápisu syntaktického stromu formule

((X∧(¬Y ))→X) je zápis stromu

X ¬

Y

X

casto je vynecháváme:I u korene stromu

• tj. místo (X ∧ Y ) píšeme X ∧ YI u asociativních spojek (∧, ∨,↔)

• tj. místo ((X ∧ (Y ∧W )) ∧ Z) ∨ U píšeme (X ∧ Y ∧W ∧ Z) ∨ UI je-li dána precedencí (používat strídme)

• {¬} > {∧,∨} > {→,↔}

FIT VUT Matematická logika IDM’20 15 / 65

Page 16: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — pojmy

model formule ϕ:je ohodnocení promenných I, které splnuje ϕI tj. ϕ má pri I hodnotu 1 (true)

znacíme I |= ϕ

opak (I nesplnuje ϕ) znacíme I 6|= ϕ

splnitelnost (satisfiability):formule ϕ je splnitelná, pokud má modeltj. existuje ohodnocení promenných I takové, že I |= ϕ

množina formulí F je splnitelná, pokud je splnitelnákonjunkce F , tj. následující formule:∧

ϕi∈Fϕi

FIT VUT Matematická logika IDM’20 16 / 65

Page 17: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — pojmyplatnost (validity):

formule ϕ je platná (tautologie) pokud I |= ϕ pro všechnaohodnocení Iznacíme |= ϕ

opaku (formule není platná) ríkáme neplatnostI (znacíme 6|= ϕ)

kontradikce (nesplnitelnost, unsatisfiability):formule ϕ je kontradikce pokud nemá modeltj. neexistuje ohodnocení promenných I takové, že I |= ϕ

pozor: |= ¬ϕ není ekvivalentní 6|= ϕ

Platí následující dualita:formule ϕ je platná práve když formule ¬ϕ je nesplnitelnáformule ϕ je splnitelná práve když formule ¬ϕ je neplatná

FIT VUT Matematická logika IDM’20 17 / 65

Page 18: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika

Urcování zda je formule platná/splnitelná/. . . :ad hoc algebraické metodypravdivostní tabulka (muže být velká)dukaz ve formálním systémuI formální systém Hilbertova typu (prednáška L. Holíka)I sémantický argument (tableau; Smullyan)I prirozená dedukce (Gentzen)I rezoluce

FIT VUT Matematická logika IDM’20 18 / 65

Page 19: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — pojmy

PríkladUrcete, zda je následující formule a) platná, b) nesplnitelná, c) neplatná, ale splnitelná.

ψ = ((X↔Y )→Z)

X Y Z X↔Y ψ

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

FIT VUT Matematická logika IDM’20 19 / 65

Page 20: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — pojmylogická ekvivalence:

formule ϕ a ψ jsou ekvivalentní pokud je formule ϕ↔ψ tautologieznacíme ϕ⇔ ψ

ϕ⇔ ψ když pro každé ohodnocení I platí, že I |= ϕ práve tehdy když I |= ψ

logický dusledek:formule ψ je logickým dusledkem formule ϕ pokud je formule ϕ→ψ tautologieznacíme ϕ⇒ ψ

ϕ⇒ ψ když pro každé ohodnocení I platí, že pokud I |= ϕ, pak i I |= ψ

pro množinu formulí F definujeme F ⇒ ψ tehdy, když(∧

ϕi∈F ϕi

)⇒ ψ

Jaký je rozdíl mezi ϕ↔ψ a ϕ⇔ ψ?ϕ↔ψ je formule výrokové logikyϕ⇔ ψ je tvrzení o formulích ϕ a ψ v metajazyce. Není to formule.

Podobne pro ϕ→ψ a ϕ⇒ ψ.

FIT VUT Matematická logika IDM’20 20 / 65

Page 21: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika

substituce:pokud |= ϕ(X1, . . . , Xn), pak platí |= ϕ(ψ1, . . . , ψn)

ϕ(ψ1, . . . , ψn) vznikla dosazením formulí ψ1 za X1, . . . , ψn za Xn

modus ponens (pravidlo odloucení):pokud |= ϕ a |= ϕ→ψ, pak platí |= ψ

„Jestliže prší, je mokro. Prší, tedy je mokro.“

modus tollens (pravidlo poprení):pokud |= ¬Y a |= X→Y , pak platí |= ¬X„Jestliže prší, je mokro. Není mokro, tedy neprší.“

FIT VUT Matematická logika IDM’20 21 / 65

Page 22: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — pojmyPlatnost a splnitelnost jsou velmi duležité pojmy.

Tautologieduležité v logickém usuzování (zajímají nás platné formule)jsou formule ϕ takové, že ϕ⇔ 1

urcují strukturu platných formulí (použití i v predikátové logice)z hlediska napr. návrhu HW nezajímavé

Splnitelnostduležité pri hledání rešenímnoho problému lze prevést na formuli výrokové logiky tak, že daný problém p márešení práve když formule ϕp je splnitelnákonecný stavový prostorz modelu ϕp pak lze získat rešení pSAT solvery (MiniSat, Glucose, Treengeling, . . . )

FIT VUT Matematická logika IDM’20 22 / 65

Page 23: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — další spojkydalší binární logické spojky:⊕: exkluzivní disjunkce (exkluzivní or, xor, nonekvivalence):I ϕ⊕ψ def⇔ ¬(ϕ↔ψ)I použití v HW (parita: detekce chyb), kryptografii, . . .

↓: Peircova šipka (nor):I ϕ ↓ψ def⇔ ¬(ϕ ∨ ψ)

↑: Shefferuv operátor (nand):I ϕ ↑ψ def⇔ ¬(ϕ ∧ ψ)I casto používaný v HW (jednoduchá impl. v technologii CMOS)

úplný systém logických spojek:množina spojek S taková, že pro každou formuli ϕ existujeformule ϕS využívající pouze spojky z množiny S a ϕ⇔ ϕS

I príklady: {¬,∨}, {¬,∧}, {¬,→}, {↑}, {↓}I pr. neúplného systému log. spojek: {∧,∨,→,↔}

(a kterákoliv podmnožina)

NAND v CMOSA ↑B

FIT VUT Matematická logika IDM’20 23 / 65

Page 24: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Booleova algebra({0, 1},∧,∨,¬, 0, 1) tvorí Booleovu algebru.

rovnost ϕ = ψ je definována jako logická ekvivalence ϕ⇔ ψnapr. (X ∧ Y ) ∨X = X

X ∧ (Y ∧ Z) ⇔ (X ∧ Y ) ∧ Z (asociativita)X ∨ (Y ∨ Z) ⇔ (X ∨ Y ) ∨ Z (asociativita)X ∧ (Y ∨ Z) ⇔ (X ∧ Y ) ∨ (X ∧ Z) (distributivita)X ∨ (Y ∧ Z) ⇔ (X ∨ Y ) ∧ (X ∨ Z) (distributivita)¬(X ∧ Y ) ⇔ ¬X ∨ ¬Y (De Morganuv zákon)¬(X ∨ Y ) ⇔ ¬X ∧ ¬Y (De Morganuv zákon)

F ⇔ ¬¬F (dvojitá negace)

X ∨X ⇔ X X ∧X ⇔ X (idempotence)X ∨ 0 ⇔ X X ∧ 1 ⇔ X (neutralita)X ∨ 1 ⇔ 1 X ∧ 0 ⇔ 0 (anihilace)

X ∧ ¬X ⇔ 0 X ∨ ¬X ⇔ 1 (komplementarita)

FIT VUT Matematická logika IDM’20 24 / 65

Page 25: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — další ekvivalence

X→Y ⇔ ¬X ∨ Y (implikace)X→Y ⇔ ¬(X ∧ ¬Y ) (implikace)X↔Y ⇔ (X→Y ) ∧ (Y →X) (bikondicionál)

Ekvivalence lze použít pro algebraické úpravy formulí.

PríkladPreved’te formuli (X ∧ ¬Y ) ∨ ¬Z do tvaru, ve kterém se vyskytují pouze spojky ¬ a→.

(X ∧ ¬Y ) ∨ ¬Z ⇔ ¬¬(X ∧ ¬Y ) ∨ ¬Z (dvojitá negace)⇔ ¬(X→Y ) ∨ ¬Z (implikace)⇔ (X→Y )→¬Z (implikace)

FIT VUT Matematická logika IDM’20 25 / 65

Page 26: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Normální formy — NNF

Negacní normální forma (NNF)obsahuje pouze spojky ∧, ∨ a ¬¬ se vyskytuje pouze pred promennými

PríkladNecht’

ϕ : ¬(X→¬(X ∧ Y )).

Formuleψ : X ∧ Y

je ekvivalentní formuli ϕ a je v NNF.

FIT VUT Matematická logika IDM’20 26 / 65

Page 27: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Normální formy — NNFPrevod do NNF:

1 postupná eliminace všech výskytu spojky↔ pomocí ekvivalence

ϕ↔ψ ⇔ (ϕ→ψ) ∧ (ψ→ϕ)

2 postupná eliminace všech výskytu spojky→ pomocí ekvivalence

ϕ→ψ ⇔ ¬ϕ ∨ ψ

3 propagování negací k promenným pomocí De Morganových zákonu:

¬(ϕ ∧ ψ) ⇔ ¬ϕ ∨ ¬ψ¬(ϕ ∨ ψ) ⇔ ¬ϕ ∧ ¬ψ

Pritom, kdykoliv to jde, zjednodušovat.

PríkladPreved’te formuli ¬(X→¬(X ∧ Y )) do NNF.

¬(X→¬(X ∧ Y ))(implikace)⇔ ¬(¬X ∨ ¬(X ∧ Y ))

(De Morgan)⇔ X ∧ (X ∧ Y )(asoc. & idem.)⇔ X ∧ Y

FIT VUT Matematická logika IDM’20 27 / 65

Page 28: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Normální formy — DNF

Disjunktivní normální forma (DNF, nekdy též sum of products):je disjunkce konjunkcí literálu: ∨

i

∧j

`i,j

literál je promenná (X) nebo její negace (¬X)

PríkladNecht’

ϕ : (X ∧ ¬¬Y ) ∨ (Z→W ).

Formuleψ : (X ∧ Y ) ∨ ¬Z ∨W

je ekvivalentní formuli ϕ a je v DNF.

FIT VUT Matematická logika IDM’20 28 / 65

Page 29: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Normální formy — DNF

Prevod do DNF:algebraické úpravy

1 prevod do NNF2 použití distributivních zákonu

z pravdivostní tabulky1 Najdeme množinu ohodnocení R které mají hodnotu 1.2 Pro každé ohodnocení I ∈ R vytvoríme formuli

kI =

( ∧x∈X

I(x)=0

¬x

)∧

( ∧x∈X

I(x)=1

x

).

3 Výsledná formule vznikne disjunkcí formulí kI :

ϕ =∨I∈R

kI .

PríkladX Y Z ϕ

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

ϕ = (¬X ∧ ¬Y ∧ Z) ∨(X ∧ ¬Y ∧ Z) ∨(X ∧ Y ∧ Z)

FIT VUT Matematická logika IDM’20 29 / 65

Page 30: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Normální formy — CNF

Konjunktivní normální forma (CNF, nekdy též product of sums):je konjunkce disjunkcí literálu ∧

i

∨j

`i,j

PríkladNecht’

ϕ : (X ∧ ¬¬Y ) ∨ (Z→W ).

Formule

ψ : (X ∨ ¬Z ∨W ) ∧ (Y ∨ ¬Z ∨W )

je ekvivalentní formuli ϕ a je v CNF.

FIT VUT Matematická logika IDM’20 30 / 65

Page 31: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Výroková logika — Normální formy — CNF

Prevod do CNF:algebraické úpravy

1 prevod do NNF2 použití distributivních zákonu

z pravdivostní tabulky1 Najdeme množinu ohodnocení R které mají hodnotu 0.2 Pro každé ohodnocení I ∈ R vytvoríme formuli

kI =

( ∨x∈X

I(x)=0

x

)∨

( ∨x∈X

I(x)=1

¬x

).

3 Výsledná formule vznikne konjunkcí formulí kI :

ϕ =∧I∈R

kI .

PríkladX Y Z ϕ

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

ϕ = (X ∨ ¬Y ∨ ¬Z) ∧(¬X ∨ Y ∨ ¬Z) ∧(¬X ∨ ¬Y ∨ ¬Z)

FIT VUT Matematická logika IDM’20 31 / 65

Page 32: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu

FIT VUT Matematická logika IDM’20 32 / 65

Page 33: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika

Predikátová logika 1. rádu (First-Order Logic, FOL)zabývá se tvrzeními o entitách, jejich vlastnostech a vztazíchstaví na výrokové logiceinterpretuje („dívá se dovnitr“) výrokuuvažuje entity z univerza—tyto jsou oznaceny termyzkonstruovanými z promenných a funkcí, napr.I x, 5, f(x, 2), 40 + 2, fatherOf (motherOf (x)), head("abc"), sin(y)

výroky jsou nahrazeny predikáty nad termy, napr.I x = y, even(x), p(x, y, z), isFatherOf (x, y)

zavádí kvantifikátory pro vyjádrení vlastností entit z univerza:I ∀x — univerzální kvantifikátor (všechny entity x splnují vlastnost)I ∃x — existencní kvantifikátor (nejaká entita x splnuje vlastnost)

(v logice 2. a vyššího rádu se dá kvantifikovat pres relace; zdese tímto zabývat nebudeme)

FIT VUT Matematická logika IDM’20 33 / 65

Page 34: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logikaPríklad

Všichni muži jsou smrtelní. Sokrates je muž. Tedy Socrates je smrtelný.(∀x(man(x)→mortal(x)) ∧man(Socrates)

)→mortal(Socrates)

Existuje nekonecne mnoho prvocísel.

∀x∃y(y > x ∧ ∀z

((z 6= 1 ∧ z 6= y)→∀w(wz 6= y)

))Relace R je tranzitivní. ∀x∀y∀z( (R(x, y) ∧R(y, z))→R(x, z) )

Uvažujme tabulky R[jmeno, id] a S[id, vek] v SQL databáziselect R.jmeno from R join S on R.id = S.id where S.vek = 42

∃z(R(x, z) ∧ S(z, 42))

Velká Fermatova veta

∀n∀x∀y(n > 2 → ∀z(xn + yn 6= zn)

)FIT VUT Matematická logika IDM’20 34 / 65

Page 35: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — syntaxeSyntaxe:

Abeceda:I logické spojky: ¬,∧,∨,→,↔, (· · · ) (z výrokové logiky)I promenné: x, y, . . . , x1, x2, . . .I kvantifikátory: ∀,∃I závorky: (, )

I F : funkcní symboly (s /aritou ): f/2, +/2, sin/1, fatherOf/1, π/0• nulární funkce (arita 0): konstanty• použití: f(a, 3), +(40, 2), sin(x), fatherOf (Luke), π()• casto však píšeme: 40 + 2 [pro +(40, 2)], π [pro π()], . . .

I P: predikátové symboly (s /aritou ): p/3, isJedi/1, </2

• použití: p(a, x, 9), isJedi(Anakin), < (x, π)• casto však píšeme: x < π [pro <(x, π)], . . .

I predikátový symbol rovnosti =/2

Signatura 〈F ,P〉 = funkcní + predikátové symbolyI muže být chápána jako parametr

Jazyk: je jednoznacne dán signaturou

FIT VUT Matematická logika IDM’20 35 / 65

Page 36: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — syntaxePríklad

jazyk teorie usporádání: 〈F = ∅,P = {</2}〉I žádný funkcní symbolI jeden binární predikátový symbol <

jazyk teorie grup: 〈F = {·/2, e/0},P = ∅〉I binární funkcní symbol · (grupová operace násobení)I nulární funkcní symbol e pro neutrální prvek

jazyk teorie množin: 〈F = ∅,P = {∈/2}〉jazyk teorie polí: 〈F = {·[·]r/2, ·[·]

w/3},P = ∅〉

I binární funkcní symbol ctení z pole ·[·]r, napr., A[i]rI ternární funkcní symbol zápisu do pole ·[·, ·]w, napr., A[i, y]w (zápis y na index i v poli A)

jazyk teorie seznamu: 〈F = {cons/2, car/1, cdr/1},P = {atom/1}〉jazyk elementární (tzv. Peanovy) aritmetiky: 〈F = {zero/0, S/1,+/2, ·/2},P = ∅〉

FIT VUT Matematická logika IDM’20 36 / 65

Page 37: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — syntaxe

Gramatika: formule jsou tvoreny z termuterm (bude nabývat hodnoty z univerza):

t ::= x | f(t1, . . . , tn)

kde x ∈ X a f je funkcní symbol s aritou n.(speciálne, konstanta c je též term)príklady termu:I x, 5, f(x, 2), 40 + 2, car(cons(x, y)), head("abc"), sin y

FIT VUT Matematická logika IDM’20 37 / 65

Page 38: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — syntaxeGramatika (pokr.):

atomická formule:ϕatom ::= p(t1, . . . , tn)

pro predikátový symbol p/n a termy t1, . . . , tn(platí i když p je symbol rovnosti =)formule:

ϕ ::= ϕatom | (¬ϕ1) |(ϕ1 ∧ ϕ2) | (ϕ1 ∨ ϕ2) |(ϕ1→ϕ2) | (ϕ1↔ϕ2) |(∀xϕ1) | (∃xϕ1)

I kde x je promenná z množiny promenných XI (závorky opet casto vynecháváme)

príklady formulí:I ∃x(40 + x = 42 ∧ 40x = 80),I ∀x(tan(x) = sin(x)

cos(x) ),I atom(car(cons(x, y))),I ∀x(∃y(x = y · y ∨ x = −y · y))

FIT VUT Matematická logika IDM’20 38 / 65

Page 39: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — syntaxevýskyty promenných ve formuli:

vázaný: výskyt v rozsahu platnosti kvantifikátoruI napr. BOUND( ∃x(x = 4 ∧ ¬(y = 5)) ) = {x}

volný: výskyt, který není vázaný žádným kvantifikátoremI napr. FREE( x = 4 ∧ (∃y(y = 5)) ) = {x}

FREE(. . .) a BOUND(. . .) jsou symboly metajazykapromenná muže mít ve formuli jak vázaný, tak i volný výskyt

Príklad

∀x( p(f(x), y)→∀y(p(f(x), y)) )I x se vyskytuje jen vázané

I y se vyskytuje volné (antecedent) i vázané (konsekvent)

casto píšeme ϕ(x1, . . . , xn) když FREE(ϕ) ⊆ {x1, . . . , xn}I x1, . . . , xn slouží jako „rozhraní“ k ϕ

ϕ je uzavrená (také výrok) když FREE(ϕ) = ∅FIT VUT Matematická logika IDM’20 39 / 65

Page 40: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — sémantikaSémantika predikátové logiky:

symboly jazyka dosud nemely žádný významsložitejší než pro výrokovou logiku

Realizace (interpretace): I = (DI , αI):

dává symbolum jazyka významI formule muže v nekteré realizaci platit, a v jiné ne

doména (univerzum diskurzu) DI : neprázdná množinaI napr., N, {0, 1, 2, 3, 4}, R3, People, List [N], . . .

ohodnocení αI obsahující:I pro každý funkcní symbol f/n funkci fI :

n︷ ︸︸ ︷DI × . . .×DI → DI

• napr., αI(+) = {(0, 0) 7→ 0, (0, 1) 7→ 1, (1, 0) 7→ 1, (1, 1) 7→ 2, . . .}• pro konstanty tedy jednu hodnotu, napr., αI(π) = {() 7→ 3.14}

I pro každý predikátový symbol p/n relaci pI ⊆n︷ ︸︸ ︷

DI × . . .×DI

• napr., αI(</2) = {(0, 1), (0, 2), (1, 2), . . .}• napr., αI(even/1) = {0, 2, 4, . . .}• napr., αI(edge/2) = {(v1, v2), (v2, v3), . . .}

I ohodnocení promenných z X na hodnotu z DI , napr., x 7→ 42

FIT VUT Matematická logika IDM’20 40 / 65

Page 41: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — realizace

PríkladPríklady realizací jazyka se signaturou 〈F = {+/2},P = ∅〉:

Scítání v N: I = (N, αI) kdeI αI(+) = (+N) (scítání prirozených císel)

Scítání v R3: I = (R3, αI) kdeI αI(+) = {((x1, y1, z1), (x2, y2, z2)) 7→ (x1 +R x2, y1 +R y2, z1 +R z2) | . . .}

Spojení v Booleove algebre: I = ({0, 1}, αI) kdeI αI(+) = {(0, 0) 7→ 0, (0, 1) 7→ 1, (1, 0) 7→ 1, (1, 1) 7→ 1}

Modulární scítání v {0, 1, 2}: I = ({0, 1, 2}, αI) kdeI αI(+) = {(x, y) 7→ (x+ y mod 3) | x, y ∈ {0, 1, 2}}

FIT VUT Matematická logika IDM’20 41 / 65

Page 42: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — realizace

PríkladPríklady realizací jazyka se signaturou 〈F = {+/2, ·/2,−/1},P = {E/1}〉:

Scítání, násobení a opacné císlo v Z: I = (Z, αI) kdeI αI(+) = (+Z) (scítání celých císel)I αI(·) = (·Z) (násobení celých císel)I αI(−) = {x 7→ (0−Z x) | x ∈ Z}I αI(E) = {. . . ,−4,−2, 0, 2, 4, . . .}

Disjunkce, konjunkce a negace v Booleove algebre: I = ({0, 1}, αI) kdeI αI(+) = {(0, 0) 7→ 0, (0, 1) 7→ 1, (1, 0) 7→ 1, (1, 1) 7→ 1}I αI(·) = {(0, 0) 7→ 0, (0, 1) 7→ 0, (1, 0) 7→ 0, (1, 1) 7→ 1}I αI(−) = {0 7→ 1, 1 7→ 0}I αI(E) = {0}

FIT VUT Matematická logika IDM’20 42 / 65

Page 43: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — sémantika

Sémantika formule predikátové logikyzáleží na realizaci I = (DI , αI)

obecne nelze vyjádrit pravdivostní tabulkouI DI muže být nekonecná (spocetná, ale i nespocetná)

zjistíme pravdivost atomických predikátu,potom propagujeme nahoruhodnota termu t v realizaci I:I definována induktivne následujícím rozšírením αI [t]

pro f/n kde fI = αI(f):

αI [f(t1, . . . , tn)]def= fI(αI [t1], . . . , αI [tn])

(αI [x] pro x ∈ X a αI [c] pro konstantu c/0 jsou jiždefinovány v realizaci I)

FIT VUT Matematická logika IDM’20 43 / 65

Page 44: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — sémantikasémantika formule ϕ predikátové logiky:

urcuje, zda v dané realizaci I formule platí (I |= ϕ), nebo ne (I 6|= ϕ)definována induktivne:

1 pro predikátový symbol p/n a termy t1, . . . , tn platí

I |= p(t1, . . . , tn) práve když (αI [t1], . . . , αI [tn]) ∈ pI kde pI = αI [p]

(pro rovnost: I |= (t1 = t2) práve když αI [t1] a αI [t2] znací stejný prvek z DI )2 pro výrokové spojky:

I |= ¬ψ práve když I 6|= ψI |= ψ1 ∧ ψ2 práve když I |= ψ1 a zároven I |= ψ2

I |= ψ1 ∨ ψ2 práve když I |= ψ1 nebo I |= ψ2

I |= ψ1→ψ2 práve když pokud I |= ψ1 pak I |= ψ2

I |= ψ1↔ψ2 práve když I |= ψ1 a zároven I |= ψ2, nebo I 6|= ψ1 a zároven I 6|= ψ2

3 pro kvantifikátory:• variant I / {x 7→ v} realizace I je realizace získaná z I nahrazením x 7→ ? za x 7→ v v αI

• I |= ∀xϕ práve když pro všechny prvky v ∈ DI platí I / {x 7→ v} |= ϕI |= ∃xϕ práve když existuje prvek v ∈ DI takový, že I / {x 7→ v} |= ϕ

FIT VUT Matematická logika IDM’20 44 / 65

Page 45: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — sémantikaPríkladUvažujme jazyk L predikátové logiky prvního rádu se signaturou〈F = {+/2,−/1},P = {Z/1}〉 a jeho realizaci IL = ({a, b, c}, αIL) kde

αIL(+) =

(a, a) 7→ a (a, b) 7→ b (a, c) 7→ c(b, a) 7→ b (b, b) 7→ c (b, c) 7→ a(c, a) 7→ c (c, b) 7→ a (c, c) 7→ b

αIL(−) = {a 7→ a, b 7→ c, c 7→ b}αIL(Z) = {a}

Urcete, zda následující formule platí v realizaci IL: ∀x∀y(Z(x)→x+ y = y)

FIT VUT Matematická logika IDM’20 45 / 65

Page 46: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — pojmy

model formule ϕ:je realizace I taková, že I |= ϕ

splnitelnost (satisfiability):formule ϕ je splnitelná pokud má modeltj. existuje realizace I s doménou DI a ohodnocenímfunkcních, predikátových symbolu a promenných αI

takové, že I |= ϕ

FIT VUT Matematická logika IDM’20 46 / 65

Page 47: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — pojmy

logická platnost:formule ϕ je logicky platná pokud platí ve všech realizacích daného jazyka, tj. provšechny domény a ohodnocení funkcních, predikátových symbolu a promennýchznacíme |= ϕ

(ekvivalentní pojmu tautologie ve výrokové logice)

PríkladJe následující formule logicky platná?

ϕ : 1 + 1 = 2

proc?

FIT VUT Matematická logika IDM’20 47 / 65

Page 48: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — pojmy

logická ekvivalence:formule ϕ a ψ jsou logicky ekvivalentní pokud je formuleϕ↔ψ logicky platná(nebo: jestliže pro libovolnou realizaci I daného jazyka platíI |= ϕ práve když I |= ψ)znacíme ϕ⇔ ψ

logický dusledek:formule ψ je logickým dusledkem formule ϕ pokud je formuleϕ→ψ logicky platná(nebo: jestliže pro libovolnou realizaci I daného jazyka platí:pokud I |= ϕ, pak I |= ψ)znacíme ϕ⇒ ψ

FIT VUT Matematická logika IDM’20 48 / 65

Page 49: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — ekvivalence

ekvivalence z výrokové logiky plus následující:

∀xϕ ⇔ ¬∃x(¬ϕ) ∃xϕ ⇔ ¬∀x(¬ϕ)∀xϕ ⇔ ϕ ∃xϕ ⇔ ϕ pokud x /∈ FREE(ϕ)

∀x(ϕ ∨ ψ) ⇔ (∀xϕ) ∨ ψ ∃x(ϕ ∧ ψ) ⇔ (∃xϕ) ∧ ψ pokud x /∈ FREE(ψ)

∀x(ϕ→ψ) ⇔ (∃xϕ)→ψ ∃x(ϕ→ψ) ⇔ (∀xϕ)→ψ pokud x /∈ FREE(ψ)

∀x(ϕ→ψ) ⇔ ϕ→(∀xψ) ∃x(ϕ→ψ) ⇔ ϕ→(∃xψ) pokud x /∈ FREE(ϕ)

(∀x(ϕ(x))) ∧ (∀y(ψ(y))) ⇔ ∀x(ϕ(x) ∧ ψ(x)) pokud x /∈ FREE(ψ)

(∃x(ϕ(x))) ∨ (∃y(ψ(y))) ⇔ ∃x(ϕ(x) ∨ ψ(x)) pokud x /∈ FREE(ψ)

FIT VUT Matematická logika IDM’20 49 / 65

Page 50: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — ekvivalence

PríkladPreved’te následující formuli do tvaru, ve kterém jsou kvantifikátory co nejhloubeji:

¬∀x∃y(¬((p(x) ∧ r(x))→ r(y)

))⇔

⇔ ¬∀x(¬∀y

((p(x) ∧ r(x))→ r(y)

))⇔ ¬¬∃x∀y

((p(x) ∧ r(x))→ r(y)

)⇔ ∃x∀y

((p(x) ∧ r(x))→ r(y)

)⇔ ∃x

((p(x) ∧ r(x))→∀y(r(y))

)⇔(∀x(p(x) ∧ r(x))

)→∀y(r(y))

⇔((∀x(p(x))

)∧(∀x(r(x))

))→∀y(r(y))

FIT VUT Matematická logika IDM’20 50 / 65

Page 51: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — Substituce

Substituce termu t za promennou x ve formuli ϕ:formule ϕ[x/t] vzniklá z ϕ výmenou všech volných výskytu x za t

Príklad (x = y ∧ ∀x(y ≤ x)

)[y/z + 42] x = z + 42 ∧ ∀x(z + 42 ≤ x)

Prejmenování promenných: speciální prípad substituce

Príklad (x = y ∧ ∀x(y ≤ x)

)[x/z] z = y ∧ ∀x(y ≤ x)(

∀x∀y(x = y→¬(y < x)))[x/z] z = ∀x∀y(x = y→¬(y < x)(

x = y ∧ ∀x(y ≤ x))[y/x] x = x ∧ ∀x(x ≤ x)

FIT VUT Matematická logika IDM’20 51 / 65

Page 52: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — Substituce

Substituovatelnost: term t je substituovatelný za x do formule ϕ pokud platí, že:žádný volný výskyt promenné x ve ϕ neleží v oboru platnosti kvantifikátoru ∃y nebo∀y kde y je promenná obsažená v termu t

PríkladJe term z2 substituovatelný za promennou y ve formuli ∃x(x = y)?

Je term x+ 42 substituovatelný za promennou y ve formuli ∃x(x = y)?

Pokud je ϕ formule, x promenná a t term substituovatelný za x do ϕ, pak platí následujícídusledky:

∀xϕ ⇒ ϕ[x/t]

ϕ[x/t] ⇒ ∃xϕ

FIT VUT Matematická logika IDM’20 52 / 65

Page 53: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — Normální formy — PNFPrenexní normální forma (PNF):

formule je ve forme

ϕ = Q1x1 . . . . Qnxn︸ ︷︷ ︸prefix

(ψ(x1, . . . , xn, y1, . . . , ym)︸ ︷︷ ︸

matice

)kde Qi ∈ {∀, ∃} a ψ neobsahuje kvantifikátory; {y1, . . . , ym} = FREE(ϕ)

PríkladNecht’

ϕ : ∀n(n > 2 → ¬∃x∃y∃z(xn + yn = zn)

).

Pak

ψ : ∀n∀x∀y∀z(n > 2 → ¬(xn + yn = zn)

)je formule v PNF ekvivalentní s ϕ.

FIT VUT Matematická logika IDM’20 53 / 65

Page 54: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — Normální formy — PNFPrevod do PNF:

1 eliminace zbytecných kvantifikátoru: Qxϕ ϕ pro Q ∈ {∃,∀} pokud x /∈ FREE(ϕ)

2 postupná eliminace všech výskytu spojky↔: ϕ↔ψ (ϕ→ψ) ∧ (ψ→ϕ)

3 prejmenování promenných:I dokud existuje x ∈ X které

• je v pruniku FREE(ϕ) a BOUND(ϕ) nebo• je kvantifikováno více než jednou

pak nahrad’ ve ϕ podformuli Qxψ (pro Q ∈ {∃,∀}) za formuli Qy(ψ[x/y])• kde y je nová promenná, která nemá ve ϕ výskyt

4 presun negace dovnitr:¬∃xϕ ∀x(¬ϕ) ¬(ϕ ∧ ψ) ¬ϕ ∨ ¬ψ ¬(ϕ→ψ) ϕ ∧ ¬ψ¬∀xϕ ∃x(¬ϕ) ¬(ϕ ∨ ψ) ¬ϕ ∧ ¬ψ ¬¬ϕ ϕ

5 presun kvantifikátoru doleva:

Qx(ϕ) ∧ ψ Qx(ϕ ∧ ψ) Qx(ϕ)→ψ Qx(ϕ→ψ)

Qx(ϕ) ∨ ψ Qx(ϕ ∨ ψ) ϕ→Qx(ψ) Qx(ϕ→ψ)

pro Q ∈ {∃,∀}, kde Q je kvantifikátor „opacný“ ke Q (∃ 7→ ∀ a ∀ 7→ ∃).FIT VUT Matematická logika IDM’20 54 / 65

Page 55: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — Normální formy — PNF

PríkladPreved’te následující formuli do PNF.

∀n(n > 2 → ¬∃x∃y∃z(xn + yn = zn)

)⇔

⇔ ∀n(n > 2 → ∀x¬∃y∃z(xn + yn = zn)

)⇔ ∀n

(n > 2 → ∀x∀y¬∃z(xn + yn = zn)

)⇔ ∀n

(n > 2 → ∀x∀y∀z(¬(xn + yn = zn))

)⇔ ∀n∀x

(n > 2 → ∀y∀z(¬(xn + yn = zn))

)⇔ ∀n∀x∀y

(n > 2 → ∀z(¬(xn + yn = zn))

)⇔ ∀n∀x∀y∀z

(n > 2 → ¬(xn + yn = zn)

)FIT VUT Matematická logika IDM’20 55 / 65

Page 56: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika — Normální formy — PNFPríkladPreved’te následující formuli do PNF.∀y(∃x(P (x, y))→Q(y, z)

)∧ ¬∃z

(∀x(R(x, y) ∨Q(x, y)

))⇔

⇔ ∀y(∃x(P (x, y))→Q(y, z)

)∧ ¬∀x

(R(x, y) ∨Q(x, y)

)⇔ ∀y

(∃x(P (x, y))→Q(y, z)

)∧ ¬∀u

(R(u, y) ∨Q(u, y)

)⇔ ∀y

(∃x(P (x, y))→Q(y, z)

)∧ ∃u

(¬(R(u, y) ∨Q(u, y)

))⇔ ∀y

((∃x(P (x, y))→Q(y, z)

)∧ ∃u

(¬(R(u, y) ∨Q(u, y))

))⇔ ∀y∃u

((∃x(P (x, y))→Q(y, z)

)∧ ¬(R(u, y) ∨Q(u, y)

))⇔ ∀y∃u

(∀x(P (x, y)→Q(y, z)

)∧ ¬(R(u, y) ∨Q(u, y)

))⇔ ∀y∃u∀x

((P (x, y)→Q(y, z)

)∧ ¬(R(u, y) ∨Q(u, y)

))FIT VUT Matematická logika IDM’20 56 / 65

Page 57: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie

FIT VUT Matematická logika IDM’20 57 / 65

Page 58: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie

logická platnost formule ( |= ϕ ) mluví o pravdivosti ve všechrealizacíchcasto nás zajímá platnost jen v urcitých realizacíchI napr. platí 1 + 1 = 2 ve standardním modelu PA (N,+N)?

teorie slouží pro formalizaci matematických struktur pomocíjazyka logiky

Teorie T je definována prostrednictvím:

axiomu AT : množina uzavrených σT -formulí

I ne nutne konecná schéma axiomuI axiomy omezují realizace, o kterých chceme mluvit

• T -realizace: realizace jazyka se signaturou σT splnující AT

(nekdy se uvádí i signatura σT = 〈FT ,PT 〉:I množina funkcních a predikátových symbolu teorie TI σT -formule: formule nad signaturou σT )

FIT VUT Matematická logika IDM’20 58 / 65

Page 59: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie

T -realizace: realizace I jazyka se signaturou σT taková, že

I |= ϕA pro všechny formule ϕA ∈ AT

T -platnost: formule ϕ je T -platná pokud platí ve všechT -realizacíchI znacíme T |= ϕ

T -splnitelnost: formule ϕ je T -splnitelná pokud platív nejaké T -realizaci

FIT VUT Matematická logika IDM’20 59 / 65

Page 60: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie — Príklady

Teorie cástecného usporádáníSignatura: σ≤ = 〈F = ∅,P = {≤/2}〉Axiomy:

1 ∀x(x ≤ x) (reflexivita)2 ∀x∀y

((x ≤ y ∧ y ≤ x) → x = y

)(antisymetrie)

3 ∀x∀y∀z((x ≤ y ∧ y ≤ z) → x ≤ z

)(transitivita)

Teorie ostrého usporádáníSignatura: σ< = 〈F = ∅,P = {</2}〉Axiomy:

1 ∀x∀y(x < y → ¬(y < x)

)(asymetrie)

2 ∀x∀y∀z((x < y ∧ y < z) → x < z

)(transitivita)

3 lineární ostré usporádání:∀x∀y(x < y ∨ x = y ∨ y < x) (linearita)

4 husté lineární ostré usporádání:∀x∀y

(x < y → ∃z(x < z ∧ z < y)

)(hustota)

FIT VUT Matematická logika IDM’20 60 / 65

Page 61: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie — Príklady

Teorie grupSignatura: σG = 〈F = {·/2, e/0},P = ∅〉Axiomy:

1 ∀x∀y∀z(x · (y · z) = (x · y) · z

)(asociativita)

2 ∀x(x · e = x ∧ e · x = x) (neutrální prvek)

3 ∀x∃y(x · y = e ∧ y · x = e) (inverzní prvek)

4 komutativní grupy

∀x∀y(x · y = y · x) (komutativita)

FIT VUT Matematická logika IDM’20 61 / 65

Page 62: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie — Príklady

Peanova aritmetika (prvorádová teorie prirozených císel):Signatura: σPA = 〈F = {0, S,+, ·},P = ∅〉I 0/0 je konstantaI S/1 je unární funkcní symbol (nazývaný následník)I +/2 a ·/2 jsou binární funkcní symboly

Axiomy:1 ∀x

(¬(S(x) = 0)

)(nula)

2 ∀x∀y(S(x) = S(y) → x = y

)(následník)

3 (schéma axiomu) pro každou σPA-formuli ϕ s práve jednou volnou promennou:(ϕ(0) ∧ ∀x

(ϕ(x)→ϕ(S(x))

))→ ∀x(ϕ(x)) (indukce)

4 ∀x(x+ 0 = x) (plus nula)5 ∀x∀y(x+ S(y) = S(x+ y)) (následník plus)6 ∀x(x · 0 = 0) (krát nula)7 ∀x∀y(x · S(y) = x · y + x) (následník krát)

FIT VUT Matematická logika IDM’20 62 / 65

Page 63: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie — PríkladyTeorie množin (Zermelova-Fraenkelova teorie množin s axiomem výberu — ZFC):

Signatura: σZFC = 〈F = ∅,P = {∈/2}〉Axiomy:

1 ∀x∀y(x = y ↔ ∀z(z ∈ x ↔ z ∈ y)

)(extenzionalita)

2 ∀x(∃a(a ∈ x) → ∃y

(y ∈ x ∧ ¬∃z(z ∈ y ∧ z ∈ x)

))(fundovanost)

3 (schéma axiomu) pro každou σZFC -formuli ϕ s práve jednou volnou promennou:

∀a∃b∀x(x ∈ b ↔ (x ∈ a ∧ ϕ(x))

)(vydelení)

4 ∀x∀y∃z(x ∈ z ∧ y ∈ z) (dvojice)5 ∀a∃b∀x

(x ∈ b ↔ ∃y(x ∈ y ∧ y ∈ a)

)(sjednocení)

6 (schéma axiomu) pro každou σZFC -formuli ϕ: (nahrazení)

∀~y∀w(∀x((x ∈ w → ∃!zϕ(x, z, ~y)

)→ ∃s

(∀x(x ∈ w → ∃z(z ∈ s ∧ ϕ(x, z, ~y)))

))kde ∃!zψ(z, ~u) je zkrácený zápis ∃z

(ψ(z, ~u) ∧ ∀z′(ψ(z′, ~u) → z = z′))

)7 ∃a

(∅ ∈ a ∧ ∀x(x ∈ a → x ∪ {x} ∈ a)

)(nekonecno)

8 ∀x∃y∀z(z ⊆ x → z ∈ y) (potencní množina)kde ∅ ∈ a, x ∪ {x} ∈ a a z ⊆ x jsou standardní zkrácené zápisy

9 ∀x(¬(∅ ∈ x) → ∃f

((f : x→

⋃x) ∧ ∀a(a ∈ x → f(a) ∈ a)

))(výber)

FIT VUT Matematická logika IDM’20 63 / 65

Page 64: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Predikátová logika 1. rádu — Teorie

FOL teorie v informatice: napr.celocíselná lineární algebra (PA bez ·/2)teorie políteorie bitových vektorureálná aritmetika

Nástroje:SMT solvery: existencne kvantifikované formule — hledání rešeníI Z3, CVC4, Yices, STP, MathSAT, . . .

automatizované theorem provery: automatické dokazování matematických vetI Vampire, E, Prover9, Satallax. . .

interaktivní theorem provery: interaktivní dokazování matematických vetI Coq, HOL/Isabelle, Lean, . . .

FIT VUT Matematická logika IDM’20 64 / 65

Page 65: Ondˇrej Lengállengal/idm/idm-logika.pdfMatematická logika Ondˇrej Lengál Fakulta informaˇcních technologií Vysoké uˇcení technické v Brn eˇ IDM’19 [pˇreloženo 27

Literatura

[ A.R. Bradley and Z. Manna. The Calculus of Computation. ][ H.-D. Ebbinghaus, J. Flum, and W. Thomas. Mathematical Logic. ][ A. Doxiadis and C. Papadimitriou. Logicomix. ]https://wiki.lesswrong.com/wiki/Highly_Advanced_Epistemology_101_for_Beginners

[ E. Yudkowsky. Rationality: From AI to Zombies. ]

FIT VUT Matematická logika IDM’20 65 / 65