Jesper Carlström 2008 (reviderad 2009)

Relevanta dokument
Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Övningshäfte 1: Logik och matematikens språk

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

MATEMATIKENS SPRÅK. Avsnitt 1

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Övningshäfte 2: Induktion och rekursion

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Grundläggande logik och modellteori

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

Kap. 7 Logik och boolesk algebra

Digital- och datorteknik

7, Diskreta strukturer

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

7, Diskreta strukturer

K2 Något om modeller, kompakthetssatsen

Mängdlära. Kapitel Mängder

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Föreläsningsanteckningar och övningar till logik mängdlära

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Linjära ekvationer med tillämpningar

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Svar till vissa uppgifter från första veckan.

Grundläggande logik och modellteori (5DV102)

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Logik och kontrollstrukturer

Linjära ekvationssystem. Avsnitt 1. Vi ska lära oss en metod som på ett systematiskt sätt löser alla linjära ekvationssystem. Linjära ekvationssystem

Lite om bevis i matematiken

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter

Mer om analytisk geometri

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

A B A B A B S S S S S F F S F S F S F F F F

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Grundläggande logik och modellteori (5DV102)

8. Naturlig härledning och predikatlogik

Induktion, mängder och bevis för Introduktionskursen på I

Om semantisk följd och bevis

Övningshäfte 3: Funktioner och relationer

MYSTERIER SOM ÅTERSTÅR

Grundläggande logik och modellteori

Abstrakt algebra för gymnasister

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

9. Predikatlogik och mängdlära

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

Moment Viktiga exempel Övningsuppgifter

Vektorgeometri för gymnasister

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

Mängder. 1 Mängder. Grunder i matematik och logik (2015) 1.1 Grundläggande begrepp. 1.2 Beskrivningar av mängder. Marco Kuhlmann

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

2 Matematisk grammatik

Exempel. Komplexkonjugerade rotpar

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Lite Kommentarer om Gränsvärden

2 (6) k 0 2 (7) n 1 F k F n. k F k F n F k F n F n 1 2 (8)

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar I. v. 2.0, den 24/4 2013

Föreläsning 5. Deduktion

Subtraktion. Räkneregler

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

EDA Digital och Datorteknik 2009/2010

Viktiga frågor att ställa när ett argument ska analyseras och sedan värderas:

1 Suddig logik och gitter

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Logik. Dr. Johan Hagelbäck.

Grundläggande logik och modellteori

Tisdag v. 2. Speglingar, translationer och skalningar

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

Komplexa tal: Begrepp och definitioner

Axiom för de reella talen

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

M0043M Integralkalkyl och Linjär Algebra, H14, Linjär Algebra, Föreläsning 11

Ekvationer och system av ekvationer

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

Definitionsmängd, urbild, domän

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Likhetstecknets innebörd

Linjär algebra F1 Ekvationssystem och matriser

Mer om reella tal och kontinuitet

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Varför är logik viktig för datavetare?

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp)

Logik och modaliteter

TAMS79: Föreläsning 1 Grundläggande begrepp

Semantik och pragmatik (Serie 3)

Hela tal LCB 1999/2000

Begreppen "mängd" och "element" är grundläggande begrepp i matematiken.

Explorativ övning 5 MATEMATISK INDUKTION

Sidor i boken V.L = 8 H.L. 2+6 = 8 V.L. = H.L.

Transkript:

Jesper Carlström 2008 (reviderad 2009)

Jesper Carlström Matematiska institutionen Stockholms universitet 106 91 Stockholm http://www.math.su.se/ jesper/logikbok/ c 2009 Jesper Carlström Typsatt av L A TEX med hjälp av Paul Taylors paket Prooftree

Innehåll Figurer Till studenten Till läraren iii v vii I Inledning 1 1 Boolesk algebra introduktion 3 1.1 Booles idé.............................. 3 1.2 Exempel på booleska algebror................... 5 1.3 Några egenskaper hos booleska algebror............. 6 1.4 Prioriteringsregler......................... 8 1.5 Normalformer............................ 8 1.6 Enkla ekvationer.......................... 11 1.7 Sammanfattning.......................... 12 2 Booleska ekvationer och implikation 13 2.1 Ekvationer, olikheter och ekvationssystem............ 13 2.2 Implikation............................. 17 2.3 Sammanfattning.......................... 20 3 Induktivt definierade mängder 21 3.1 Behovet av en enkel mängdteori.................. 21 3.2 Naturliga tal............................ 21 3.3 Två-elements-algebran....................... 25 3.4 Induktion och rekursion...................... 25 3.5 Sammanfattning.......................... 26 II Satslogik 27 4 Satslogikens språk och semantik 29 4.1 Logiska formler........................... 29 4.2 Semantik.............................. 31 4.3 Sammanfattning.......................... 34 5 Naturlig deduktion 35 5.1 Konjunktion............................. 35 5.2 Implikation............................. 36 5.3 Disjunktion............................. 38 5.4 Negation och biimplikation.................... 39 5.5 Det formella synsättet....................... 41 5.6 Blandade övningar......................... 42 5.7 Sammanfattning.......................... 43 c 2009 Jesper Carlström i

INNEHÅLL 6 Sundhet & Repetition 45 6.1 Sundhet............................... 45 6.2 Sammanfattning.......................... 49 6.3 Repetition.............................. 49 7 Normala härledningar 51 7.1 Inledning.............................. 51 7.2 Glivenkos sats och normalisering................. 52 7.3 Tillämpningar............................ 53 7.4 Sammanfattning.......................... 57 8 Fullständighet 59 8.1 Maximal konsistens......................... 59 8.2 Fullständighet............................ 61 8.3 Sammanfattning.......................... 62 III Predikatlogik 63 9 Det predikatlogiska språket 65 9.1 Termer................................ 65 9.2 Formler............................... 67 9.3 Sammanfattning.......................... 71 10 Semantik 73 10.1 Tolkning av termer och formler.................. 73 10.2 Modeller och motmodeller..................... 77 10.3 Begränsade kvantorer....................... 79 10.4 Sammanfattning.......................... 80 11 Förenklingar 81 11.1 Algebraiska förenklingar...................... 81 11.2 Förenklingar vid substitution................... 83 11.3 Sammanfattning.......................... 87 12 Naturlig deduktion 89 12.1 Nya regler.............................. 89 12.2 Blandade övningar......................... 94 12.3 Sammanfattning.......................... 95 13 Sundhet & Repetition 97 13.1 Sundhet............................... 97 13.2 Sammanfattning.......................... 100 13.3 Repetition.............................. 100 14 Fullständighet 103 14.1 Maximal konsistens och existensegenskapen........... 103 14.2 Fullständighet............................ 105 14.3 Kompakthet............................. 108 14.4 Sammanfattning.......................... 109 IV Appendix och index 111 Normaliseringsbevis 113 Lösningsförslag 121 Index 136 ii c 2009 Jesper Carlström

Figurer 1.1 Axiom för boolesk algebra..................... 4 1.2 Venn-diagram............................ 6 5.1 Härledningsreglerna för satslogisk naturlig deduktion...... 40 11.1 Några användbara räkneregler i algebraisk predikatlogik.... 81 12.1 Kompletterande regler för predikatlogisk naturlig deduktion.. 90 12.2 Lösning av Exempel 12.1.15.................... 93 c 2009 Jesper Carlström iii

FIGURER iv c 2009 Jesper Carlström

