1 Formule predikátové logiky



Podobné dokumenty
1 Pravdivost formulí v interpretaci a daném ohodnocení

Rostislav Horčík. 13. října 2006

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:

2.1. Pojem funkce a její vlastnosti. Reálná funkce f jedné reálné proměnné x je taková

Lineární algebra. Vektorové prostory

Definice z = f(x,y) vázané podmínkou g(x,y) = 0 jsou z geometrického hlediska lokálními extrémy prostorové křivky k, Obr Obr. 6.2.

Výrazy lze též zavést v nečíselných oborech, pak konstanty označuji jeden určitý prvek a obor proměnné není množina čísel.

Hra a hry. Václav Vopravil. Teorie kombinatorických her se zabývá abstraktními hrami dvou hráčů. Hra je definována R },

Večerní kurzy matematiky Letní studentská konference Tudy Cesta Nevede

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

Matematický model kamery v afinním prostoru

6. Matice. Algebraické vlastnosti

4 DVOJMATICOVÉ HRY. Strategie Stiskni páku Sed u koryta. Stiskni páku (8, 2) (5, 3) Sed u koryta (10, 2) (0, 0)

3. Polynomy Verze 338.

Numerická integrace. 6. listopadu 2012

Asymptoty grafu funkce

Goniometrie trigonometrie

Úvod do výrokové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 29

Exponenciála matice a její užití. fundamentálních matic. Užití mocninných řad pro rovnice druhého řádu

Jan Březina. Technical University of Liberec. 17. března 2015

2.6.4 Lineární lomené funkce s absolutní hodnotou

Grafické řešení soustav lineárních rovnic a nerovnic

Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY

(k 1)x k + 1. pro k 1 a x = 0 pro k = 1.

UŽITÍ DERIVACÍ, PRŮBĚH FUNKCE

1.4.1 Výroky. Předpoklady: Výrok je sdělení, u něhož má smysl otázka, zda je či není pravdivé

M - Příprava na čtvrtletní písemnou práci

1.2.5 Reálná čísla I. Předpoklady:

c sin Příklad 2 : v trojúhelníku ABC platí : a = 11,6 dm, c = 9 dm, α = Vypočtěte stranu b a zbývající úhly.

Databázové a informační systémy

Zobrazení v rovině je předpis, který každému bodu X roviny připisuje právě jeden bod X roviny. Bod X se nazývá vzor, bod X se nazývá obraz.

Řešení: 20. ročník, 2. série

Úlohy domácího kola kategorie C

1.4.4 Negace složených výroků

( x ) 2 ( ) Další úlohy s kvadratickými funkcemi. Předpoklady: 2501, 2502

MATEMATIKA I VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ JIŘÍ NOVOTNÝ ZÁKLADY LINEÁRNÍ ALGEBRY

IRACIONÁLNÍ ROVNICE. x /() 2 (umocnění obou stran rovnice na druhou) 2x 4 9 /(-4) (ekvivalentní úpravy) Motivace: Teorie: Řešené úlohy:

MS Word 2007 REVIZE DOKUMENTU A KOMENTÁŘE

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

10 je 0,1; nebo taky, že 256

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Funkce Vypracovala: Mgr. Zuzana Kopečková

Druhá mocnina. Druhá odmocnina Druhá odmocnina. Předpoklady: V této hodině jsou kalkulačky zakázány.

1.7. Mechanické kmitání

Definice a vlastnosti funkcí

Regresní analýza. Statistika II. Jiří Neubauer. Katedra ekonometrie FEM UO Brno kancelář 69a, tel

Úvod do teoretické informatiky(2015/2016) cvičení 6 1

Příprava na 1. čtvrtletní písemku pro třídu 1EB

3.5.8 Otočení. Předpoklady: 3506

Slovní úlohy vedoucí na lineární rovnice I

Karetní hra bridž jako úloha modální výrokové logiky

ÚVOD DO HRY PRINCIP HRY

Řešení: Dejme tomu, že pan Alois to vezme popořadě od jara do zimy. Pro výběr fotky z jara má Alois dvanáct možností. Tady není co počítat.

2.2 Sémantika predikátové logiky

7. Odraz a lom. 7.1 Rovinná rozhraní dielektrik - základní pojmy

ZÁPISKY Z ANALYTICKÉ GEOMETRIE 1 SOUŘADNICE, BODY

Matematika pro 9. ročník základní školy

3. Ve zbylé množině hledat prvky, které ve srovnání nikdy nejsou napravo (nevedou do nich šipky). Dát do třetí

Aritmetika s didaktikou I.

Diamantová suma - řešení příkladů 1.kola

Žáci mají k dispozici pracovní list. Formou kolektivní diskuze a výkladu si osvojí grafickou minimalizaci zápisu logické funkce

