Matematika IV - 7. přednáška Uspořádané množiny, svazy a Booleovy algebry Michal Bulant Masarykova univerzita Fakulta informatiky 31. 3. 2008 = Q Uspořádané množiny Q Množinová a booleovská (Booleova) algebra Q Výroková logika Q Přepínače a dělitelé Q Normální tvar Q Homomorfismy • Martin Panák, Jan Slovák, Drsná matematika, e-text. • R. Kučera, e-text Svazy 2003 (http: //www.math.muni.cz/~kucera/texty/Svazy2003.pdf) a příklady na procvičení (http: //www.math.muni.cz/~kucera/texty/Svazy-dopl.ps) • L. Procházka a kol., Algebra, Academia, Praha 1990. • S. MacLane, G. Birkhoff, Algebra, Alfa, Bratislava 1974. • dále Předmětové záložky v IS MU lán přednášky Uspořádané množiny □ g - = -E-OQ^O" Posety a svazy Z dřívějška víme, že uspořádání na množině M je relace na M, která je • reflexivní, Posety a svazy Z dřívějška víme, že uspořádání na množině M je relace na M, která je • reflexivní, • antisymetricka, a S - = -E -0a*0 Z dřívějška víme, že uspořádání na množině M je relace na M, která je • reflexivní, • antisymetricka, • tranzitivní. Z dřívějška víme, že uspořádání na množině M je relace na M, která je • reflexivní, • antisymetricka, • tranzitivní. Z dřívějška víme, že uspořádání na množině M je relace na M, která je • reflexivní, • antisymetrická, • tranzitivní. Přitom obecně nemusí být úplné, tj. nemusí pro libovolnou dvojici x,y G M platit x < y ani y < x. Někdy proto zdůrazňujeme, že mluvíme o částečném uspořádání a o dvojici (M, <) jako o posetu (z angl. partially ordered set). 22 Příklad Je-li dána (konečná či nekonečná) množina K, pak na množině M = 2K všech podmnožin K lze definovat takové uspořádání prostřednictvím inkluze (tj. pro A, B C K definujeme A < B <=^ A C ß). Příklad Je-li dána (konečná či nekonečná) množina K, pak na množině M = 2K všech podmnožin K lze definovat takové uspořádání prostřednictvím inkluze (tj. pro A, B C K definujeme A < B <í=> A C ß). Obdobně ale uspořádanou množinu tvoří i (2K, D). Uspořádanou množinu tvoří např. naše běžné číselné obory spolu s operací uspořádání - např. (Z, <), (N, <), (Q, <). Příklad Je-li dána (konečná či nekonečná) množina K, pak na množině M = 2K všech podmnožin K lze definovat takové uspořádání prostřednictvím inkluze (tj. pro A, B C K definujeme A < B <í=> A C ß). Obdobně ale uspořádanou množinu tvoří i (2K, D). Uspořádanou množinu tvoří např. naše běžné číselné obory spolu s operací uspořádání - např. (Z, <), (N, <), (Q, <). Uspořádání na N je navíc tzv. dobré uspořádání, kdy každá neprázdná podmnožina má nejmenší prvek (ikoliv nutně největší). To umožní provádění matematické indukce (tuto vlastnost nemá ani Z, ani Q). Příklad Je-li dána (konečná či nekonečná) množina K, pak na množině M = 2K všech podmnožin K lze definovat takové uspořádání prostřednictvím inkluze (tj. pro A, B C K definujeme A < B <í=> A C ß). Obdobně ale uspořádanou množinu tvoří i (2K, D). Uspořádanou množinu tvoří např. naše běžné číselné obory spolu s operací uspořádání - např. (Z, <), (N, <), (Q, <). Uspořádání na N je navíc tzv. dobré uspořádání, kdy každá neprázdná podmnožina má nejmenší prvek (ikoliv nutně největší). To umožní provádění matematické indukce (tuto vlastnost nemá ani Z, ani Q). Poznamenejme, že na C není žádné uspořádání, které by přirozeně vycházelo z uspořádání reálných čísel. Uspořádanou množinu tvoří rovněž množina všech kladných dělitelů daného přirozeného čísla n vzhledem k relaci dělitelnosti. Příklad Je-li dána (konečná či nekonečná) množina K, pak na množině M = 2K všech podmnožin K lze definovat takové uspořádání prostřednictvím inkluze (tj. pro A, B C K definujeme A < B <í=> A C ß). Obdobně ale uspořádanou množinu tvoří i (2K, D). Uspořádanou množinu tvoří např. naše běžné číselné obory spolu s operací uspořádání - např. (Z, <), (N, <), (Q, <). Uspořádání na N je navíc tzv. dobré uspořádání, kdy každá neprázdná podmnožina má nejmenší prvek (ikoliv nutně největší). To umožní provádění matematické indukce (tuto vlastnost nemá ani Z, ani Q). Poznamenejme, že na C není žádné uspořádání, které by přirozeně vycházelo z uspořádání reálných čísel. Uspořádanou množinu tvoří rovněž množina všech kladných dělitelů daného přirozeného čísla n vzhledem k relaci dělitelnosti.(Uvažte, proč nevyhovuje množina všech dělitelů). nh ornou r/~i\/no-7 cm \\ i o i icr\/-ir^ri ^n/-ii i mnri7innn K uspořádaným množinám se vztahují pojmy: 9 nejmenší a největší prvek • maximální a minimální prvek • horní (dolní) závora dané množiny • supremum (infimum) dané množiny K uspořádaným množinám se vztahují pojmy: 9 nejmenší a největší prvek • maximální a minimální prvek • horní (dolní) závora dané množiny • supremum (infimum) dané množiny Konečné posety se přehledně zobrazují pomocí orientovaných grafů. Prvky K jsou představovány uzly a hranou jsou spojeny právě prvky v relaci s orientací od většího k menšímu . Hasseovský diagram posetu je zakreslení takového grafu v rovině tak, že větší prvky jsou zobrazeny vždy výš než menší (a orientace hran je tedy dána takto implicitně) - kvůli přehlednosti, přitom hrany kreslíme pouze tehdy, pokud větší prvek pokrývá menší. Svazy Definice Svaz (angl. lattice) je poset (K, <), ve kterém má každá dvouprvková množina {A, B} supremum A\/ B a infimum A A B v K. Úplný svaz je pak takový poset, kdy má infimum a supremum každá podmnožina. = Booleovy algebr ooooooo Svazy Definice Svaz (angl. lattice) je poset (K, <), ve kterém má každá dvouprvková množina {A, B} supremum A\/ B a infimum A A B v K. Úplný svaz je pak takový poset, kdy má infimum a supremum každá podmnožina. Příklad • Libovolná úplně uspořádaná množina tvoří svaz - (R, <) a pod. Booleovy algebr ooooooo Svazy Definice Svaz (angl. lattice) je poset (K, <), ve kterém má každá dvouprvková množina {A, B} supremum A\/ B a infimum A A B v K. Úplný svaz je pak takový poset, kdy má infimum a supremum každá podmnožina. Příklad • Libovolná úplně uspořádaná množina tvoří svaz - (R, <) a pod. • Poset Dn kladných dělitelů přirozeného čísla n tvoří svaz. Booleovy algebr ooooooo Svazy Definice Svaz (angl. lattice) je poset (K, <), ve kterém má každá dvouprvková množina {A, B} supremum A\/ B a infimum A A B v K. Úplný svaz je pak takový poset, kdy má infimum a supremum každá podmnožina. Příklad • Libovolná úplně uspořádaná množina tvoří svaz - (R, <) a pod. • Poset Dn kladných dělitelů přirozeného čísla n tvoří svaz. • Poset (N, |) není je svaz, který není úplný (ale přidáním 0 jej můžeme zúplnit). Booleovy algebr ooooooo Svazy Definice Svaz (angl. lattice) je poset (K, <), ve kterém má každá dvouprvková množina {A, B} supremum A\/ B a infimum A A B v K. Úplný svaz je pak takový poset, kdy má infimum a supremum každá podmnožina. Příklad • Libovolná úplně uspořádaná množina tvoří svaz - (R, <) a pod. • Poset Dn kladných dělitelů přirozeného čísla n tvoří svaz. • Poset (N, |) není je svaz, který není úplný (ale přidáním 0 jej můžeme zúplnit). • Množina všech (normálních) podgrup dané grupy tvoří úplný svaz. Na svazu (K, <) tedy máme definovány binární operace A a V a přímo z definice je zjevná asociativita a komutativita těchto operací. Často se na svaz díváme jako na algebraickou strukturu (K, A, V), přitom lze snadno ukázat, že původní uspořádání lze znovuobjevit předpisem A < B «=> A V B = B <í=> A A B = A. Na svazu (K, <) tedy máme definovány binární operace A a V a přímo z definice je zjevná asociativita a komutativita těchto operací. Často se na svaz díváme jako na algebraickou strukturu (K, A, V), přitom lze snadno ukázat, že původní uspořádání lze znovuobjevit předpisem A < B «=> A V B = B «=> A A B = A. Snadno lze ale nakreslit Hasseho diagram svazu, který není distributivní tj. operace A a V nedistribuují (viz definice okruhu). Lze ukázat, že každý nedistributivní svaz má podsvaz izomorfní s jedním z následujících svazů: svaz M5 svaz A/5 Q Množinová a booleovská (Booleova) algebra S každou množinou M máme také množinu K = 2M všech jejích podmnožin a na ní operace V : K x K —> K sjednocení množin a A : K x K —► K" průniku množin. To jsou dvě binární operace, které se častěji značí U a n. S každou množinou M máme také množinu K = 2M všech jejích podmnožin a na ní operace V : K x K —> K sjednocení množin a A : K x K —► K" průniku množin. To jsou dvě binární operace, které se častěji značí U a n. Dále máme ke každé množině A G K také její množinu doplňkovou A', což je další unární operace. Konečně máme největší objekt, tj. celou množinu M, který je neutrální vůči operaci A a který proto budeme v této souvislosti označovat jako 1, a obdobně se chová prázdná množina 0 G K vůči operaci A. Tu budeme v této souvislosti značit jako 0. Na množině K všech podmnožin v M přitom platí pro všechny prvky A, B, C následující vlastnosti: Aa(B AC) = (AaB) AC, Ay (B y C) 4Aß = ßA4, Ay B = By A A A (ß V C) = (A A B) V (A A C), Ay(BAC) = (AyB)A(AyQ existuje 0 tak, že A V 0 = A existuje 1 tak, že A A 1 = A AAA' = 0, A y A' = 1. (A y B) y C (l) (2) (3) (4) (5) (6) Na množině K všech podmnožin v M přitom platí pro všechny prvky A, B, C následující vlastnosti: Aa(B AC) = (AaB) AC, Ay (B y C) 4Aß = ßA4, Ay B = By A A A (ß V C) = (A A B) V (A A C), Ay(BAC) = (AyB)A(AyQ existuje 0 tak, že A V 0 = A existuje 1 tak, že A A 1 = A AAA' = 0, A y A' = 1. (A y B) y C (l) (2) (3) (4) (5) (6) Vlastnost (1) je asociativní zákon pro obě operace, (2) je komutativita, (3) je distributivita obou operací. Poslední vlastnost (6) vystihuje vlastnosti komplementu. Definice Množině K spolu se dvěma binárními operacemi A a V a jednou unární operací ' splňující vlastnosti (l)-(7) říkáme booleovská (Booleova) algebra. Operaci A budeme říkat infimum (případně průnik, anglicky často také meet), operaci V budeme říkat supremum (případně sjednocení, anglicky také join). Prvku A' se říká komplement (doplněk) k prvku A. Definice Množině K spolu se dvěma binárními operacemi A a V a jednou unární operací ' splňující vlastnosti (l)-(7) říkáme booleovská (Booleova) algebra. Operaci A budeme říkat infimum (případně průnik, anglicky často také meet), operaci V budeme říkat supremum (případně sjednocení, anglicky také join). Prvku A' se říká komplement (doplněk) k prvku A. • Všimněme si, že axiomy booleovské algebry jsou zcela symetrické vůči záměně operací A a V, společně se záměnou prvků 0 a 1. Důsledkem tohoto faktu je, že jakékoliv tvrzení, které odvodíme z axiomů, má také platné duální tvrzení, které vznikne z prvého právě záměnou všech výskytů A za V a naopak a stejně tak všech výskytů 0 a 1. Hovoříme o principu duality. Stejně jako u speciálního případu booleovské algebry všech podmnožin v dané množině M je komplement k A G K určen jednoznačně (tj. máme-li dáno (K, A, V), může existovat nejvýše jedna unární operace, se kterou dostaneme booleovskou algebru). Skutečně, pokud ß a C e K splňují vlastnosti A', platí B = ßVO = BV(AaC) = (ßV4)A(ßVC) = lA(ßVC) = ßVC a podobně také C = C V ß. Je tedy nutně B = C. Poznámka Pokud ve svazu K existuje ke každému prvku komplement, říkáme, že svaz je komplementární. Takovými jsou např. svazy M5 i A/5, u nich ovšem není komplement určen jednoznačně (jednoznačnost vynutí až distributivní zákony). V následujícím výčtu se vlastnostem (2) říká absorpční zákony, vlastnosti (3) popisují idempotentnost operací a (4) jsou tzv. De Morganova pravidla. P5H | V každé booleovské alget vŕe (K, A, V, ') platí pro všechny prvky v K O AA0 = 0, AV1 = = 1 @ A A (A V ß) = A, A V (A A B) = A Q aaa = a, A\J A = A Q (A A B)' = A'\/ B', (A V ß)' = -- A' A & Q (AJ = A. = definice bool Booleovská algebra je distributivní svaz s největším prvkem 1 a nejmenším prvkem 0 takový, že v něm existují ke všem prvkům komplementy. Ověřili jsme již, že v takovém případě komplementy jsou definovány jednoznačně, takže je naše alternativní definice booleovské algebry korektní. definice bool Booleovská algebra je distributivní svaz s největším prvkem 1 a nejmenším prvkem 0 takový, že v něm existují ke všem prvkům komplementy. Ověřili jsme již, že v takovém případě komplementy jsou definovány jednoznačně, takže je naše alternativní definice booleovské algebry korektní. Příklad Protože svaz podgrup dané grupy může mít podsvaz typu M5, není obecně distributivní a nejde tedy obecně o booleovskou algebru. Libovolná booleovská algebra je posetém ve smyslu uspořádání definovaného A < B právě tehdy, když A f\ B = A (což je totéž jako A V B = B). Pak navíc platí: Lemma O A/\ B ■ ^2 a dva výroky nazýváme logicky ekvivalentní, jestliže zadávají stejnou funkci. Snadno se nyní přímo ověří, že na množině tříd logicky ekvivalentních výroků jsme takto zadefinovali strukturu Booleovy algebry (je pouze třeba projít naše axiomy a ověřit je). Nutně tedy pro výrokovou logiku bude v tomto smyslu platné vše, co dokážeme pro obecné Booleovy algebry. Stručně si proberme, jak vypadají obvyklé další jednoduché výroky ve výrokové logice jakožto prvky Booleovy algebry (tj. reprezentujeme vždy naším výrazem třídu výroků ekvivalentních): • Implikaci A => B dostaneme jako A' V B, Stručně si proberme, jak vypadají obvyklé další jednoduché výroky ve výrokové logice jakožto prvky Booleovy algebry (tj. reprezentujeme vždy naším výrazem třídu výroků ekvivalentních): • Implikaci A => B dostaneme jako A' V ß, • ekvivalenci A & B odpovídá (A A ß) V (A' A ß'), Stručně si proberme, jak vypadají obvyklé další jednoduché výroky ve výrokové logice jakožto prvky Booleovy algebry (tj. reprezentujeme vždy naším výrazem třídu výroků ekvivalentních): • Implikaci A => B dostaneme jako A' V B, • ekvivalenci A B dostaneme jako A' V B, • ekvivalenci A B dostaneme jako A' V B, • ekvivalenci A B dostaneme jako A' V B, • ekvivalenci A B dostaneme jako A' V ß, • ekvivalenci A & B odpovídá (A A ß) V (A' A ß'), • vylučovací OR, neboli XOR, je dáno jako (A A ß') V (A' A ß), • negace NOR operace OR je vyjádřena jako A' A B' a 9 negace NAND operace AND je dána jako A' V B'. Poznámka Všimněme si, že XOR odpovídá v množinové algebře symetrickému rozdílu množin. □ s Stručně si proberme, jak vypadají obvyklé další jednoduché výroky ve výrokové logice jakožto prvky Booleovy algebry (tj. reprezentujeme vždy naším výrazem třídu výroků ekvivalentních): • Implikaci A => B dostaneme jako A' V ß, • ekvivalenci A & B odpovídá (A A ß) V (A' A ß'), • vylučovací OR, neboli XOR, je dáno jako (A A ß') V (A' A ß), • negace NOR operace OR je vyjádřena jako A' A B' a 9 negace NAND operace AND je dána jako A' V B'. Poznámka Všimněme si, že XOR odpovídá v množinové algebře symetrickému rozdílu množin. Podobně je možné veškeré základní výrokové spojky realizovat pouze pomocí NAND (příp. NOR) - viz NAND flash paměti (např. USB disky). □ S Q Přepínače a dělitelé Přepí Přepínač je pro nás černá skříňka, která má jen dva stavy, buď je zapnut (a signál prochází) nebo naopak vypnut (a signál neprochází). Jeden nebo více přepínačů zapojujeme do sítě sériově nebo paralelně. Sériové zapojení je popsáno pomocí binární operace A, paralelní je naopak V. Unární operace A' zadává přepínač, který je vždy v opačné poloze než A. Vk o- yK -X B -O o- -o .X B Každé konečné slovo vytvořené pomocí přepínačů A, B,... a operací A, V a ' umíme převést na obrázek, který bude představovat systém přepínačů propojených dráty a zcela obdobně jako v minulém odstavci nám každá volba poloh jednotlivých přepínačů zadá hodnotu zapnuto/vypnuto pro celý systém. Každé konečné slovo vytvořené pomocí přepínačů A, B,... a operací A, V a ' umíme převést na obrázek, který bude představovat systém přepínačů propojených dráty a zcela obdobně jako v minulém odstavci nám každá volba poloh jednotlivých přepínačů zadá hodnotu zapnuto/vypnuto pro celý systém. Opět se snadno krok po kroku ověří platnost základních axiomů Booleových algeber pro náš systém. Na obrázku je ilustrován jeden z axiomů distributivity. Propojení bez přepínače odpovídá prvku 1, koncové body bez propojení (nebo sériové zapojení A a A') dává prvek 0. O- % B -O O- y. y. ■'s— y^ Dalším přirozeným příkladem Booleovské algebry je systém kladných dělitelů přirozeného čísla. Zvolme pevně takové číslo n G N. Za nosnou množinu Dp bereme množinu všech kladných dělitelů d našeho n. Pro dva takové dělitele definujeme d A e jako největší společný dělitel prvků d a e, d V e je nejmenší společný násobek. Největším prvkem je n G Dn (zápis 1 = n je v tomto případě poněkud schizofrenní) a neutrálním prvkem vůči supremu je jednička v N. Unární operaci ' dostáváme pomocí dělení: ď = n/d. Lemma Množina Dn spolu s výše uvedenými operacemi A, V a ' je Booleova algebra právě, když rozklad n neobsahuje kvadráty (tj. v jednoznačném rozkladu n = q\... qr na prvočísla jsou všechna q j po dvou různá). Q Normální tvar Při diskusi výrokové logiky jsme se potýkali s problémem, co vlastně jsou prvky příslušné Booleovy algebry. Formálně vzato jsme je definovali jako třídy ekvivalentních výroků. Jinak řečeno, pracovali jsme s hodnotovými funkcemi pro výroky s daným počtem argumentů. Vůbec jsme přitom neřešili obtížný problém (tzv. equivalence checking je NP těžký), jak rozpoznat stejné výroky v tomto smyslu. Také jsme neřešili, jestli všechny formálně možné hodnotové funkce (Z^)" —>■ 1>2 lze zadat pomocí základních logických operací. Při diskusi výrokové logiky jsme se potýkali s problémem, co vlastně jsou prvky příslušné Booleovy algebry. Formálně vzato jsme je definovali jako třídy ekvivalentních výroků. Jinak řečeno, pracovali jsme s hodnotovými funkcemi pro výroky s daným počtem argumentů. Vůbec jsme přitom neřešili obtížný problém (tzv. equivalence checking je NP těžký), jak rozpoznat stejné výroky v tomto smyslu. Také jsme neřešili, jestli všechny formálně možné hodnotové funkce (Z^)" —>■ 1>2 lze zadat pomocí základních logických operací. Zcela obdobně se můžeme tázat, jak poznat, zda dva systémy přepínačů mají stejnou funkci. Obdobně jako u výroků zde pro systém s n přepínači pracujeme s funkcemi (Z^)" —> Z2 a zjevně existuje právě 22" různých takových přepínacích funkcí. Na těchto funkcích umíme přirozeným způsobem zadat strukturu Booleovy algebry (využíváme, že hodnoty, tj. Z2 jsou Booleovou algebrou). Odpovíme nyní na výše uvedené otázky tak, že pro libovolný prvek obecné Booleovy algebry sestrojíme jeho tzv. normální disjunktivní tvar, tj. napíšeme jej pomocí vybrané skupiny nejjednodušších prvků a operace V. Definice Prvek A G K nazveme atom v Booleově algebře K, jestliže pro všechny B G K platí A A B = A (tj. A < B) nebo A A B = 0. Jinak řečeno, A je atom, když pro všechny ostatní prvky B < A implikuje B = 0 nebo B = A. Lemma Booleova algebra funkcípřepínačového systému s n přepínači Ai,..., An má 2" atomů, které jsou tvaru A*1 A • • • A Aan", kde buď Af = A; nebo Aa< = A\. Každý prvek B v konečné Booleově algebře (K, A, V,') lze zapsat jako supremum atomů B = A1\J---\/Ak. Tato formule je navíc jednoznačná až na pořadí atomů. Tato věta se dokazuje s pomocí tří jednoduchých tvrzení: O Jestliže jsou Y,Xi,...,X£ atomy v K, pak Y < Xi V • * • V Xg. tehdy a jen tehdy když Y = X; pro nějaké i = 1,..., í. Q Pro každý prvek Y ^ 0 v K existuje atom X, pro který je X < Y. O Jestliže jsou X\,... ,Xr všechny atomy v K, pak Y = 0 právě, když Y A X-, = 0 pro všechny i = 1,..., r. Q Homomorfismy Jak jsme již viděli u mnoha matematických struktur, o objektech se dozvídáme informace pomocí tzv. homomorfismů, tj. zobrazení, které zachovávají příslušné operace. V případě Booleovských algeber definujeme podobně jako u okruhů: Definition Zobrazení f : (K, A, V,') —> (/., A, V,') se nazývá homomorfismus Booleovských algeber, jestliže pro všechny A, B e K platí O f(AAB) = f(A)Af(B) Q f (A y B) = f(A)\Jf(B) Q f {A') = f(A)'. Homomorfismus f je izomorfismem booleovských algeber, jestliže je f navíc bijektivní. Snadno se ověří, že bijektivnost f již zaručí, že f_1 je opět homomorfismem. Z definice uspořádání na Booleových algebrách je zřejmé, že každý homomorfismus f : K —> L bude také splňovat f {A) < f{B) pro všechny prvky A < B v K. To je definiční vlastnost pro tzv. izotonní zobrazení neboli homomorfismy posetu. Jakkoliv umíme rekonstruovat operace suprema a infima z uspořádání, pokud toto vzniklo z Booleovy algebry, není pravda, že by každý homomorfismus posetu byl automaticky homomorfismem příslušných algeber. Zkuste si najít příklad (stačí vkládat algebru se dvěma atomy do algebry s alespoň čtyřmi atomy)! Snadno se ověří, že bijektivnost f již zaručí, že f_1 je opět homomorfismem. Z definice uspořádání na Booleových algebrách je zřejmé, že každý homomorfismus f : K —> L bude také splňovat f {A) < f{B) pro všechny prvky A < B v K. To je definiční vlastnost pro tzv. izotonní zobrazení neboli homomorfismy posetu. Jakkoliv umíme rekonstruovat operace suprema a infima z uspořádání, pokud toto vzniklo z Booleovy algebry, není pravda, že by každý homomorfismus posetu byl automaticky homomorfismem příslušných algeber. Zkuste si najít příklad (stačí vkládat algebru se dvěma atomy do algebry s alespoň čtyřmi atomy)! To, že struktura Booleových algeber je v podstatě velmi jednoduchá, ukazuje náseldující věta. Každá konečná Booleova algebra je izomorfní Booleově algebře M = 2K, kde K je množina atomů v M.