Till studenten Många av övningarna är inte samlade i kapitlens slut som är vanligt annars, utan insprängda i texten. Det är för att jag vill peka ut var du bör göra respektive övning. De finns där för att jag bedömt att du behöver kontrollera att du förstått innan du går vidare. Det finns ofta fler övningar i slutet av avsnittet. Ibland finner du en definition insprängd bland övningarna. Det är för att en logikstudent bör öva sig också i att använda sig av definitioner utan att få dem förklarade för sig först. Många av övningarna går också ut på att bevisa saker. Logik handlar trots allt om just bevis. Lycka till! Jesper Carlström Stockholm 19 juni 2007 c 2009 Jesper Carlström v

Till studenten vi c 2009 Jesper Carlström

Till läraren Detta studiematerial har tagits fram för kursen Logik AN, 7,5 hp, vid Matematiska institutionen, Stockholms universitet. Studenterna på dessa kurser har varierande bakgrund, från matematisk till filosofisk och datavetenskaplig. Skälet till att skapa materialet var att vi ville lära ut följande i en grundläggande kurs: Naturlig deduktion i trädform. Matematiska egenskaper såsom sundhet och fullständighet. Logik betraktad som en del av matematiken. Den enda bok som fanns tillgänglig och som uppfyllde dessa kriterier var van Dalens Logic and Structure. Den hade använts länge men ansågs alltför svår av studenterna. Lärare på kursen tyckte att den innehöll för många fel och förklarade vissa avsnitt på onödigt krångliga sätt, samtidigt som den tog för lätt på andra saker. Man tog därför beslutet att utforma ny litteratur i samma anda, men med en stil som kunde förväntas passa våra studenter bättre, så att fler klarade kursen. När jag fick uppdraget beslutade jag mig för att förbättra följande jämfört med van Dalens bok: Mängdteori som grundval för logiken ska undvikas, eftersom en naturlig tillämpning av logiken är just i mängdteorin. Texten ska ha en konsekvent terminologi och konsekventa beteckningar för att underlätta inlärningen och tydligheten. Problem från tentor ska föras in, så att studenterna tydligt ser vad som förväntas av dem. (Många av problemen är tagna från tidigare tentor och är inte konstruerade av mig.) Texten ska vara skriven på svenska, eftersom det uppmärksammats att inlärning på modersmålet är mycket mer effektiv. Indelningen ska vara så lätt att förstå, att det är tydligt vad studenten ska göra till varje kurstillfälle utan att kompletterande läsanvisningar måste delas ut. Den sista punkten gjorde att jag anpassade kapitlens innehåll så att det ska vara lagom att täcka ett kapitel per föreläsning. Jag kommenterar nu vissa kapitels material. Kapitlen 1 och 2 behandlar boolesk algebra. Jag anser att den är en naturlig inledning till symbolisk logik för den som tidigare är van att tänka algebraiskt. De studenter som kommer från datavetenskapligt håll brukar känna igen och uppskatta denna del, med referenser till digitaltekniken. Sanningstabeller och normalformer förklaras lättast inom ett algebraiskt ramverk och när man avgör om en formel är en tautologi är det beräkning i boolesk algebra man faktiskt använder. Sist men inte minst utgör boolesk algebra ett exempel på abstrakt algebra och ger därmed studenterna en erfarenhet av modellbegreppet inför senare avsnitt. c 2009 Jesper Carlström vii

Till läraren Kapitel 3 behandlar induktivt definierade mängder. De mängder av formler, termer, med mera, som vi senare inför och gör induktionsbevis över, kan definieras på detta sätt. Fördelen med ett kapitel om induktivt definierade mängder är att man kan diskutera induktionsbevis och rekursion på ett naturligt sätt. Det gör också att man kan undvika att formulera ett grundvalssystem (mängdteori eller typteori, exempelvis) för logiken och i stället inta en mer strukturalistisk hållning: det är induktivt definierade mängder vi behöver, sedan är det en annan (och i sammanhanget ovidkommande) fråga i vilket ramverk vi tänker oss att teorin om induktivt definierade mängder ska formaliseras. De enda mängder vi använder i kursen som inte kan ses som induktivt definierade är mängderna av ekvivalensrelationer i Kapitel 14. Det går att helt klara sig utan sådana mängder genom att göra som Bishop och låta likheten vara en ekvivalensrelation snarare än en identitetsrelation, men jag fann en sådan framställning alltför ovan för studenterna. I Kapitel 6 bevisas satslogikens sundhet. Många böcker tonar ner betydelsen av sundhetssatsen men jag finner det oegentligt. Oftast sker det med motiveringen att vi redan argumenterat för härledningsreglernas utseende när de infördes, så att vi vet att de är sunda. Men de argumenten är sällan vattentäta utan utgör snarare inspiration. Det är exempelvis långt ifrån klart att reglerna för avslutande av antaganden är korrekta. I själva verket kan man se sundhetssatsen som just en sats om det senaste. Ett antal studenter brukar ifrågasätta giltigheten av falsk-elimination och låta sig övertygas först av motsvarande del av sundhetsbeviset. Kapitel 7 ger en introduktion till normala härledningar i satslogik. Huvudsyftet är att ge läsaren verktyg för att metodiskt söka efter härledningar i naturlig deduktion, genom att se vilka vägar som är återvändsgränder. Just därför har jag valt att lyfta ut själva normaliseringsbevisen till ett appendix. Det bär naturligtvis en logiker emot att uppmuntra studenter att inte fördjupa sig i bevisen, men visst experimenterande har indikerat att de flesta studenter ändå inte tar till sig dessa bevis, eftersom de inte förväntas normalisera i problemlösandet, utan bara söka efter normala härledningar. Enda poängen med normaliseringsbevisen är i kursen följande: om något kan härledas över huvud taget, så kan det härledas med en normal härledning. Studenterna uppfattar normaliseringsbevisen som krångliga, men uppskattar ofta själva kunskaperna om hur man söker normala härledningar. Inte minst ger dessa en möjlighet att precist besvara frågor om vilka regler man måste använda för att härleda en viss formel. För att göra begreppsapparaten så enkel som möjligt har jag valt en definition av normal som är nära besläktad med Seldins. Den är lämplig för satslogik, men mindre lämplig för predikatlogik, eftersom den bygger på Glivenkos sats. Normalisering för predikatlogik har jag utelämnat eftersom jag har tyckt att det räcker att ha sett detta för satslogik och för att det är mer komplicerat för predikatlogik, med variabelbyten och allt. Kapitel 8 handlar om fullständighetssatsen. Jag har gjort som van Dalen och valt ett bevis som är så likt predikatlogikens som möjligt, med syfte att förbereda för detta. Kapitel 10 introducerar semantiken för predikatlogik. Här har jag valt att införa ett tydligt maskineri för omvärderingar för att underlätta förståelsen av hur sanningsvärden påverkas vid substitution och för att sundhetsbeviset senare ska bli enkelt. Detta är en ganska stor skillnad jämfört med van Dalens bok, där substitution sker helt informellt, med åtföljande svårigheter i sundhetsbeviset. Kapitel 11 går igenom hur man kan förenkla formler, det vill säga att givet en formel finna en enklare formel som alltid har samma sanningsvärde som den man utgick från. Det går också igenom hur man kan förenkla uttryck som innehåller substitution genom att använda sig av omvärderingar. Begreppet fri för införs här naturligt. I Kapitel 12 införs de nya regler som behövs för predikatlogisk naturlig deduktion. Jag har valt de mindre generella reglerna, som inte tillåter variaviii c 2009 Jesper Carlström