Těhotenský test pro zrakově postižené Tereza Hyková

B Kvantitativní test. Semestrální práce TUR. Novotný Michal

Příklad 1.3: Mocnina matice

(a) = (a) = 0. x (a) > 0 a 2 ( pak funkce má v bodě a ostré lokální maximum, resp. ostré lokální minimum. Pokud je. x 2 (a) 2 y (a) f.

Aritmetika s didaktikou II.

Matematika pro chemické inženýry. Drahoslava Janovská

1 Pravděpodobnostní prostor

3. Slimák lezl na strom 10m vysoký. Přes den vylezl 4m ale v noci vždycky sklouzl o 3m. Za kolik dní dosáhl vrcholu stromu?

Matematický KLOKAN kategorie Benjamín

Podrobný postup pro vygenerování a zaslání Žádosti o podporu a příloh OPR přes Portál farmáře

( ) ( ) Sčítání vektorů. Předpoklady: 7201

Algoritmizace a programování

Fyzikální praktikum 3 - úloha 7

4.5.1 Magnety, magnetické pole

M-10. AU = astronomická jednotka = vzdálenost Země-Slunce = přibližně 150 mil. km. V následující tabulce je závislost doby

6 Extrémy funkcí dvou proměnných

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

1) Vypočítej A) 32 B) 44 C) 48 D) 56. 2) Urči číslo, které se skrývá za A ve výpočtu: 8 5 A) 12 B) 13 C) 14 D) 15

Miroslav Čepek

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

KVADRATICKÉ ROVNICE A NEROVNICE (početní a grafická řešení)

Poměry a úměrnosti I

GENESIS, LEKCE 27, VYBRANÁ PÍSMA OTÁZKY KE STUDIU

MSSF Benefit praktický průvodce pro žadatele v rámci Operačního programu Rozvoj lidských zdrojů

TEORIE MÍRY. A to jsme se docela snažili. Nešlo to jinak.

Pokud se vám tyto otázky zdají jednoduché a nemáte problém je správně zodpovědět, budete mít velkou šanci v této hře zvítězit.

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

1 Měření kapacity kondenzátorů

Predikátová logika. prvního řádu

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

2.5 Rezoluční metoda v predikátové logice

Úvod do Teorie grafů Petr Kovář

Ne tak letmý úvod k maticím První pracovní verze

Zadávací dokumentace dle ustanovení 44 zákona č. 137/2006 Sb., o veřejných zakázkách (dále jen zákon )

Rovnice s neznámou pod odmocninou I

Spoje se styčníkovými deskami s prolisovanými trny

Novinky verzí SKLADNÍK 4.24 a 4.25

Okruh č.3: Sémantický výklad predikátové logiky

Transkript:

1 Formule predikátové logiky Jazyk predikátové logiky L se skládá z logických symbolů (objektové proměnné, logické spojky, kvantifikátory), mimologických symbolů (predikátové, funkční a konstatní symboly) a pomocných symbolů (závorky a čárka). Termy jazyka L (L-termy) se definují induktivně pomocí objektových proměnných, konstantních a funčních symbolů takto: (1) každá proměnná a konstatní symbol je term; (2) pokud t 1,...,t n jsou termy a f je n-ární funkční symbol, pak f(t 1,...,t n ) je term. Mějme n-ární predikátový symbol P a termy t 1,...,t n. Pak P(t 1,...,t n ) je atomická formule. Pojem formule se opět definuje induktivně takto: (1) každá atomická formule je formule; (2) pokud ψ je formule, pak ψ, xψ, xψ jsou formule; (3) pokud ϕ a ψ jsou formule, pak ϕ ψ je formule pro {,,, }. Příklad 1.1 Pro následující formule napište jaké termy se v nich nacházejí a vyjmenujte všechny její podformule. 1. ϕ = x y((x (y + y) x + y) (x = y + 1)), jazyk formule ϕ obsahuje konstatní symbol 1, binární funkční symboly +, a binární predikátové symboly,=. 2. ψ = x(p(f(c),g(f(x),x)) yq(g(f(f(x)),f(y)),c,c)), jazyk formule ψ obsahuje konstatní symbol c, unární funkční symbol f, binární funkční symbol g, binární predikátový symbol P a ternární predikátový symbol Q. 1. Termy vyskytující se ve formuli ϕ jsou argumenty predikátových symbolů, tj. x (y +y), x+y, x, y + 1. Podformule ϕ jsou x (y + y) x + y, x = y + 1, (x (y + y) x + y) (x = y + 1), y((x (y + y) x + y) (x = y + 1)), ϕ. 2. Termy vyskytující se ve formuli ψ jsou argumenty predikátových symbolů, tj. f(c), g(f(x), x), g(f(f(x)),f(y)), c. Podformule ψ jsou P(f(c),g(f(x),y)), Q(g(f(f(x)),f(y)),c,c), yq(g(f(f(x)),f(y)),c,c), P(f(c),g(f(x),x)) yq(g(f(f(x)),f(y)),c,c), ψ. Příklad 1.2 Určete, které z následujících formulí jsou sentence. U každého výskytu proměnné uved te, jestli je volný nebo vázaný. 1. ϕ = y z( xp(y,x,z) P(f(x),f(y),z)), kde P je ternární predikátový symbol a f unární funkční symbol. 2. ϕ = xq(x) y x( Q(x) R(x,y)), kde Q je unární predikátový symbol, R je binární predikátový symbol. 3. ϕ = Q(a) (R(g(f(a),b),b) Q(b)), kde a,b jsou konstatní symboly, Q je unární predikátový symbol, R je binární predikátový symbol a f je unární funkční symbol. 1. V tomto případě všechny výskyty proměnných y,z jsou vázané. Proměnná x má první dva výskyty vázané a poslední volný. Protože formule ϕ obsahuje alespoň jeden volný výskyt, ϕ není sentence. 2. V tomto případě jsou všechny výskyty vázané, tudíž je ϕ sentence. 3. V posledním případě ϕ neobsahuje žádné volné výskyty, protože neobsahuje žádné proměnné. Tudíž je ϕ sentence. 1

