Az informatika logikai alapjai Dr. Kusper Gábor Eszterházy Károly Főiskola aries.ektf.hu/programozás
Beugró a vizsgára Normál formára hozás Természetes levezetés Halmaz Ha ez sikeres, lehet vizsgázni! Jegyzet begépelt természetes levezetés aries.ektf.hu gkusper@aries.ektf.hu
tételek A 0. rendű matematikai logika szintaxisa és szemantikája. Az atom fogalma. A formula fogalma. A logikai összekötő jelek szemantikája, azaz a logikai összekötő jelek igazságtáblája. Interpretáció a 0. rendű matematikai logikában. A logikai törvény, a logikai ellentmondás fogalma. Bizonyítás igazságtáblával. Normálformák. A literál fogalma. A klóz fogalma. Konjuktív és diszjunktív normálforma. A normálformára hozás algoritmusa.
Tételek 2. 4.Az 1.rendű matematikai logika szintaxisa és szemantikája. Atom fogalma az 1. rendű matematikai logikában. Formula, Term definíciója. A kvantorok szintaxisa és szemantikája. Kötött változók. A kvantorok szemantikája for ciklussal. Egymásba ágyazott kvantorok for ciklusa. 5. Interpretáció az 1. rendű matematikai logikában. Az univerzális kvantor interpretációja. Az egzisztenciális kvantor interpretációja. Egymásba ágyazott kvantorok interpretációja. 6. A GEOM nyelv. 7. A Gentzen kalkulus. 8. Halmazelmélet.
A szimbólumok a valóságot helyettesítik. Pl. bolygók A szimbólumok a valóságot helyettesítik. Pl. bolygók. Utána tudunk vele számolni. Könnyen. Objektumokkal a valóságban, szimbólumokkal absztrakt szinten tudunk dolgozni.
A legnagyobb hangsúly a matematikai logikán van! VALÓS PROBLÉMA ABSZTRAKT MODELLEZET PROBLÉMA folytonos érték diszkrét érték nem pontos Pl: π=3,14… A modellezés során elhanyagolom ami nem fontos és felnagyítom azt, ami fontos KELL: fizika, kémia… MODELLEZÉS MEGOLDÁS a Matematikai logikával LEGFONTOSABB MÉRNÖKI TUDOMÁNYOK programozás A számítógép csak diszkrét dolgokkal tud számolni. Hiába tűnik úgy, folytonossal nem tud számolni! Az absztrakción belül oldom meg a modellezett problémát. ABSZTRAKT MEGOLDOTT PROBLÉMA VALÓS MEGOLDOTT PROBLÉMA Ez akkor jó, ha visszavezethetem a valóságba! Ez az implementálás! A legnagyobb hangsúly a matematikai logikán van!
Matematikai logika Logikai rend Angol megnevezés tartalom 0.rendű matematikai logika PROPOSITIONAL LOGIC kijelentés 1.rendű matematikai logika PREDICATE LOGIC paraméteres jelentés M. rendű matematikai logika HIGHER ORDER LOGIC (HOL) kijelentés a kijelentésekről
Matemetikai Logika = mat.log = symbolic logic A formális logika, vagy más néven szimbolikus logika a logika tudományának egy ága, az okok és következmények struktúrájával foglalkozik. A formális logika az elméletek közötti kapcsolatokat elemzi, és lehetőséget ad az állítások bizonyításainak elkészítéséhez. Az elméletek alaposan definiáltak, és az állítások nagyon pontos, tömör és egyértelmű szimbolikus formában (jelölésrendszerrel) kerülnek leírásra.
A kijelentés a legfontosabb a matematikai logikában A kijelentés (ítélet vagy állítás) olyan jól meghatározott dologra vonatkozó kijelentő mondat, amely vagy igaz, vagy hamis, de nem lehet egy időben igaz is és hamis is. SÜT A NAP IGAZ HAMIS Természetes nyelven
Logikai érték A logika lehet kétértékű, háromértékű vagy sokértékű. Kétértékű logika: Két értéke az igaz, és a hamis (true, false) Eldöntendő kérdésekre ad választ. Háromértékű logika (Temporal logic): Három értéke: igaz, hamis, ismeretlen / true, false, unknown /Jövőbeli kérdésekre ad választ. Sokértékű logika (Many valued logic): Valószínűség kifejezésére használatos.
Szintaxis - szemantika A szintaxis azt mondja meg, hogyan néz ki egy szintaktikailag helyes mondat. A szintaxis vagy magyarul mondattan a nyelvészetben a szavak szószerkezetekké és mondatokká kapcsolódásának szabályait írja le. A szintaxis meghatározza a nyelv tágabb értelem vett ábécéjét, a használható szavakat – ez a nyelv kulcsszókészlete –, és megadja a nyelvi elemek felépítési szabályait.
SZEMANTIKA Szemantika a mondat jelentése. A természetes nyelvben a vagy a kizáró vagy. A logikában a vagy a megengedő vagy.
2+1 INFIX +(2,1) PREFIX (2,1)+ POSTFIX jelölések 2+1 INFIX +(2,1) PREFIX (2,1)+ POSTFIX
Igazságtáblák Ha egy hamis állítás bekerül, abból minden levezethető. Az igazságtábla adja meg a 0. rendű matematikai logika szemantikáját.
DEF (ATOMI FORMULA, ATOM): AZT MONDJUK, HOGY AZ „A” SZIMBÓLUM ATOMI FORMULA VAGY ATOM, AKKOR ÉS CSAK AKKOR, HA „A” EGY KEJELNTÉST JELÖL. / Atomic formulas or atoms / ATOM(A): A KIJELENTÉS Mit definiálunk A szabály
A Formula definíciója adja meg a 0 A Formula definíciója adja meg a 0. rendű matematikai logikai nyelv szintaxisát. DEF (FORMULA): Azt mondom, hogy az F szimbólum FORMULA akkor és csak akkor, ha:
Azt a definíciót, ami önmagával definiálja önmagát, REKURZÍV definíciónak nevezzük, ez nem megengedett, kivéve ha a rekurzív definíciónak van nem rekurzív ága és minden ág visszavezet a nem rekurzív ágra. Ha a formula végtelen hosszú, akkor nem tudjuk szétszedni atomjaira. A formula fenti szabályok véges sokszori alkalmazásával áll elő.
Példa Formulából csinálunk kifejezésfát. Ha süt a nap és jó a kedvem, akkor olvasok. S Süt a nap. J Jó kedvem van. O Olvasok. Formulából csinálunk kifejezésfát.
GYakorlás
Gyakorlás 2
Gyakorlás 3
Elhagyjuk a zárójeleket Szabály Legkülső zárójel elhagyható Elhagyható az a zárójel, ami precedencia miatt elhagyható. Műveletek kiértékelési sorrendje:
DEF (ATOMIC FORMULA, ATOM): We say that the symbol S is an atom for atomic formula if and only if (IFF) the S symbol depicts a proposition.
Idáig a 0. rendű matematikai logikáról beszéltünk Idáig a 0. rendű matematikai logikáról beszéltünk. A szintaxisáról és a szemantikájáról. Az interpretáció az, ami bármiről el tudja dönteni, hogy igaz vagy hamis. Nemcsak egy interpretáció létezik, hanem sok. Egy interpretáción belül igaz vagy hamis egy kijelentés.
Logikai összekötő jelek (Logical connectives)
DEF (INTERPRETÁCIÓ): Azt mondjuk, hogy az I hozzárendelés az F Formula egy interpretációja akkor és csak akkor, ha az F minden atomjához vagy az igaz vagy a hamis értéket rendeli, de csak az egyiket.
Az olyan interpretációt, ami mindig igaz, logikai törvénynek nevezzük Az olyan interpretációt, ami mindig igaz, logikai törvénynek nevezzük. Ami mindig nem igaz, logikai ellentmondásnak nevezzük. Ha van olyan interpretációja, ami mellett igaz, kielégíthetőnek nevezzük.
Logikai törvény DEF (LOGIKAI TÖRVÉNY): Azt mondjuk, hogy az F formula logikai törvény, akkor és csak akkor, ha az F formula minden interpretációjában igaz.
Logikai ellentmondás DEF (LOGIKAI ELLENTMONDÁS): Azt mondjuk, hogy az F formula logikai ellentmondás, akkor és csak akkor, ha az F formula minden interpretációjában hamis.
DEF (KIELÉGÍTHETŐ, SATISFABLE): Azt mondjuk, hogy az F formula kielégíthető, akkor és csak akkor, ha van olyan interpretációja, ami mellett igaz.
ellentmondásos DEF (LOGIKAI ELLENTMONDÁS): Azt mondjuk, hogy az F formula ellentmondásos, akkor és csak akkor, ha van olyan interpretációja, ami mellett hamis. Ami nem kielégíthető, az logikai ellentmondás.
Logikai törvények A metanyelv egy olyan nyelv, amivel tudok beszélni a nyelvről. = metanyelven → átírási szabály. A formulára úgy tekintek, mint egy stringre. Ha a = jel helyére írok, akkor annak logikai törvénynek kell lennie.
Átírási szabályok
Egyszerűsítési szabályok
Konjunktív és Diszjunktív normál forma DEF(LITERAL): AZT MONDJUK, HOGY AZ „L” FORMULA LITERAL, AKKOR ÉS CSAK AKKOR, HA „L” VAGY ATOMI FORMULA VAGY ATOMI FORMULÁNAK A TAGADÁSA. DEF(KLÓZ,CLAUSE): AZT MONDJUK, HOGY A „C” FORMULA KLÓZ, AKKOR ÉS CSAK AKKOR, HA LITERÁLOK DISZJUNKCIÓJA.
DEF(KONJUKTÍV NORMÁL FORMA, RÖVIDEN KNF): AZT MONDJUK, HOGY AZ „F” FORMULA KONJUKTÍV NORMÁL FORMÁBAN VAN, AKKOR ÉS CSAK AKKOR, HA „F” KLÓZOK KONJUNKCIÓJA. ALTERNATÍV DEF(KONJUKTÍV NORMÁL FORMA, RÖVIDEN KNF): AZT MONDJUK, HOGY AZ „F” KONJUNKTÍV NORMÁL FORMA, AKKOR ÉS CSAK AKKOR, HA „F” LITERÁLOK KONJUNKCIÓJA.
DEF(DISZJUNKTÍV NORMÁL FORMA, RÖVIDEN DNF) AZT MONDJUK, HOGY AZ „F” FORMULA DISZJUNKTÍV NORMÁL FORMÁBAN VAN, AKKOR ÉS CSAK AKKOR HA „F” elemi konjukciók DISZJUNKCIÓJA.
Tetszőleges formulát KNF-re, illetve DNF-re hozó algoritmus
Elsőrendű matematikai logika Az elsőrendű logika a matematikai logikának az elsőrendű nyelvekkel foglalkozó ága. Az elsőrendű nyelvek olyan formális nyelvek, melyekben lehetőség van az individuumváltozók kvantifikálására, vagyis a „van olyan x amelyre A teljesül” és a „minden x-re A teljesül” típusú állítások megfogalmazására. Az elsőrendű logika elméletének két fő - egymást nem kizáró, hanem kiegészítő - paradigmája a szintaktikai és a szemantikai megközelítés. A szintaxis a logikai jelek, jelsorozatok, formulák formai jellemzésével foglalkozik; a szemantika pedig a jelek értelmezésével, azzal, hogy hogyan lehet kitölteni őket tartalommal és használni a matematikában, más tudományterületeken, illetve a köznapi életben ipari, kereskedelmi stb. alkalmazásokban.
Mi a különbség a nulladrendű matematikai logikához képest? A nulladrendű matematikai logikában a kijelentés megbonthatatlan, az elsőrendű logikában a kijelentések lehetnek paraméteresek.
PREDIKÁTUM PARAMÉTERES KIJELENTÉS Minden nem kijelentést objektumnak tekintünk az elsőrendű matematikai logikában. Elsőrendű matematikai logikában a kijelentés paramétere nem lehet kijelentés, csak objektum. Az objektumokat TERM-nek nevezzük az elsőrendű matematikai logikában. a) konstans b) változó c) függvény
DEF(TERM/OBJEKTUM): AZT MONDJUK, HOGY A „k” TERM (vagy objektum), AKKOR ÉS CSAK AKKOR, HA „k” egy: 1.) KONSTANS 2.) VÁLTOZÓ 3.) t: f(t1, t2,…,tn) alakú FÜGGVÉNY HÍVÁS egy n paraméteres függvényszimbólum a t1, t2,… , tn szimbólumok pedig TERM-ek MINDEN TERM, A FENTI SZABÁLY VÉGES SOKSZORI ALKALMAZÁSÁSVAL ÁLL ELŐ. REKURZÍV A 3.) ágban azt mondom, hogy h termek. Megengedett, mert az 1,2 ág nem rekurzív, minden rekurzív esetnek vissza kell vezetni a nem rekurzív ágra.
DEF (KONSTANS): DEF (VÁLTOZÓ): Azt mondjuk, hogy a C szimbólum konstans, akkor és csak akkor, ha C egy objektumot jelöl. DEF (VÁLTOZÓ): Az 1. rendű matematikai logikai nyelv szabad változó az X, Y, Z, … szimbólumok, amelyekben bármely objektum behelyettesíthető (substitution).
Logikai összekötőjelek minden = UNIVERZÁLIS KVANTOR létezik = EGSZIZTENCIÁLIS KVANTOR Az univerzális kvantor Ha egy sokaság, halmaz minden elemére igaz egy állítás, azt az univerzális (általános) kvantorral jelöljük: /mind, mindegyik, for all/ x jelentése: minden x-re igaz, minden x-re fennáll. Az egzisztenciális kvantor Ha egy ítéletet van legalább egy olyan x, amelyre igaz kifejezéssel képezünk, akkor egzisztenciális kvantort alkalmazzuk. Jele: /létezik, van egy, there exists/ A jelentése: létezik legalább egy olyan x, amelyre az A állítás igaz. x
Kvantorok szintaxisa Formula (y) /kvantor hatókörébe tartozó formula/ y /kötött változó/ Formula (y) /korlátozó feltétel/ Példa: P(y) y P „PÉTER NEVŰ” B „BARATOM” „MINDEN BARÁTOM PÉTER NEVŰ” (B(y) P(y))
DEF (KÖTÖTT VÁLTOZÓ ELŐFORDULÁS): Az x változó egy előfordulása kötött, akkor és csak akkor, ha x ezen előfordulása egy kvantor hatókörében van és a kvantor alatt az x változó szerepel. DEF (SZABAD VÁLTOZÓ): A formulában lévő változóz előfordulás szabad, akkor és csak akkor, ha nem kötött.
Korlátozó feltétel szemantikája: mivel a kvantorok az univerzum összes objektumára mondanak valamit, ami konstruktívan lehetetlen ezért korlátozó feltételt adunk, innentől fogva a kvantor azokról beszél, amit a korlátozás meghatároz. Példa: MINDEN KOCSI PIROS MINDEN objektum, ami KOCSI az-az objektum PIROS KKOCSI PPIROS P(x) x K(x)
Kvantorok szemantikája /Semantics/ B(x) x P(x) elsőrendű matematikai logikai kifejezés szemantikája a következő: a kvantor veszi az összes olyan objektumot, amelyre igaz a P kijelentés (P feltétel) és megnézi univerzális kvantor esetén, hogy minden ilyen objektumra igaz-e a B állítás, ha igaz, akkor az univerzális kvantor igaz. Ha van ellen példa, az-az van objektum, amelyre nem igaz a B állítás, akkor az univerzális kvantor hamis.
B(x) x P(x) elsőrendű matematikai logikai kifejezés szemantikája a következő: a kvantor veszi az összes olyan objektumot, amelyre igaz a P állítás és megnézi egzisztenciális kvantor esetén, hogy van-e olyan B állítás, amelyre igaz, ha van olyan állítás, amelyre igaz, akkor a kvantor igaz. Ha mindegyik objektumra hamis a B állítás, akkor hamis az egzisztenciális kvantor. Univerzális kvnator szemantikája konstruktívan: veszem az összes olyan objektumot, amelyre igaz a P állítás, az ilyen objektumokat egyesével behelyettesítem x helyére, ha találok ellen példát, akkor hamis, ha nem találok ellen példát, akkor igaz.
A kvantorok a programozásban a „FOR ciklusok”
DEF (PREDIKÁTUM): DEF (ATOM): Azt mondjuk, hogy a P szimbólum n paraméteres predikátum, szimbólum akkor és csak akkor, ha a P (t1, t2,…, tn) alak egy n paraméteres kijelentést jelöl, ahol t1, t2,…tn TERMEK. >n 0 DEF (ATOM): Azt mondjuk, hogy A atomi formula vagy röviden atom az elsőrendű matematikai logikai nyelvben akkor és csak akkor, ha A egy predikátumhívás azaz P(t1, t2,..tn) alakú, ahol P predikátum szimbólum, a t1, t2,…tn TERMEK. n 0
DEF(FORMULA): AZT MONDJUK, HOGY AZ „F” SZIMBÓLUM az elsőrendű MATEMATIKAI LOGIKÁI nyelv egy formuláját jelöli akkor és csak akkor, ha: 1.) F egy atom vagy 2.) F (AB) alakú, ahol A és B formula vagy 3.) F (AB) alakú, ahol A és B formula, vagy 4.) F (AB) alakú, ahol A és B formula, vagy 5.) F (AB) alakú, ahol A és B formula, vagy 6.) F (A), ahol A formula, 7.) A(x) alakú, ahol A(x) formula, vagy 8.) A(x) alakú, ahol A(x) formula. x Minden formula a fenti szabályok véges hosszú alkalmazásából áll elő.
DEF(INTERPETÁCIÓ Az ELSŐRENDŰ MATEMATIKAI LOGIKAI NYELVBEN): AZT MONDJUK, HOGY AZ „I” hozzárendelés az F formula interpretációja az elsőrendű matematikai logikai nyelvben az U értékkészlet felett akkor és csak akkor, ha „I” az F: Minden konstansszimbólumhoz egy értéket rendel U- ból Minden függvényszimbólumhoz egy konkrét függvényt rendel, amely minden Un-ből U-ba képez, ahol n a függvény paramétereinek száma. Minden predikátum szimbólumhoz egy konkrét logikai függvényt rendel, amely Un-ből az {igaz, hamis} halmazba képez, ahol n a függvény paramétereinek száma.
Természetes levezetés A természetes levezetés célja, hogy formálisan tudjuk levezetni a formulákat: axiómák, feltételezések ╞ állítás K (KNOWLEDGE BASE, TUDÁSBÁZIS) ╞ G (GOAL, CÉL, TÉTEL) Csak logikai törvényeket lehet bebizonyítani a tudásbázisból. Logikai törvény: tautológia. K, G: formulák szekvenciája, mindkettő lehet üres. A1 A2 … An F1 F2 …Fn A Az axióma olyan kiindulási feltételt jelent, amit adottnak veszünk az érvelések során, tehát alapfogalomnak nevezzük. Az axióma különféle okok miatt nem megkérdőjelezhető, megállapított alaptény. A szemantikus levezetés jelölése: ╞ A szintaxis alapján történő levezetés jelölése:├
GÖDEL TÉTELE K ╞ G K ├ G Gödel azt mondja, hogy ha az egyiket be tudom bizonyítani, akkor a másikat is. A kettő ugyanolyan erős. Kell egy algoritmus GENTZEN KALKULUS. A Gentzen kalkulus írja elő azt az algoritmust és szabályrendszert, amely megmutatja, hogy egy bizonyítási szituációt hogyan kell levezetni a szintaxison belül. A Gentzen kalkulus átírási szabályokból áll. A természetes levezetés átírási szabályokból áll FENTI BIZONYÍTÁSI SZITUÁCIÓ LENTI BIZONYÍTÁSI SZITUÁCIÓ A lenti bizonyítási szituáció átírható a fentire. A természetes levezetés egy formula fát képez, formula fa gyökere a kiinduló bizonyítási szituáció.
ÁTÍRÁSI SZABÁLYOK
A szabályok jellemzése: A négy szabályban előfordul x’ és t. A t egy tetszőlegesen összetett term az-az egy tetszőleges kifejezés. Az x’ az egy olyan új konstans, amelyről semmilyen ismeretünk sincs. Az x’ helyére nem írható 0, 1, toll. Amikor tudom azt, hogy P(x) ez azt jelenti, hogy x x helyére bármit helyettesítve P(x) igaz, így x helyére bármilyen termet helyettesíthetek akár x’ is. Ha azt kell bizonyítani, hogy P(x) az ugyanaz ahol P(x) egy szabad változó, x ezért azt a trükköt alkalmazzuk, hogy elhagyjuk a kvantort x most már konkrét konstans lehet. x’: tetszőleges defix / arbitrary butfixed / Fontos! x {y | P(y)} P(x)
Azért használtuk ezt a formát, mert 1 sztringből kettő lesz és azt = jellel nehéz leírni. STEP 1 Azt mondom, hogy az x, K ├ x, G alakú bizonyítási szituáció bizonyítható.(logikai törvény) STEP 2 Megkonstruálom a levezetési fát a levezetési szabályok segítségével. Ha a levezetési fa minden levél eleme axióma, akkor azt mondom, hogy az input bizonyítási szituáció, sikeresen levezettem a Gentzen kalkulusban. STEP 2. 1. Nem mindegy melyik levezetési szabályt alkalmazom! Kérdés: Hogyan választok levezetési szabályt? Kiválasztom a levezetési szituáció egyik nem atomi formuláját az abban lévő legkülső logikai összekötő jelnek megfelelő (szabályt) sort választom a táblázatból. Ha a formula a célban van, akkor a céloszlopot választom, egyébként a tudásbázis oszlopot. Így egyértelműen meghatároztam egy levezetési szabályt. STEP 2.1.2. A szabály alsó során illesztem a bizonyítási szituációra. STEP 2.1.3. A szabály felső sorát lemásolom a megfelelő behelyettesítésekkel.
6. Tétel - Típusos 1. rendű matematikai logikai nyelv. DEF (TÍPUSOS 1. RENDŰ MATEMATIKAI LOGIKAI NYELV): Azt mondjuk, hogy az rendezett négyes típusos elsőrendű matematikai logikai nyelvvel, akkor és csak akkor, T típusok nem üres halmaza, K konstans szimbólumok halmaza, F függvényszimbólumok halmaza, P predikátumszimbólumok nem üres halmaza.
Geom nyelv Példa mondatok: A,B,C … változók szokás szerint pont típusúak P,q,r,… változók szokás szerint egyenes típusúak A,b,c…. Változók szokás szerint sík típusúak. A GEOM nyelvet definíciók segítségével építem fel: P=Q Példa mondatok: Ha A pont rajta van az p egyenesen, és A pont egybe esik B ponttal, akkor B pont rajta van p egyenesen. (A p A = B) B p A p egyenes egybe esik q egyenessel, akkor és csak akkor, ha minden A pont rajta van p egyenesen, és viszont minden A pont rajta van q egyenesen is. p=q: (A p A q) A
Halmaz elmélet Ha életszerű példával szeretnénk szemléltetni mi is a halmaz, akkor vegyünk egy zsákot, tegyünk bele bármit és kaptunk egy halmazt. A halmaz olyan struktúra, amely elemeket tartalmaz. Azt a kérdést tehetem fel, hogy eleme-e? A halmazban az elemek sorrendje tetszőleges és minden elem egy előfordulása számít külön elemnek. A halmazhoz hasonlóan az elem is alapfogalom és az a kapcsolat is, hogy egy elem eleme-e egy halmaznak. A halmazokat többször a halmaz elemeire jellemző tulajdonság megadásával adunk meg vagy, ha ez lehetséges, akkor a halmaz elemeinek a felsorolásával. {1, 2, 1} = {1, 2} Az két halmaz egyenlő mivel az elemek száma és sorrendje nem számít. : Eleme-e? predikátum / Is member / 1 { 1, 2} jelentése: 1 eleme-e? {1,2} halmaznak, eredménye IGAZ 1 {3} jelentése: 1 eleme-e? {3} halmaznak, eredménye HAMIS a {} jelentése: nincs olyan elem, ami elme az üres halmaznak
Halmazt létrehozó konstruktor Kötött változótól függő formula { _ | P(x)} x kötött változó Term Példa a páros számok halmazát létrehozó konstruktorra: {n | n n % 2 = 0} = {0,2,4,6…} n n N A halmazt létrehozó konstruktor összegyűjti azokat a termeket, amelyre a formula igaz. Az olyan kvantorokat, amelyek objektumot hoznak létre, konstruktoroknak híjuk.
Függvények Az predikátumot nem definiáljuk megmondjuk egy tulajdonságát. x { y | P(y) P(x) x {n | n%2= 0} x % 2 = 0 n n N x {e | NEVE(e)=”Péter”} Neve (x) = Péter e e emberek
Halmaz műveletek Metszet / Intersection / A B := {a | a A a B} Egyesítés,unio / unio / A B := {a | a A a B } a
Halmaz műveletek 2 Hatvány halmaz / power set / P( A ):= {A | B A } Különbség / relative complement / A \ B := {a | a A a B } a Részhalmaz / subset / A B: ( a A a B ) a a A Hatvány halmaz / power set / P( A ):= {A | B A } B
Üres halmaz hatványhalmaza P{{}} = {{}} Az üres halmaz minden halmaznak a részhalmaza. P{{1}} = {{},{1}} P{{1,2}} = {{},{1},{2},{1,2}} A hatványhalmaz elemszámát úgy kapjuk meg, hogy vesszük a 2-nek a kiinduló halmaz elemszámra emelt hatványát. |P(A)| = 2|A| Kiinduló halmaz elemszáma Hatványhalmaz elemszáma
Két halmaz Descartes-szorzata / Cartesian product / A és B halmaz ilyen sorrendű Descartes-szorzata A x B := { <a,b> | a A b B } a , b Tuple n-es Példák: {1 , 2} x {Péter} = {<1 , Péter> , <2 , Péter>} {1,2} x {Péter,Pál} = {<1,Péter>,<1,Pál>,<2,Péter>,<2,Pál>} {1,2}x {Péter}x { a , b} = {<1,Péter,a><1,Péter,b><2,Péter,a><2,Péter,b>} A Descartes-szorzat által kapott eredmény halmaz elemeinek száma megegyezik a kiinduló halmazok elemszámainak szorzatával. |A x B| = |A||B| A rendezett n-esben a halmazokkal ellentétben nagyon szigorú a sorrend. <1,2> például koordináta n-es nem mindegy, hogy melyik szám jelöli az x pontot és melyik az y pontot a koordináta rendszerben. A halmazok a programozásban nem feldolgozhatóak.