belbyte vid allintroduktion och existenselimination, eftersom jag tror att de mer generella är för svåröverskådliga. I van Dalens bok Logic and Structure används först de enklare reglerna, men de mer generella införs mot slutet. Variabelrestriktionerna är dock felaktigt formulerade, korrekt formulerade blir de fler och svårare att kontrollera. Att jag valt de enklare reglerna straffar sig bara på ett ställe: i beviset av modellexistenslemmat, där man måste ta en liten omväg (en härledning blir två steg längre för variabelbyte). Om man ville göra normalisering för predikatlogik skulle det vara bra att välja de mer generella reglerna, men eftersom jag valt att hoppa över detta blir det också möjligt att hålla sig till de enklare reglerna. Jag har inkluderat lösningar till de flesta problem utom gamla tentamensproblem, vars lösningar finns på http://www.math.su.se/. Jesper Carlström Stockholm januari 2008, reviderat i oktober 2009 Tack Tack till Clas Löfwall, som under sin tid som prefekt såg till att en del av min undervisningsskyldighet viktes åt att skapa detta material. Han läste också en tidig version och kom med mycket värdefulla synpunkter. Några av de inkluderade gamla tentaproblemen har han konstruerat. Dag Prawitz tackar jag för att ha kritiserat en tidig version av avsnittet om normala härledningar. Det ledde till att jag skrev om avsnittet från grunden. Jag hoppas att det därigenom blev betydligt bättre. Tack också till Bengt Ulin, som hjälpt mig att få upp ögonen för den booleska algebrans pedagogiska poänger. c 2009 Jesper Carlström ix

Till läraren x c 2009 Jesper Carlström

Del I Inledning c 2009 Jesper Carlström 1

Kapitel 1 Boolesk algebra introduktion 1.1 Booles idé Modern symbolisk logik kan sägas ha startat i och med en observation av George Boole (1815 64). Han noterade att vanlig algebra kan användas för att formulera och lösa logiska problem. Tänk exempelvis på l som de långa, k som de korta, b som de brunhåriga. Då kan lb tolkas som de långa brunhåriga och l + k som de långa och de korta. Man kan formulera principen att ingen är både lång och kort med regeln lk = 0 och därefter lösa problem genom att förenkla komplicerade uttryck algebraiskt. Exempelvis kan en onödigt komplicerat beskriven samling som de långa, som är brunhåriga men inte brunhåriga korta representeras symboliskt med l(b bk) och en algebraisk förenkling ger l(b bk) = lb lbk = lb (lk)b = lb 0b = lb (1.1.1) vilket visar att man enklare kan kalla dessa personer för de långa brunhåriga. Boole införde också räkneregeln aa = a, eller annorlunda uttryckt a 2 = a. Den säger exempelvis att de brunhåriga brunhåriga är desamma som de brunhåriga och att de korta korta är desamma som de korta. Det spelar med andra ord ingen roll om man anger en egenskap flera gånger. Den räkneregeln kan användas för att komma fram till att de, av de långa och de korta, som är korta, enklare beskrivs som korta : Inom ringteorin i algebran säger man att en ring är boolesk om regeln a 2 = a gäller i den. (l + k)k = lk + kk = 0 + k = k. (1.1.2) Det är inte helt problemfritt att räkna som Boole gjorde. Följ med i följande beräkning, som helt följer de vanliga räknereglerna och samtidigt använder regeln a 2 = a: 2x = (2x) 2 = 4x 2 = 4x. (1.1.3) Om man nu drar 2x från båda sidor får man 0 = 2x, alltså att regeln a + a = 0 (1.1.4) måste gälla. Den säger, om man tillämpar den på k, att det inte finns några som hör till samlingen de korta och de korta. Är det rimligt? Boole tyckte det. Han förbjöd helt enkelt addition av två likadana uttryck. I själva verket tillät han addition bara av två egenskaper som är ömsesidigt uteslutande. Ett problem med den idén är att man sällan vet om två saker får adderas när man räknar. En modern lösning är i stället att godta addition av vilka som helst egenskaper, men tolka + som uteslutande eller, även kallat exklusivt eller, i datorsammanhang ofta förkortat XOR: om a och b är två egenskaper så har något egenskapen a+b då det har antingen egenskapen a eller egenskapen b men inte båda. Med den tolkningen är det helt rimligt att ha regeln a + a = 0. Man ska bara inte utläsa den som Boole gjorde. I stället för att läsa uttrycket b + k c 2009 Jesper Carlström 3

Boolesk algebra introduktion Tecknet kommer från första bokstaven i latinets vel, som betyder eller. Dualitet betyder att ett par förhåller sig som raka motsatser. Ironiskt nog innebär det därmed att de är starkt förknippade med varandra. För att en dualitet ska råda mellan två saker krävs att de är formmässigt lika, men i en annan mening varandras motsatser. Begreppen störst och minst kan sägas vara duala, men knappast störst och gul. Lär dig reglerna i Figur 1.1 utantill, så blir det mycket lättare att lösa problem. Ta gärna hjälp av dualiteten och reglernas namn när du memorerar dem. som de brunhåriga och de korta ska man läsa det som de som är brunhåriga eller korta, men inte båda. Eftersom denna form av eller utesluter att man har båda egenskaperna kallas den just uteslutande eller. Det är tyvärr ofta inte så fruktbart med uteslutande eller. Om man i ett datasystem för biljettförsäljning har angett att rabatt ska erbjudas till dem som är pensionerade eller studerande, så vill man troligen att även studerande pensionärer ska erbjudas rabatten. Om det är på detta sätt man ska tolka ordet eller, så kallas det för inklusivt eller och noteras ofta med tecknet i stället för +. Även inom matematiken är det inklusivt eller man har föredragit. Man säger saker som att om a + b > 0, så är a > 0 eller b > 0 och utesluter i och med det inte att båda talen kan vara positiva. För inklusivt eller har vi regeln a a = a, precis som att aa = a. Det råder alltså en form av likhet, närmare bestämt en dualitet. För att lyfta fram den egenskapen har man valt att skriva a a i stället för aa. Man utläser som eller och som och. Alltså blir l b de som är långa och brunhåriga medan l b blir de som är långa eller brunhåriga, i vilket man som sagt inkluderar dem som är både långa och brunhåriga. Som vi såg tidigare fick vi automatiskt regeln a+a = 0 om vi räknade som vanligt. Vi kan därför inte räkna som med + när vi använder. Det går nästan alltid att tänka på som +, men inte riktigt alltid. Problemet är att man inte har någon subtraktion. Mer precist uttryckt: det finns inte alltid någon lösning till ekvationen a x = 0. I stället för subtraktion har man komplement: man skriver a för egenskapen inte a. Man skriver alltså l för dem som inte är långa, och b för dem som inte är brunhåriga. De grundläggande reglerna för, och ser något annorlunda ut jämfört med våra vanliga räkneregler. De finns samlade i Figur 1.1. Man kallar dem för axiom för boolesk algebra, även om Boole själv inte studerade sådan algebra. Boolesk algebra heter snarare så för att den är utvecklad i Booles anda. I själva verket är listan med axiom onödigt lång, det räcker att ta med (komm), (id), (distr) och (inv), så kan de andra reglerna härledas. Det är dock ofta bekvämt att ha tillgång till alla reglerna. a b = b a a b = b a (komm) (a b) c = a (b c) (a b) c = a (b c) (ass) a 0 = a a 1 = a (id) a 1 = 1 a 0 = 0 (begr) a a = a a a = a (idemp) a (b c) = (a b) (a c) a (b c) = (a b) (a c) (distr) a a = 1 a a = 0 (inv) (a b) = a b (a b) = a b (dm) komm står för kommutativitet ass står för associativitet id står för identitetselement begr står för begränsning idemp står för idempotens distr står för distributivitet inv står för inversa element dm står för de Morgans regler Figur 1.1: Axiom för boolesk algebra 1.1.5 Övning. Vilka av axiomen för boolesk algebra (Figur 1.1) är giltiga i vanlig algebra om man tolkar och som + respektive, och a som 1 a? 4 c 2009 Jesper Carlström