2 Pravdivost formulí ve struktuře Než uvedeme konkrétní příklady, zopakujme si definici pravdivosti ve struktuře. Necht L je nějaký jazyk. Strukturu A pro jazyk L (L-struktura) tvoří množina prvků A (zvaná univerzum) a zobrazení, které přiřazuje každému konstantnímu symbolu a L prvek a A A, každému n-árnímu predikátovému symbolu P L přiřadí n-ární relaci P A A n a každému n-árnímu funkčnímu symbolu f L přiřadí zobrazení f A : A n A. Příklad 2.1 Příkladem struktury pro jazyk obsahující konstantní symboly a, b, binární predikátový symbol P a binární funkční symbol f, je např. čtveřice R = R,a R,b R,P R,f R, kde R je množina reálných čísel, a R = 1, b R = 5, P R = {(c,d) R 2 c d} a f R (c,d) = c + d, tj. P se interpretuje jako binární relace menší nebo rovno a f jako sčítání. Pokud máme danou strukturu A pro jazyk L, můžeme určit hodnotu každého termu, pokud neobsahuje proměnné. Hodnota t A termu t ve struktuře A je definována induktivně, tj. pokud t = a, kde a je konstantní symbol, pak t A = a A, pokud t = f(t 1,...,t n ), kde f je n-ární funkční symbol, pak t A = f A (t A 1,...,t A n ). Příklad 2.2 Vezměme interpretaci R definovanou výše. Pak hodnota termu t = f(f(a,f(b,a)),b) je t R = f R (f R (a R,f R (b R,a R )),b R ) = (1 + (5 + 1)) + 5 = 12. Nyní již můžeme definovat pojem pravdivosti sentence ϕ v dané L-struktuře A (značíme A = ϕ). Nejprve rozšíříme náš jazyk L o nové konstatní symboly, L A = {c a a A}, a definujeme L A - strukturu A C. Ta interpretuje konstantní symboly c a jako a (tj. c AC a = a) a zbytek se interpretuje stejně jako ve struktuře A. Pravdivost ϕ ve struktuře A se potom definuje pomocí struktury A C. pokud ϕ = P(t 1,...,t n ), kde P je n-ární predikátový symbol a t 1,...,t n termy, pak A = ϕ právě tehdy, když (t A 1,...,t A n ) P A, pokud ϕ = ψ, kde ψ je formule, pak A = ϕ právě tehdy, když A = ψ, pokud ϕ = ψ χ, kde ψ,χ jsou formule a {,,, }, pak se pravdivost ϕ určí z pravdivostí ψ a χ stejně jako ve výrokové logice. pokud ϕ = xψ(x), kde ψ je formule a x proměnná, pak A = ϕ právě tehdy, když pro všechny a A platí A C = ψ(c a ). pokud ϕ = xψ(x), kde ψ je formule a x proměnná, pak A = ϕ právě tehdy, když existuje a A takové, že A C = ψ(c a ). Abychom zjednodušili notaci, budeme jména c a prvků a ztotožňovat. Bude pak možno psát, že A = xψ(x) právě tehdy, když pro všechny a A platí A C = ϕ(a). Pojem pravdivosti rozšiřujeme i na formule s volnými výskyty proměnných. Necht ϕ(x 1,...,x n ) je formule, kde proměnné x 1,...,x n se vyskytují volně ve ϕ. Pak definujeme A = ϕ(x 1,...,x n ) právě tehdy, když A = x 1 x n ϕ(x 1,...,x n ). Příklad 2.3 Mějme jazyk obsahující jeden binární predikátový symbol Q a k němu strukturu A = A,Q A, kde A = {0,1,2,3} a Q A = {(0,2),(1,2),(2,2),(2,3)}. Zjistěte pro následující sentence, jestli jsou pravdivé v A. a) ϕ = x y Q(x,y). b) ϕ = x y(q(x,y) Q(y,x)). c) ϕ = x y(q(x,y) Q(y,y)). 2