1.2 Exempel på booleska algebror 1.1.6 Övning. Visa att axiomen (idemp) egentligen inte behövs. Ledning. Börja med att skriva om a a som (a 0) (a 0) genom att använda (id) och fortsätt sedan genom att använda (distr). 1.1.7 Övning. Visa att a = a för varje a. Ledning. Visa att a = a a och att a = a a. Börja exempelvis a (id) = a 0 (inv) =.... 1.2 Exempel på booleska algebror 1.2.1 Exempel (triviala booleska algebran). Enklast tänkbara booleska algebra är så enkel att den kallas trivial. Man låter helt enkelt 0 och 1 bara vara namn på ett och samma element och låter = = =. Algebran består alltså bara av ett enda element! Som du kanske anar är den inte särskilt användbar. Men man kan ha den till att förstå att 0 1 inte följer ur räknereglerna för boolesk algebra. Från dem följer bara sånt som är sant i alla booleska algebror, men i den triviala algebran är 0 1 falskt. 1.2.2 Exempel (algebran med två element). Enklaste icketriviala booleska algebran får man genom att betrakta mängden {0, 1} och definiera operationerna, och genom några enkla tabeller. Tänk på 0 som att det representerar falskt och 1 som att det representerar sant. Då är det rimligt att ställa upp följande så kallade sanningstabeller. a b a b 0 0 0 0 1 1 1 0 1 1 1 1 a b a b 0 0 0 0 1 0 1 0 0 1 1 1 a a 0 1 1 0 (1.2.3) 1.2.4 Övning. Kontrollera att axiomen i Figur 1.1 är giltiga om man definierar operationerna enligt (1.2.3). Den här algebran kallas ofta för den initiala booleska algebran. 1.2.5 Övning. Visa att tabellerna (1.2.3) bara kan fyllas i på ett sätt om axiomen i Figur 1.1 ska bli giltiga. Närmare bestämt: visa att kolumnerna under a b, a b och a bestäms helt av axiomen. Ledning. Det räcker att betrakta axiomen (id), (begr), (inv) för att se att tabellerna blir entydigt bestämda. Trots sin enkelhet eller kanske just därför är två-elements-algebran mycket viktig. Den har tillämpningar inom digitaltekniken, men kommer också att vara grunden för nästan allt vi ska göra under den här kursen. När vi inför semantik för satslogik och predikatlogik, är det denna algebra vi använder (kapitlen 4 och 10). 1.2.6 Exempel (genererad algebra av delmängder). En annan viktig boolesk algebra ligger mycket närmare det Boole ville göra från början. Betrakta alla studenter i ett klassrum. Vi kan på klassrumsgolvet rita tre överlappande cirklar b, l, k (Figur 1.2), ett så kallat Venn-diagram. Vi bestämmer nu att alla brunhåriga ska stå i cirkeln b, alla långa i cirkeln l, alla korta i cirkeln k. Den som är både brunhårig och lång får ställa sig i området där b och l överlappar varandra, eller annorlunda uttryckt, där cirkelskivorna (det inre av cirklarna) skär varandra. Den som varken anser sig vara brunhårig, lång eller kort, får ställa sig utanför alla cirklarna. Där cirkelskivorna l och k skär varandra bör ingen ställa sig, eftersom det inte är rimligt att man är både lång och kort. Man säger därför att snittet är tomt och skriver l k =. Notera att beteckningarna här är något annorlunda. Man använder i stället för och i stället för 0. Venn-diagram är uppkallade efter matematikern John Venn (1834 1923). Det är lite orättvist eftersom Leonhard Euler använde sådana redan 1768. Att snittet mellan l och k är tomt betyder att ingen befinner sig i området som l och k har gemensamt. c 2009 Jesper Carlström 5

Boolesk algebra introduktion b l k Figur 1.2: Venn-diagram Dualt skriver man i stället för och ofta I i stället för 1. Man skriver ofta b eller b c i stället för b och kallar den delmängden för komplementet till b den utgörs av dem som inte tillhör b. Samlingen b l kallas för unionen av b och l eftersom man kan tänka sig att de brunhåriga gått samman med de långa och bildat b l. Om man bortser från att beteckningarna har ändrats något är axiomen för boolesk algebra uppfyllda (kontrollera några av dem tills du förstår hur det går till). Vi har därför att göra med en boolesk algebra med elementen och I, men också b, l, k och alla kombinationer, som b l. Man säger att algebran genereras av b, l, k. 1.2.7 Exempel (algebran av alla delmängder). Givet en mängd kan vi bilda algebran av alla delmängder av den ursprungliga mängden. Vi tolkar 0 som tomma delmängden emptyset, vi tolkar 1 som fulla delmängden I (den som innehåller alla element i den ursprungliga mängden), vi tolkar som snittet, som unionen, som komplementet. Axiomen för boolesk algebra blir då återigen uppfyllda, så vi har att göra med en boolesk algebra. Den består alltså av potensmängden (mängden av alla delmängder) av den ursprungliga mängden med de vanliga delmängdsoperationerna. Låt oss nu precist definiera vad en boolesk algebra är: 1.2.8 Definition. En boolesk algebra är en mängd M, med konstanter 0 M och 1 M och operationer: och (tvåställiga) och (enställig), sådana att axiomen i Figur 1.1 är uppfyllda. 1.3 Några egenskaper hos booleska algebror Det är lätt att kontrollera att 0 = 1 och 1 = 0 i de booleska algebror vi gick igenom i förra avsnittet. Men kan vi vara säkra på att det gäller i alla booleska algebror? Om booleska algebror i allmänhet vet vi ju bara att de uppfyller axiomen. Svaret är ja, vilket framgår av att följande beräkning är riktig i alla booleska algebror: 0 (id) = 0 0 (komm) = 0 0 (inv) = 1. (1.3.1) Absorbtionsregler: a (a b) = a a (a b) = a 1.3.2 Övning. Visa att 1 = 0 gäller i alla booleska algebror. 1.3.3 Övning. Två så kallade absorbtionsregler gäller: a (a b) = a och a (a b) = a. Den första kan visas så här: a (a b) (id) = (a 1) (a b) (distr) = a (1 b) (komm) = a (b 1) (begr) = a 1 (id) = a. (1.3.4) Visa den andra. 6 c 2009 Jesper Carlström

1.3 Några egenskaper hos booleska algebror En mycket användbar princip när man arbetar med booleska algebror (särskilt vid ekvationslösning, som i Avsnitt 2.1) är att om a b = 0, så är både a = 0 och b = 0. Även detta kontrolleras lätt i de booleska algebror vi har gått igenom. För att vara säkra på att det gäller även i andra booleska algebror använder vi att följande gäller om a b = 0: a (id) = a 1 (1.3.1) = a 0 = a (a b) (dm) = a ( a b) (ass) = (a a) b (inv) = 0 b (komm) = b 0 (begr) = 0. (1.3.5) 1.3.6 Övning. Visa på liknande sätt att om a b = 0, så är b = 0. Mer precist: visa att detta gäller i alla booleska algebror. Visa också att om a b = 1, så är både a = 1 och b = 1. Vi sammanfattar dessa nyttiga resultat i följande sats. 1.3.7 Sats. I booleska algebror gäller att om a b = 0, så är a = 0 och b = 0. Dualt gäller att om a b = 1, så är a = 1 och b = 1. Följande övning visar att satsen måste läsas noga. 1.3.8 Övning. Visa att i den booleska algebran med två element gäller att om a b = 0, så är a = 0 eller b = 0. Ge också exempel på en boolesk algebra där den principen inte gäller. Kanske har du redan tänkt på att i våra exempel finns det en naturlig ordning mellan elementen. I den booleska algebran som bara består av 0 och 1 är det naturligt att säga att 0 1 och i algebran som består av delmängder har man relationen som säger att varje element i en viss delmängd också är element i en annan delmängd. Exempelvis är varje person som är brunhårig lång också lång, så vi har b l l. Man kan använda sig av sådana ordningar i alla booleska algebror genom att helt enkelt definiera på följande vis: 1.3.9 Definition. I en boolesk algebra betyder a b att a b = a. Notera att i en boolesk algebra av delmängder är a b sant precis då a b är sant. 1.3.10 Övning. Visa att 0 1 gäller enligt definitionen. 1.3.11 Övning. Visa att a b b gäller för vilka som helst element a, b i vilken som helst boolesk algebra. 1.3.12 Övning. Visa att är vad matematiker kallar en partialordning: a a Om a b och b c, så a c. Om a b och b a, så a = b. (reflexivitet) (transitivitet) (antisymmetri) Det gäller inte alltid att om a b = 0 så är a eller b noll. När man uttrycker sig som i Övning 1.3.11 så menar man inte att du får välja en boolesk algebra och visa att regeln gäller där, utan att du ska visa att den gäller i varje boolesk algebra. Tanken är att om jag väljer en boolesk algebra och två element a, b så ska du kunna visa att a b b gäller i den. 1.3.13 Övning. Visa att ger minsta övre gräns i följande bemärkelse: a (a b) b (a b) Om a c och b c, så (a b) c. Ledning. Här kommer absorbtionslagarna (Övning 1.3.3) till användning. 1.3.14 Övning. Visa att ger största undre gräns. Börja med att definiera vad det innebär precist, i analogi med föregående uppgift. 1.3.15 Övning. En atom är ett element som är minimalt bland dem som inte är noll. I klartext: ett a 0 sådant att om c a för något c 0, så är c = a. Ge exempel på några atomer i några booleska algebror. Bevisa att de verkligen är atomer. 1.3.16 Övning. Visa att om a b, så är (a c) (b c) för alla c. 1.3.17 Övning. Visa att om a b, så b a. Är det inte underbart vad man tycker är klartext som matematiker? c 2009 Jesper Carlström 7

Boolesk algebra introduktion 1.4 Prioriteringsregler Eftersom man har associativa regler i boolesk algebra behöver man inte skriva ut så många parenteser. Exempelvis har man (((a b) (c d)) e) f = a (((b c) d) (e f)), (1.4.1) så man kan nöja sig med att skriva a b c d e f. (1.4.2) På samma sätt kan man göra med. För att ytterligare minska antalet parenteser brukar man låta binda hårdare än, på samma sätt som att binder hårdare än +: a b c (1.4.3) betyder a (b c). Slutligen binder hårdare än. 1.4.4 Övning. Förenkla följande uttryck med boolesk algebra. a) x y y x b) x y y x c) ( (x y) x) y 1.5 Normalformer I vanlig algebra finner man sig sällan i att ha uttryck som (x + 3)(x x) + x + (x x + x)x + (x x 3 + 4x)(x + 3x). (1.5.1) Man skriver regelmässigt om det uttrycket till 13x 3 + 17x 2 + x. (1.5.2) Detta polynom är på en sorts normalform. Även i boolesk algebra är normalformer viktiga. På vissa sätt är de ännu viktigare än i vanlig algebra, eftersom Jämför: de kan användas för att lösa ekvationer i ännu större utsträckning. I boolesk algebra har man två sorters normalformer: disjunktiv respektive konjunktiv eller: disjunktion och: konjunktion normalform. Ett uttryck på disjunktiv normalform kan se ut så här: plus: addition gånger: multiplikation ( x y z) (y z) x (1.5.3) Variabler betecknas med x, y, z,.... När bokstäverna a, b, c,... används avses godtyckliga element i algebran. Variabeln x är på både disjunktiv och konjunktiv normalform. Vi kan inte veta om a är på disjunktiv normalform eftersom vi inte vet hur elementet a är skrivet. och ett uttryck på konjunktiv normalform kan se ut så här: ( x y z) (y z) x. (1.5.4) 1.5.5 Definition. Ett uttryck är på disjunktiv normalform om det är en ändlig disjunktion av ändliga konjunktioner av variabler och/eller negerade variabler. Varje variabel får förekomma högst en gång i varje konjunktion. Uttrycken 0 och 1 räknas som på disjunktiv normalform, men inte några andra uttryck som innehåller dem. 1.5.6 Definition. Ett uttryck är på konjunktiv normalform om det är en ändlig konjunktion av ändliga disjunktioner av variabler och/eller negerade variabler. Varje variabel får förekomma högst en gång i varje disjunktion. Uttrycken 0 och 1 räknas som på konjunktiv normalform, men inte några andra uttryck som innehåller dem. 8 c 2009 Jesper Carlström

1.5 Normalformer Precis som att en tom summa anses vara 0 och en tom produkt anses vara 1, säger vi att en tom disjunktion är 0 och en tom konjunktion är 1. 1.5.7 Exempel. Följande är alla på disjunktiv normalform: 1. x y z, 2. x (y z) w, 3. x y. Ingen av följande är på disjunktiv normalform: 1. (x y) z, 2. (x x) y, 3. 0 x. 1.5.8 Övning. Vilka av följande uttryck är på disjunktiv normalform? Vilka är på konjunktiv normalform? 1. 0 2. (x y) z 3. x y z 4. x 5. x x 6. (x x) y 7. x 0 8. x (y 1) 9. a b (kuggfråga) Varje booleskt uttryck kan skrivas om på disjunktiv normalform (och även på konjunktiv normalform, vilket är helt dualt). Med det menar man att man konstruerar ett uttryck som är på disjunktiv normalform och som är lika med det man startade med i varje boolesk algebra. Man kan gå tillväga på följande sätt: 1. Använd Övning 1.1.7 för att skriva om a till a. 2. Använd (distr) för att skriva om uttryck på formen a (b c) till (a b) (a c). Uttryck på formen (a b) c tar man hand om genom att först använda (komm) för att få c (a b) och därefter fortsätta med (distr). 3. Använd de Morgans regler för att skriva om (a b) till a b och (a b) till a b. 4. Använd (inv), (begr), (komm) och (ass) för att skriva om konjunktioner som innehåller en variabel både negerad och icke-negerad till 0 (exempelvis skriver man om x y x till 0). 5. Använd (idemp), (komm) och (ass) för att skriva om flera förekomster av en negerad variabel till en enda, och likadant för icke-negerade variabler (exempelvis skriver man om x y x y till x y). 6. Använd (komm) och (begr) för att skriva om a 0 och 0 a till 0, samt a 1 och 1 a till 1. 7. Använd (komm) och (id) för att skriva om a 0, 0 a, a 1 och 1 a till a. Jämför: 0X a n = 0 n=1 0Y a n = 1 n=1 0_ a n = 0 n=1 0^ a n = 1 n=1 c 2009 Jesper Carlström 9