a) A = ϕ právě tehdy, když existuje prvek univerza a A takový, že pro všechny prvky univerza b A platí, že (a,b) Q A. Jinými slovy existuje a A takové, že všechny dvojice prvků z univerza, které mají jako první složku a, nepatří do Q A. Vidíme tedy, že pro a = 3 je toto splněno, protože Q A neobsahuje žádnou dvojici s první složkou rovnou 3. Takže A = ϕ. b) A = ϕ právě tehdy, když existují prvky univerza a,b A takové, že (a,b) Q A a zároveň (b,a) Q A. Jinými slovy sentence říká, že existuje dvojice v Q A taková, že i její varianta s přehozenými složkami je také v Q A. Vidíme, že jediná dvojice, která toto splňuje je (2,2) Q A. Takže pro a = b = 2 platí, že (a,b) Q A a (b,a) Q A, tj. A = ϕ. c) A = ϕ právě tehdy, když existuje prvek univerza a A takový, že pro všechny prvky univerza b A platí, že (a,b) Q A právě tehdy, když (b,b) Q A. Tzn. že bud (a,b) Q A a zároveň (b,b) Q A nebo (a,b) Q A a zároveň (b,b) Q A (napište si DNF výrokové formule α β). Probereme jednotlivé možnosti pro prvek a. a = 0: Vidíme, že (0,2) Q A a zároveň (2,2) Q A. Takže prvek a = 0 nesplňuje naší podmínku. a = 1: Podobně jako minule máme (1,2) Q A a zároveň (2,2) Q A, takže ani pro a = 1 to neplatí. a = 2: Stejně tak tady máme (2,2) Q A a zároveň (2,2) Q A, takže zase nic. a = 3: V tomto případě neexistuje dvojice v Q A, která by měla na první složce 3. Nicméně vidíme, že např pro (3,0) Q A a zároveň (0,0) Q A. Takže v tomto případě není naše podmínka splněna. Shrnuto vše dohromady, A = ϕ, protože pro žádnou možnou hodnotu a nebylo splněno A C = y(q(a,y) Q(y,y)). Příklad 2.4 Mějme interpretaci R z příkladu 2.1. Pro každou následující formuli ϕ, zda-li platí R = ϕ. a) ϕ = P(f(x,y),a) P(a,y). b) ϕ = y(p(f(x,y),a) P(a,y)). c) ϕ = x y((p(x,a) P(a,y)) P(x,y)). a) Protože ϕ není sentence, zjišt ujeme tedy, jestli platí R = x yϕ(x,y). Připomeňme, že P se interpretuje v R jako, f jako + a a jako 1. Formule ϕ je tedy pravdivá v R právě tehdy, když pro všechny r,s R platí R C = P(f(r,s),a) P(1,s), tj. pro všechny r,s R platí r + s 1 a 1 > s. To ale neplatí, protože např. pro s = 2 není pravda, že 1 > s. Tudíž R = ϕ. b) V tomto případě máme stejnou formuli jako předtím, až na existenční kvantifikátor na začátku formule. Proměnná y ted není volná, takže nyní zjišt ujeme, jestli R = xϕ(x). Podobně jako v předchozím bodě, R = xϕ(x) právě tehdy, když pro všechny r R existuje s R takové, že r + s 1 a 1 > s. Takové s R existuje. Abychom splnili nerovnici r + s 1, musí platit s 1 r. Stačí tedy vzít za s libovolné reálné číslo ostře menší min{1 r,1}. Tudíž R = ϕ. c) Formule ϕ je v tomto případě sentence. Podle definice pravdivosti R = ϕ právě tehdy, když pro všechny r,s R platí R C = (P(r,a) P(a,s)) P(r,s). To znamená, že pro všechny r,s R musí platit, že r 1 a 1 s implikuje r s. To ale platí, protože je tranzitivní binaární relace na R. Tudíž R = ϕ. 3