Boolesk algebra introduktion Upprepa dessa steg tills inget av dem kan tillämpas längre. Då har du nått disjunktiv normalform. I praktiken redovisar man inte alla steg. Exempelvis skriver man utan vidare om a till a utan att ange varför det går, men man bör hålla skälet (Övning 1.1.7) i åtanke för sitt goda samvetes skull. På liknande sätt kan man skriva om (a b c) till a b c utan att ange alla steg. 1.5.9 Övning. Skriv om följande på disjunktiv normalform: a) x (y (z x)) b) x (y z) ( y z), c) y z (x (y z)) Notera den kompakta formen på tabellen: under varje variabel har vi skrivit dess värde för den aktuella raden. Under varje operation har vi sedan skrivit värdet som erhålls när operationen beräknas. De tre vänstra kolumnerna kan helt utelämnas, men man måste då tänka på att om en variabel förekommer flera gånger på samma rad (som i det här fallet x), så måste den ha samma värde varje gång. Ett annat sätt att omvandla till disjunktiv normalform är att skriva upp värdetabellen för ett uttryck och därefter avläsa den disjunktiva normalformen ur tabellen. Vi illustrerar det med ett exempel. 1.5.10 Exempel. Skriv om x (y (z x)) på disjunktiv normalform. Lösning. Vi konstruerar en sanningstabell: x y z x ( y ( z x ) ) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 (1.5.11) Ur sanningstabellen kan vi utläsa att uttrycket är sant på de tre nedersta raderna. Om vi skapar ett uttryck för var och en av dessa rader så kan vi sen sätta ihop dem. Först skapar vi ett uttryck som har värdet 1 på den tredje sista raden, men 0 på alla andra. Vi lyckas med det genom att välja uttrycket x y z: för att det ska få värdet 1 måste vi ha precis x = 1, y = 0, z = 1. För de två sista raderna väljer vi x y z respektive x y z. Till sist sätter vi ihop uttrycken med disjunktioner: (x y z) (x y z) (x y z). (1.5.12) Troligen fick du ett kortare uttryck när du gjorde Övning 1.5.9 a. Det är inte något fel att man får olika svar: normalformer är inte unika i boolesk algebra. Den senaste metoden har ett teoretiskt problem: vi ser visserligen att vi alltid får ett uttryck på disjunktiv normalform, men hur vet vi att det alltid är lika med det vi startade med i varje boolesk algebra? Tabellen visar att så länge vi sätter in 0 eller 1 i stället för variablerna i uttrycken, så kommer vi att få likhet. Men i många booleska algebror finns massor med andra element också. Hur vet vi att vi får likhet även när vi sätter in dem i stället för variablerna? Sats 2.1.39 kommer att visa att det faktiskt fungerar: det räcker att kontrollera insättning med 0 och 1 för att vara säker på att uttryck är lika för alla andra insättningar också. Det är en ganska ovanlig egenskap som just booleska algebror har. 10 c 2009 Jesper Carlström