Příklad 2.5 Mějme jazyk obsahující binární predikátový symbol =, binární funkční symbol a konstantní symbol 0. Necht Q = Q,,0 je struktura, kde Q je množina racionálních čísel, je běžné násobení racionálních čísel a 0 je racionální číslo nula. Zjistěte pro následující sentence, jestli jsou pravdivé v Q. a) x y(y y = x). b) x y( (x = 0) z(x z = y)). a) Přečteme si, co sentence a) říká. Pro každé racionální číslo p existuje racionální číslo q takové, že q q = p. To ale neplatí, protože např. pro p = 2 neexistuje racionální číslo q takové, že q q = 2. Takže sentence z bodu a) není pravdivá v Q. b) Přečteme si opět, co sentence b) říká. Pro každá racionální čísla p,q pokud p 0, pak existuje racionální číslo r takové, že p r = q. Toto tvrzení je pravdivé, protože když p 0, můžeme za r vzít podíl q q p Q. Pak je totiž splněno p p = q. Takže sentence z bodu b) je pravdivá v Q. Příklad 2.6 Mějme jazyk obsahující binární predikátové symboly,= a struktury N = N,, Z = Z,, Q = Q,, kde N je množina přirozených čísel, Z je množina celých čísel, Q množina racionálních čísel a je běžné uspořádání. 1. Najděte sentenci ϕ takovou, že Z = ϕ a N = ϕ. 2. Najděte sentenci ψ takovou, že Q = ψ a Z = ψ. Obecně v takovýchto typech příkladů musíme najít nějakou vlastnost, kterou se jednotlivé struktury liší, a pak se jí snažit popsat v daném jazyce. 1. Typická vlastnost, která odlišuje N od Z, je existence nejmenšího prvku. Víme, že 0 je nejmenší prvek N, kdežto celá čísla nejmenší prvek nemají. Sentence ϕ by tedy měla vyjadřovat neexistenci nejmenšího prvku. Pak bude platit v Z a nebude platit v N. Prvek a je nejmenší vůči, pokud platí y(a y). Když chceme říci, že neexituje takové a, dostaneme sentenci ϕ = x y(x y). 2. Nyní potřebujeme rozlišit racionální a celá čísla. Typickou vlastností odlišující tyto množiny je tato vlastnost: pro každé dvě čísla a,b takové, že a < b, existuje c takové, že a < c < b. Tuto vlastnost mají racionální čísla a nemají ji celá čísla. Popišme tuto vlastnost pomocí formule. Nejprve si ukažme jak vyjádřit, že a je ostře menší než b. To lze zapsat takto (a b) (a = b). Označme ψ < (x,y) formuli (x y) (x = y). Rozepsano x y(ψ < (x,y) z(ψ < (x,z) ψ < (z,y))). x y( ((x y) (x = y) ) z ( (x z) (x = z) (z y) (z = y) ) ). 3 Tautologie, kontradikce, splnitelné sentence Připomeňme, že sentenci ϕ nazýváme tautologie, pokud je pravdivá v každé struktuře. Naopak ϕ nazýváme nesplnitelnou sentencí (také kontradikcí), pokud není pravdivá v žádné struktuře. Sentence, které jsou pravdivé alespoň v jedné struktuře nazýváme splnitelné. Všimněte si, že speciálně každá tautologie je i splnitelná, ale splnitelná nemusí být tautologie. 4

Příklad 3.1 Zjistěte pro každou následující sentenci, jestli je tautologie, kontradikce nebo splnitelná (ale ne tautologie). a) x P(x) x P(x). b) x(p(x) Q(x)) ( x P(x) x Q(x)). c) x(p(x) Q(x)) ( x P(x) x Q(x)). d) x P(x) x P(x). e) x y Q(x,y) z Q(z,z). f) x y Q(x,y) z Q(z,z). g) x ( Q(x,f(x)) Q(f(x),f(x)) ). a) Sentence říká, že pokud existuje prvek univerza, který má vlastnost P, pak už ji musí mít všechny prvky. Taková věc samozřejmě nemusí platit vždy, např. ve struktuře N = N,P N, kde P N = {2n n N} je množina sudých přirozených čísel, to neplatí, protože existuje sudé přirozené číslo (např. 2), ale není pravda, že všechny přirozená čísla jsou sudá (např. 3). Sentence tedy nemůže být tautologie. Sentence je tedy bud kontradikce nebo splnitelná. Protože implikaci utvoříme jednoduše pravdivou, pokud učiníme její předpoklad nepravdivý, je zřejmé, že existuje interpretace, kde je naše sentence pravdivá. Např. pro N = N,P N, kde P N =, je x P(x) nepravdivá, a tudíž je naše sentence v této interpretaci pravdivá. Shrnuto sentence z bodu a) je splnitelná, ale ne tautologie. b) Sentence z bodu b) je ekvivalence. Ta je pravdivá pokud jsou bud oba její argumenty pravdivé nebo oba nepravdivé. Necht A = A,P A,Q A je libovolná struktura. Podíváme se, jestli může být tato podmínka splněna. Nejprve předpokládejme, že A = x(p(x) Q(x)). Musíme ukázat, že i A = x P(x) x Q(x). Z pravdivosti x(p(x) Q(x)) plyne, že pro každý prvek a A platí, že a P A a zároveň a Q A. Jinými slovy P A = Q A = A. Z toho ale plyne, že A = x P(x) a zrovna tak A = x Q(x). Tudíž je v této struktuře pravdivá i konjunkce těchto sentencí x P(x) x Q(x). Nyní předpokládejme, že A = x(p(x) Q(x)). Tj. existuje prvek a A takový, že a P A nebo a Q A. Předpokládejme, že např. a P A (druhý případ by se dělal analogicky). Tzn. že P A A, a tedy A = x P(x). Tudíž je v této struktuře nepravdivá i konjunkce sentencí x P(x) x Q(x). Ukázali jsme, že oba argumenty ekvivalence jsou bud oba pravdivé nebo oba nepravdivé v libovolné struktuře. Tzn. že sentence z bodu b) je tautologie. c) Sentence z bodu c) je implikace, která je pravdivá, pokud ukážeme, že z pravdivosti jejího předpokladu plyne pravdivost jejího závěru. Necht A = A,P A,Q A je libovolná struktura. Předpokládejme, že A = x(p(x) Q(x)). Tzn. že pro každý prvek univerza a A platí, že a P A nebo a Q A. Jinými slovy P A Q A = A. Podívejme se, jestli za této podmínky musí platit závěr naší implikace x P(x) x Q(x). Aby byla sentence x P(x) x Q(x) pravdivá muselo by platit P A = A nebo Q A = A. Takové tvrzení, ale z našeho předpokladu P A Q A = A neplyne. Např. pro A = N, P A = {2n n N} sudá přirozená čísla a Q A = N \ P A lichá přirozená čísla, máme P A Q A = N, ale není pravda, že by všechna čísla byla sudá nebo lichá, tj. P A A a Q A A. Sentence z bodu c) tedy není tautologie. Nicméně je splnitelná. Pokud bychom např. vzali A = N, P A = N a za Q A cokoli, pak je závěr naší implikace x P(x) x Q(x) pravdivý v A, a tudíž je pravdivá i celá implikace. Shrnuto sentence z bodu c) není tautologie, ale je splnitelná, protože existuje struktura, kde je pravdivá. 5