1.6 Enkla ekvationer 1.6 Enkla ekvationer Vi ska nu undersöka hur man löser ekvationer där högerledet är 0. I nästa avsnitt bygger vi vidare med hur man hanterar ekvationer med andra högerled. 1.6.1 Exempel. Lös ekvationen x y z = 0. Lösning. Lösningarna i två-elements-algebran är enkla att finna. Där ges de av alla kombinationer utom (x, y, z) = (1, 1, 0). Man ser det genom att lösa motsvarande ekvation men med nollan utbytt mot en etta. Då ger Sats 1.3.7 att man måste ha x = 1, y = 1, z = 1. I andra booleska algebror kan man inte nödvändigtvis beskriva lösningarna så bra. Vi nöjer oss med att se efter vad ekvationen säger om en samling, där x, y, z tolkas som tre delmängder, tolkas som, och så vidare. Där säger ekvationen tydligen att snittet mellan x, y och z är tomt. Vilken som helst samling som har den egenskapen kan därför ses som en lösning till ekvationen. Man kan ta Venn-diagram som i Figur 1.2 till hjälp och skugga området som är tomt enligt ekvationen. Exemplet är typiskt: alla ekvationer där högerledet är 0 och vänsterledet är en konjunktion av variabler och negerade variabler hanteras på samma sätt. Om vänsterledet är något annat kan man alltid skriva om det på disjunktiv normalform och sedan använda Sats 1.3.7 för att få ett ekvationssystem av den förra typen. Vi illustrerar även detta med ett exempel. 1.6.2 Exempel. Lös ekvationen x (y (z x)) = 0. Lösning. Vi börjar med att skriva om vänsterledet på disjunktiv normalform exempelvis enligt (1.5.12), så att vi får ekvationen Högerledet 0, vänsterledet bara konjunktioner och negationer: olika metoder i olika booleska algebror. Högerledet 0, godtyckligt vänsterled: skriv först om vänsterledet på disjunktiv normalform. Fortsätt sen som i ovanstående fall. (x y z) (x y z) (x y z) = 0. (1.6.3) Enligt Sats 1.3.7 har den samma lösningar som ekvationssystemet x y z = 0 x y z = 0 x y z = 0. (1.6.4) I två-elements-algebran finner man lösningarna genom att i en tabell markera dem som är gemensamma för varje ekvation i systemet (exempelvis skriver man upp de åtta möjliga raderna och stryker de tre rader som är omöjliga enligt de tre ekvationerna). I Venn-diagram kan man skugga de tre områdena som är tomma enligt de tre ekvationerna. Vilken som helst samling som är tom i hela det skuggade området löser ekvationen. Att man inte kan precisera lösningarna närmare liknar situationen med underbestämda ekvationssystem i vanlig linjär algebra. Ibland blir lösningsmängden till ett ekvationssystem ett helt plan av punkter. Man kan då inte precisera en unik lösning, utan får betrakta ekvationen som löst när man angett planet på lämplig form. I boolesk algebra är den lämpligaste formen oftast just att ange ett antal konjunktioner som alla ska vara noll. 1.6.5 Exempel. I en databas på ett läkemedelsbolag har man lagrat information om personers kön och sjukdomshistoria. Man låter x vara kvinnorna, y vara männen, z vara de personer som har sömnsjuka. I en sökning vill man plocka ut de personer som uppfyller villkoret (x y) ((z ( x y)) ((x y) z). En anställd på läkemedelsbolaget protesterar och påstår att ingen kommer att bli utplockad av det villkoret. Har han rätt? Lösning. Han påstår att bolagets databasmaterial löser ekvationen (x y) ((z ( x y)) ((x y) z) = 0. c 2009 Jesper Carlström 11

Boolesk algebra introduktion Vi ser efter vad den har för lösningar. Vi skriver först om vänsterledet på disjunktiv normalform: (x y) ((z ( x y)) ((x y) z) = (x y) ((z ( x y)) (( x y) z) = (x y) ( x y) (z z) = (x y) ( x y) = (x y) ( y x). Ekvationen är alltså ekvivalent med systemet { x y = 0 x y = 0. Det betyder att skeptikern har rätt om och endast om det i databasen a) inte finns någon som angetts som både kvinna och man och b) inte finns någon som varken angetts som kvinna eller som man. 1.6.6 Övning. Lös ekvationen x (y z) ( y z) = 0. 1.6.7 Övning. Lös ekvationen y z (x (y z)) = 0. 1.7 Sammanfattning Du har mött boolesk algebra, som var den historiskt sett första ansatsen till formell, matematisk, symbolisk, logik. Du kommer att ha nytta av den dels som en grund för logiken, dels som ett exempel på en abstrakt algebraisk teori. Att det finns många olika booleska algebror som uppfyller samma axiom är ett exempel på att en teori kan ha många modeller, något vi kommer att ha nytta av längre fram i kursen. I nästa avsnitt kommer du att lära dig mer om hur man löser ekvationer i boolesk algebra. Viktigast att ha med sig i fortsättningen är förmågan att algebraiskt förenkla booleska uttryck för att därigenom senare i kursen beräkna så kallade sanningsvärden. Förmågan att ställa upp och använda sanningstabeller är värdefull när du ska avgöra om en så kallad formel är sann i alla möjliga så kallade tolkningar, något du kommer att få göra många gånger under kursen. 12 c 2009 Jesper Carlström

Kapitel 2 Booleska ekvationer och implikation 2.1 Ekvationer, olikheter och ekvationssystem Vi har tidigare sett hur man löser ekvationer där högerledet är 0. Även ekvationssystem med sådana högerled löses på samma sätt. Dessutom kan man lösa olikheter med samma metod. Vi tar strax ett exempel, men vi behöver först en hjälpsats för att se hur olikheter kan bytas ut mot ekvationer som har precis samma lösningar. 2.1.1 Lemma. Olikheten a b är ekvivalent med ekvationen a b = 0. Bevis. Antag att a b, vilket betyder att a b = a. Tag b på båda sidor så erhålls a b b = a b. Vänsterledet kan nu förenklas med (inv) och (begr) till 0. Antag å andra sidan att a b = 0. Då har vi a b = (a b) 0 = (a b) (a b) = a (b b) = a 1 = a, (2.1.2) det vill säga a b. 2.1.3 Exempel. Lös olikheten x y y z. Lösning. Vi börjar med att konstatera att den är ekvivalent med ekvationen x y (y z) = 0 enligt lemmat. Sen är det bara att göra som förut: skriv om vänsterledet på disjunktiv normalform x y (y z) = x y ( y z) (2.1.4) = x ((y y) (y z)) (2.1.5) = x (0 (y z)) (2.1.6) = x y z (2.1.7) Olikheter: byt ut dem mot ekvationer med högerledet 0. och konstatera att lösningen ges av ekvationen x y z = 0. (2.1.8) Med hjälp av olikheter kan vi nu lösa godtyckliga ekvationer. Ekvationer på formen a = b kan nämligen, med hjälp av antisymmetrin (Övning 1.3.12), skrivas om till ett system av olikheter { a b (2.1.9) b a Godtyckliga ekvationer: skriv om till ett system med två olikheter. Forsätt med metoden för att lösa olikheter. som sedan kan lösas som vi gjort ovan. c 2009 Jesper Carlström 13

Booleska ekvationer och implikation 2.1.10 Exempel. Lös ekvationen x y = y z. Lösning. Vi börjar med att skriva om ekvationen till systemet { x y y z y z x y. (2.1.11) Ekvationssystem: inte svårare än ekvationer. Man får bara ett större system av olikheter än när man börjar med en enda ekvation. Vi har redan i förra exemplet sett att den övre olikheten har samma lösningar som x y z = 0. Den nedre visas på liknande sätt ha samma lösningar som x y z = 0. I två-elements-algebran är alltså alla kombinationer utom (1, 1, 0) och (0, 1, 1) lösningar till ekvationen. Allmänt kan vi inte svara bättre än med de två ekvationerna. Det är nu ingen svårighet att hantera ekvationssystem och system av olikheter, man använder bara precis samma metoder. Det kan dock ibland vara en fördel att använda följande metod för att lösa en olikhet, snarare än att använda Lemma 2.1.1: givet en olikhet V L HL, skriv om V L på disjunktiv normalform och HL på konjunktiv normalform. Använd nu att a b c är ekvivalent med systemet { a c (2.1.12) b c enligt Övning 1.3.13. Dualt gäller att a b c är ekvivalent med systemet { a b (2.1.13) a c. På detta sätt kan en stor olikhet skrivas om som många små. 2.1.14 Exempel. Lös olikheten (x y) z ( y z) w. Lösning. Här behöver vi inte skriva om på normalform, för vänsterledet är redan givet på disjunktiv normalform och högerledet är givet på konjunktiv normalform. Det följer därför genast att olikheten är ekvivalent med systemet x y y z z y z x y w z w. (2.1.15) Den första olikheten skriver vi nu om på ekvationsform: x y ( y z) = 0, vilket då vänsterledet skrivs om på disjunktiv normalform blir x y z = 0. Den andra olikheten i systemet är alltid sann, eftersom högerledet är större än vänsterledet (se Övning 1.3.13). Denna kan vi alltså bortse från. Den tredje olikheten i systemet är ekvivalent med ekvationen x y w = 0. Den fjärde olikheten i systemet är ekvivalent med ekvationen z w = 0. Den ursprungliga olikheten är alltså ekvivalent med systemet x y z = 0 x y w = 0 (2.1.16) z w = 0. Redan här har vi ett svar på bra form. Den komplicerade olikheten har bytts mot tre villkor som är betydligt lättare att kontrollera och lättare att förstå sig på. Man kan för övrigt bli av med ett av dem. Eftersom variablerna x och y förekommer i de två första ekvationerna, kan vi förenkla lite till. Vi skriver om den andra ekvationen som x y (z z) w = 0 (2.1.17) 14 c 2009 Jesper Carlström

2.1 Ekvationer, olikheter och ekvationssystem som, då vänsterledet skrivs om på disjunktiv normalform, ger upphov till systemet { x y z w = 0 x y z w = 0 (2.1.18) Nu ser man att den övre av dessa följer av den sista ekvationen i (2.1.16), medan den undre följer av den första ekvationen i (2.1.16). Tydligen följer alltså den mittersta ekvationen i (2.1.16) från de båda andra, så de senare räcker. Vi kan därför svara att vår ursprungliga olikhet är ekvivalent med systemet { x y z = 0 (2.1.19) z w = 0. 2.1.20 Exempel. Lös olikheten ( y z) w (x y) z. Lösning. Vi skriver om vänsterledet på disjunktiv normalform och högerledet på konjunktiv normalform: ( y w) (z w) (x z) (y z). (2.1.21) Nu kan vi skriva om olikheten som följande system: y w x z z w x z y w y z z w y z. (2.1.22) Den andra olikheten är alltid sann eftersom z w z x z (se Övning 1.3.13 och dess dual för konjunktion). Likaså den fjärde. De övriga två kan skrivas om på ekvationsform: { y w (x z) = 0 y w (y z) = 0 som, då vänsterleden skrivs om på disjunktiv normalform, blir { y w x z = 0 y w z = 0. (2.1.23) (2.1.24) Här ser man att den övre av de två ekvationerna följer av den undre, så endast den undre är relevant. Den ursprungliga olikheten är alltså ekvivalent med y w z = 0. (2.1.25) 2.1.26 Exempel (från tentamen 2007-08-17). Lös ekvationen (y x) (x z) = x (x z). Lösning. Vi förenklar först högerledet till x (absorbtionsregeln). Ekvationen kan nu skrivas om som ett system av olikheter: { (y x) (x z) x (2.1.27) x (y x) (x z). I den första olikheten är vänsterledet på disjunktiv normalform, så den kan skrivas om som systemet { y x x (2.1.28) x z x c 2009 Jesper Carlström 15

Booleska ekvationer och implikation som löses av alla insättningar. Vi kan därför bortse från den. Den ursprungliga ekvationen är alltså ekvivalent med olikheten Vi skriver om högerledet på konjunktiv normalform: Denna olikhet är ekvivalent med systemet { x x x (y x) (x z). (2.1.29) x x (y z). (2.1.30) x y z. (2.1.31) Den första av dessa olikheter är alltid uppfylld, så vi kan bortse från den. Den ursprungliga ekvationen är alltså ekvivalent med olikheten x y z. (2.1.32) Så mycket enklare än så kan man inte svara. Möjligtvis föredrar man att skriva om olikheten som en ekvation som kan förenklas till x (y z) = 0 (2.1.33) x y z = 0. (2.1.34) Beviset är ganska kompakt. Det är inte viktigt att du lär dig det utantill, men däremot är satsen i sig viktig eftersom den visar att metoden med sanningstabeller fungerar för att skriva om uttryck på disjunktiv normalform (Exempel 1.5.10). När du gör övningarna nedan kan du försöka lösa olikheterna som uppkommer både med ovanstående metod och genom att direkt tillämpa Lemma 2.1.1. 2.1.35 Övning. Lös olikheten x y z. 2.1.36 Övning. Lös ekvationen x (y z) = y z. 2.1.37 Övning. Lös följande system av ekvationer och olikheter: x (y z) = y z x y z y z = 0 2.1.38 Övning (från tentamen 2007-01-10). Lös ekvationen x (y z) = (y z) (x y) Metoderna som vi gått igenom i detta avsnitt kan också användas för att visa följande mycket användbara sats: 2.1.39 Sats. Om en ekvation löses av alla insättningar av 0 och 1 för variablerna, så löses den av samtliga insättningar av vilka som helst element i vilken som helst boolesk algebra. Bevis. Antag att vi har en ekvation som löses av alla insättningar av 0 och 1 för variablerna. Använd metoderna i detta avsnitt för att skriva om ekvationen som ett system av ekvationer, där högerleden är 0 och vänsterleden är konjunktioner av variabler och negerade variabler. Om alla vänsterleden är 0 (det vill säga tomma konjunktioner) är vi klara, då har vi funnit att ekvationen vi startade med är ekvivalent med 0 = 0. Antag därför att något vänsterled innehåller en variabel. Eftersom varje insättning av 0 och 1 gör detta vänsterled lika med 0, så måste det finnas någon variabel som förekommer både negerad och ickenegerad i det, i annat fall kunde man välja insättningar av 0 eller 1 för varje variabel så att vänsterledet inte blev 0, vilket strider emot att ekvationen löses av alla insättningar. Men om en variabel förekommer både negerad och ickenegerad så kan hela vänsterledet skrivas om till 0 med (ass), (komm), (inv) och (id). Sammanfattningsvis har vi, genom att endast använda axiomen för boolesk algebra, kunnat visa att ekvationen vi startade med är ekvivalent med ekvationen 0 = 0 i alla booleska algebror, det vill säga varje insättning av element för variablerna löser ekvationen. 16 c 2009 Jesper Carlström

2.2 Implikation 2.2 Implikation Låt oss inledningsvis lite informellt betrakta en boolesk algebra av villkor. Du kan tänka på dem som villkor för att plocka ut poster ur en databas, men lika gärna som villkor för att ange en delmängd i matematiken: villkoret udda anger exempelvis de udda talen som delmängd av de naturliga talen. Om a och b är två villkor så är villkoret a b uppfyllt precis om både a och b är det. Villkoret a b är uppfyllt precis om minst ett av villkoren a och b är det. Villkoret 0 är det som aldrig är uppfyllt och villkoret 1 är det som alltid är uppfyllt. Två villkor anses vara lika om samma saker uppfyller dem. Låt nu a, b, c vara tre villkor och antag att följande är observerat: Allt som uppfyller villkoren a och b uppfyller c. (2.2.1) Vi drar då naturligt slutsatsen Allt som uppfyller villkoret a uppfyller att om b så c. (2.2.2) Det är ju nämligen så att om villkoret a är uppfyllt så vet vi att om b är uppfyllt så är, enligt (2.2.1), villkoret c uppfyllt. Omvänt kan vi gå från observationen (2.2.2) till (2.2.1), för om a och b är uppfyllda så är a uppfyllt och därmed gäller enligt (2.2.2) att om b, så c; och eftersom b är uppfyllt följer det att c är uppfyllt. Vi har alltså iakttagit en ekvivalens mellan de två principerna (2.2.1) och (2.2.2). I den booleska algebrans språk kan vi uttrycka (2.2.1) med a b c, men (2.2.2) kan vi inte utan vidare uttrycka, eftersom vi inte har någon symbol för om... så... Vi ska strax införa en sådan symbol och kalla motsvarande operation för implikation. Vi ska göra det så att ekvivalensen mellan (2.2.1) och (2.2.2) kan uttryckas som (a b) c a (b c). (2.2.3) Ett sådant samband mellan och kallas i matematiken för en Galoisförbindelse. Liknande samband uppkommer på många ställen i matematiken. När vi nu inför en implikation, som uppfyller (2.2.3), innebär det i algebran av villkor att den fungerar bra som formell motsvarighet till om... så..., även om du kommer att se att den har vissa egenskaper som man normalt inte förknippar med om... så... I andra booleska algebror kan vi dock inte vänta oss att implikation ska stämma med vårt vanliga bruk av om... så... i någon större utsträckning: det finns ju oändligt många olika booleska algebror som inte har med villkor att göra men det var just villkor vi använde för att intuitivt motivera implikationen. I exempelvis tvåelementsalgebran är om... så... en ganska långsökt läsning. Vad menar man med om 0 så 1? Den typen av fraser använder vi inte i det vanliga språket. Den motivering vi kan ge i allmänhet för att införa implikation, är bara att en Galois-förbindelse säkerligen är bra att ha av en eller annan anledning. Det visar erfarenhet från alla matematikens områden. I olika booleska algebror kommer tolkningen av att bli olika, men Galois-förbindelsen kommer alltid att finnas. I just algebran av villkor innebär Galois-förbindelsen att vi fångar den viktiga ekvivalensen mellan (2.2.1) och (2.2.2). Vi visar strax att operationen alltid kan definieras så att man verkligen får Galois-förbindelsen med. Men som uppvärmning får du först själv undersöka hur det måste göras i tvåelementsalgebran. 2.2.4 Övning. Undersök hur måste fungera i den booleska algebran med bara två element genom att studera fallet då a = 1 i (2.2.3). Ställ upp en sanningstabell för som i (1.2.3). Vi tar nu itu med att lösa problemet med hur implikation ska införas en gång för alla, genom att göra det samtidigt i alla booleska algebror. Vi noterar först att vänsterledet i (2.2.3) kan skrivas om som en ekvation: a b c = 0. c 2009 Jesper Carlström 17