d) Sentence z bodu d) je konjunkce, která je pravdivá, pokud jsou pravdivé oba její argumenty x P(x) a x P(x). Oba argumenty jsou zřejmě splnitelné sentence, ale ne tautologie. Celá konjunkce tedy nemůže být tautologie. Podívejme se, jestli je možné najít strukturu, kde jsou pravdivé oba tyto argumenty. Necht A = A,P A je libovolná struktura. Pokud A = x P(x), pak P A = A. Naopak pokud A = x P(x), pak existuje prvek a A takový, že a P A, tj. P A A. Vidíme, že podmínky P A = A a P A A nelze splnit zároveň. Z toho plyne, že v každé interpretaci, kde je x P(x) pravdivé není pravdivé x P(x) a naopak. Neboli neexistuje struktura, kde by byly pravdivé obě sentence x P(x) a x P(x). Sentence z bodu d) je tedy nesplnitelná. e) Sentence z bodu e) je implikace, která je nepravdivá jedině tehdy, když má pravdivý předpoklad a nepravdivý závěr. Necht A = A,Q A je struktura taková, že A = x y Q(x,y). Zjistíme, jestli může nastat A = z Q(z,z). Z předpokladu A = x y Q(x,y) plyne, že existuje a A takový, že pro všechna b A máme (a,b) Q A. Speciálně tedy pro b = a máme (a,a) Q A. Tudíž A = z Q(z,z). Zjistili jsme tedy, že pokud v nějaké struktuře je předpoklad implikace pravdivý, je tam pravdivý i závěr. Sentece z bodu e) je tedy tautologie, protože v libovolné strutuře bud platí předpoklad, a pak platí i závěr, nebo neplatí předpoklad, a pak je implikace pravdivá nezávisle na závěru. f) Sentence z bodu f) se liší od bodu e) jen prohozením kvantifikátorů v předpokladu implikace. Podobně jako předtím necht A = A,Q A je struktura taková, že A = x y Q(x,y). To znamená, že pro každý prvek a A existuje prvek b a A takový, že (a,b a ) Q A. Všiměte si, že prvek b a je indexován prvkem a a to z toho důvodu, že pro různé prvky a,a A mohou být obecně prvky b a,b a různé. Ptáme se, jestli za tohoto předpokladu musí platit A = z Q(z,z), tj. jestli musí existovat prvek c A takový, že (c,c) Q A. Takový prvek, ale zřejmě existovat nemusí. Uvažujme např. strukturu, kde A = {0,1} a Q A = {(0,1),(1,0)}. Pak platí, že pro každý prvek a A existuje b a A takové, že (a,b a ) Q A (konkrétně pro a = 0 máme b a = 1 a pro a = 1 máme b a = 0) a zároveň neexistuje c A takové, že (c,c) Q A. V této struktuře tedy sentence z bodu f) neplatí, a tudíž to není tautologie. Nicméně je to splnitelná sentence, protože bude pravdivá např. v každé struktuře, kde bude pravdivý závěr implikace. Tedy např. pro jednoprvkovou strukturu A = A,Q A, kde A = {0} a Q A = {(0,0)}. g) Necht A = A,Q A,f A je struktura, tj. Q A A A a f A : A A. Podle definice pravdivosti A = x ( Q(x,f(x)) Q(f(x),f(x)) ) právě tehdy, když existuje a A takové, že A C = Q(a,f(a)) Q(f(a),f(a)). Pokud by existovalo a A takové, že (a,f A (a)) Q A, pak by byl neplatný předpoklad Q(a,f(a)) a implikace by tudíž byla pravdivá, tj. platilo by A = x ( Q(x,f(x)) Q(f(x),f(x)) ). To nastává např. v každé struktuře, kde Q A =. Sentence z bodu g) je tedy splnitelná. Zjistěme, jestli je to tautologie. Předpokládejme, že A je struktura, kde pro všechny a A máme (a,f A (a)) Q A, tzn. předpoklad implikace Q(a,f(a)) je splněn pro každé a A. Z tohoto předpokladu plyne, že f A Q A, když chápeme zobrazení f A jako binární relaci na A. Plyne ale z tohoto předpokladu, že (f A (a),f A (a)) Q A? Ukážeme, že ne. Necht A = A,Q A,f A, kde A = {0,1}, Q A = {(0,1),(1,0)} a f A (0) = 1, f A (1) = 0. Všiměte si, že Q A = f A. Tudíž pro všechny a A máme (a,f A (a)) Q A, ale pro žádné a A není pravda, že (f A (a),f A (a)) Q A. Takže A = x ( Q(x,f(x)) Q(f(x),f(x)) ). Sentence z bodu g) tedy není tautologie. 4 Splnitelné a nesplnitelné množiny sentencí Připomeňme, že množina sentencí M se nazývá splnitelná, pokud existuje její model, tj. existuje struktura A taková, že A = ϕ pro každou ϕ M. Pokud taková struktura neexistuje nazýváme množinu M nesplnitelnou. Uvědomte si, že zjišt ovat, jestli je jednoprvková množina sentencí M = {ϕ} splnitelná, znamená vlastně zjistit, zda-li je splnitelná ϕ. Příklad 4.1 Zjistěte pro každou následující množiny sentencí, jestli jsou splnitelné či nesplnitelné. 6

a) M 1 = { x R(x,x), x y(r(x,y) R(y,x)), x y z((r(x,y) R(y,z)) R(x,z))}. b) M 2 = { x( P(x) Q(x)), x(p(x) Q(x))}. c) M 3 = { x(p(x) Q(x)), x(p(x) Q(x)), (P(c) Q(c))}. a) Vidíme, že všechny sentence z M 1 se týkají binárního predikátového symbolu R. Chceme zjistit, jestli je M 1 splnitelná, tj. chceme najít strukturu A = A,R A, kde jsou pravdivé všechny sentence z M 1. Interpretace R A symbolu R je nějaká binární relace na A. Musíme tedy zjistit, jestli existuje množina A a binární relace R A na A taková, že jsou pravdivé všechny sentence z M 1. Přečteme si, co jednotlivé sentence o R říkají. První říká, že pro každé a A platí (a,a) R A. Druhá říká, že pro každé a,b A pokud (a,b) R A, pak (b,a) R A. Poslední říká, že pro každé a,b,c A pokud (a,b) R A a (b,c) R A, pak (a,c) R A. Jinými slovy R A má být reflexivní, symetrická a tranzitivní relace, tj. ekvivalence. Protože ekvivalence existují (např. pro A = N je R A = {(n,n) n N} ekvivalence) je množina M 1 splnitelná. b) Chceme najít strukturu A = A,P A,Q A, ve které jsou všechny sentence z M 2 pravdivé. Unární predikátové symboly se budou interpretovat jako podmnožiny A, tj. P A A a Q A A. Přečtěme si, co říkají sentence z M 2. První říká, že pro každé a A platí, že a P A nebo a Q A. Z toho plyne, že P A Q A =, protože když a P A, pak nutně a Q A. Druhá sentence říká, že pro každé a A pokud a P A, pak a Q A. Jinými slovy všechny prvky z P A patří do Q A, tj. P A Q A. Takže musíme zvolit P A a Q A tak, aby platilo P A Q A = a zároveň P A Q A. To udělat lze, např. pokud A je libovolná neprázdná množina, Q A = U a P A =, pak P A Q A = A = a P A = A = Q A. Takže množina M 2 je splnitelná. Všimněte si, že pokud bychom přidali do M 2 sentenci x P(x) vyžadující neprázdnost P A, pak se množina M 2 stala nesplnitelnou. c) Opět chceme najít strukturu A = A,P A,Q A, ve které jsou všechny sentence z M 3 pravdivé. Unární predikátové symboly se budou interpretovat jako podmnožiny A, tj. P A A a Q A A. Konstantní symbol c se interpretuje jako prvek univerza, tj. c A A. Přečtěme si, co říkají první dvě sentence. První říká, že pro všechna a A platí a P A nebo a Q A. Jinými slovy P A Q A = A. Druhá sentence říká, že neexistuje a A takové, že a P A a zároveň a Q A. Jinými slovy P A Q A =. Takže aby byly splněny první dvě sentence, musí být podmnožiny P A a Q A disjunktní a jejich sjednocení celé univerzum A. Podívejme se, jestli se za těchto podmínek dá splnit i třetí sentence. Třetí sentence říká, že není pravda, že c A P A právě tehdy, když c A Q A. Musíme zvolit c A tak, aby byla ekvivalence P(c) Q(c) nepravdivá, tj. bud c A P A a c A Q A nebo c A P A a c A Q A. První případ není možný, protože P A Q A =. V druhém případě z c A P A plyne, že c A Q A, protože P A Q A = A. To je ale spor, protože nemůže zároveň platit c A Q A a c A Q A. To znamená, že at už zvolíme prvek c A jakkoliv, třetí sentence nebude nikdy pravdivá, pokud budou pravdivé první dvě. Takže M 3 je nesplnitelná. Splnitelnost či nesplnitelnost množiny sentencí můžeme také zjistit pomocí rezoluční metody. Nicméně pokud je množina splnitelná rezoluční algoritmus se nemusí zastavit, a pokud se zastaví, znamená to, že žádná další rezolventa již nejde vyrobit, což bývá často na papíře pracné ověřit. Příklad 4.2 Rozhodněte rezoluční metodou, jestli jsou množiny M 2 a M 3 z příkladu 4.1 splnitelné či nesplnitelné. 7

M 2 : Najdeme nejprve ekvisplnitelnou množinu sentencí S pro M 2. První sentence z M 2 je již klausule, takže s tou nemusíme nic dělat. U druhé stačí nahradit implikaci pomocí negace a disjunkce, takže dostaneme x( P(x) Q(x)). Ekvisplnitelná množina sentencí pro M 2 tedy je S = { P(x) Q(x), P(y) Q(y)}. Pro jistotu jsme přejmenovali proměnné u druhé sentence. Rezoluční algoritmus může v tomto případě vyrobit jen jednu rezolventu, a to P(x). Protože žádná další rezolventa nejde vyrobit a prázdnou klausuli F jsme neobdrželi, je množina M 2 splnitelná. M 3 : Najdeme opět ekvisplnitelnou množinu sentencí S pro M 3. První sentence z M 2 je již klausule, takže s tou nemusíme nic dělat. Druhou je potřeba převést do prenexního normálního tvaru. Distribucí existenčního kvantifikátoru přes negaci dostaneme x (P(x) Q(x)). Použitím De Morganova zákonu obdržíme již klausuli x( P(x) Q(x)). Poslední sentenci je potřeba převést do CNF. Pravdivostní tabulka pro výrokovou formuli (p q) je p q (p q) 0 0 1 0 1 0 1 0 0 1 1 1 Ekvivalentní formule v CNF je tedy (p q) ( p q). Takže třetí sentenci můžeme ekvivalentně přepsat na (P(a) Q(a)) ( P(a) Q(a)). Ekvisplnitelná množina sentencí pro M 3 tedy je S = {P(x) Q(x), P(y) Q(y), P(a) Q(a), P(a) Q(a)}. Pro jistotu jsme přejmenovali proměnné u druhé sentence. Rezoluční metoda nám dává: 1. P(x) Q(x) 2. P(y) Q(y) 3. P(a) Q(a) 4. P(a) Q(a) 5. Q(a) 1,4,{x/a} 6. Q(a) 2,3,{y/a} 7. F 5,6. Protože jsme obdrželi v průběhu rezolučního algoritmu prázdnou klausuli F je množina klausulí S nesplnitelná, a tudíž i množina sentencí M 3 je nesplnitelná. 8