Predikaatlogica en informatica

Maat: px
Weergave met pagina beginnen:

Download "Predikaatlogica en informatica"

Transcriptie

1 Logica in actie H O O F D S T U K 5 Predikaatlogica en informatica Wanneer is een predikaatlogische formule waar? Om de gedachten te bepalen, beschouwen we nog eens de formule: x (P(x) y (P(y) y > x)) Wanneer P staat voor is priem, drukt deze formule uit dat er geen grootste priemgetal bestaat. Is deze formule waar? Wel, een kijkje in de getaltheorie leert dat er inderdaad geen grootste priemgetal is, en de formule zou dan dus waar zijn. Maar het is hier oppassen geblazen: deze waarheid steunt op het feit dat P staat voor de priemeigenschap, maar logisch gezien is er geen enkele reden waarom de formule zo opgevat moet worden. P kan net zo goed staan voor is een prijs in de trekking van de staatsloterij van 31 december 2008, en in die situatie zou de formule zeker niet waar zijn, want er is zeker een grootste prijs (de hoofdprijs). Met andere woorden, dat we volgens de vertaalsleutel geneigd zouden zijn een formule waar te noemen, is een neiging die we moeten onderdrukken. Dit is in feite niet anders dan bij de propositielogica: na de vertaling van een uitspraak, keken we ook los van die vertaalsleutel naar de omstandigheden waaronder een formule waar is. Maar omdat de predikaatlogica ontegenzeggelijk dichter bij de wiskunde (en bij de gewone taal, of zelfs het denken...) staat dan de propositielogica, is het bespeurde gevaar hier zeker niet denkbeeldig. In dit hoofdstuk gaan we, wat informeel, betekenis geven aan predikaatlogische formules door invoering van het begrip predikaatlogisch model, en op basis daarvan analyseren we ook logisch gevolg voor redeneren met objecten, predikaten en kwantoren. Als we dat alles eenmaal begrijpen, dan kunnen we ook laten zien hoe de predikaatlogica verrassende toepassingen kent in de studie van informatie en rekenen. We kunnen er gewoon informatief taalgebruik mee beschrijven over de wereld om ons heen zoals zij is, maar zelfs ook, veel minder voor de hand liggend, het gewenste gedrag van rekenprogrammaʹs in de informatica die doelbewust toestanden van een rekenautomaat veranderen. 1

2 5.1 Modellen voor de predikaatlogica Precies aangeven wanneer een formule waar is, is in de predikaatlogica minder eenvoudig dan in de propositielogica. Hoewel de waarheidstabellen van de connectieven nog steeds een rol spelen, kunnen we de waarheidswaarden van een formule niet in een overzichtelijke tabel weergeven. Dit komt omdat anders dan in de propositielogica in de predikaatlogica de waarheidswaarde van een formule niet altijd te berekenen is uit de waarheidswaarden van de deelformules. Wel kunnen we situaties aangeven waarin formules waar zijn. We illustreren dit aan de hand van een eenvoudig geval. VOORBEELD 5.1 De figuur hierna is een graaf: een verzameling objecten, namelijk a en b, met een binaire relatie daartussen. De atomaire formule R(a, b) is waar in een situatie als de met a en b aangeduide objecten in een relatie staan die met R overeenkomt. De (binaire) relatie R is met pijlen weergegeven. In dit geval is R(a, b) waar: er gaat een pijl van a naar b. Ook kunnen we kijken of samengestelde formules waar zijn in deze structuur: y R(a, y) is waar, want de keuze van b voor y voldoet. x R(x, x) is onwaar, want (a, a) behoort niet tot de pijlrelatie. y x R(x, y) is waar, want neem voor y eens b, dan gaat zowel van a als van b een pijl naar b. Er is een verschil tussen de objecten a en b in de figuur, waarvan we kunnen zien dat ze verschillen, en de constanten a en b in de logische taal, die best hetzelfde object zouden kunnen aanduiden. De constanten in de taal zijn de namen die we aan de objecten toekennen. (Net zoals in de propositielogica propositieletters proposities uitdrukken, en in de predikaatlogica predikaatsymbolen predikaten aangeven.) We hadden best a en b hetzelfde object kunnen laten aanduiden. Dit zou dan net als bij pseudoniemen zijn: Paul Haenen, Margreet Dolman en Dominee Gremdaat zijn namen voor dezelfde persoon. In de logica zijn constanten namen voor objecten, en hetzelfde object kan met verschillende namen worden aangeduid. Met connectieven kan nog steeds gerekend worden zoals in de propositielogica. Zo is in de situatie van voorbeeld 5.1 de formule R(a, b) R(b, b) waar, omdat R(a, b) en R(b, b) beide waar zijn, terwijl R(a, b) R(b, a) onwaar is: er gaat immers wel een pijl van a naar b, maar niet eentje van b naar a. Vervolgens kunnen we kwantoren en connectieven weer in formules combineren: y ( x R(x, y) R(y, y)) is waar in de situatie van voorbeeld 5.1, want als y = a, dan is x R(x, y) onwaar en dus de implicatie 2

3 waar, en als y = b, dan zijn x R(x, y) en R(y, y) beide waar en ook dan is de implicatie waar. Model Waarheid in een predikaatlogisch model VOORBEELD 5.2 Een situatie als in voorbeeld 5.1 heet in de logica een model. We kunnen deze notie zien als de generalisering van het begrip waardering in de propositielogica (en het is net als in de propositielogica gebruikelijk model relatief ten opzichte van een formule, of een verzameling formules, te gebruiken: een situatie is model van een formule als de formule daarin waar is). Een model bestaat uit een verzameling objecten waarop een aantal relaties en bewerkingen zijn gegeven die overeenkomen met de predikaaten functiesymbolen. Ook moeten we aangeven welk object uit de gegeven verzameling staat voor welke constante. We laten door middel van een aantal voorbeelden zien hoe modellen werken, en geven geen echte definitie. Een atomaire formule zoals R(a,b) is waar in een model als, gegeven de vertaalsleutel voor a, b en R, de met R in het model corresponderende relatie geldt tussen de in het model met a en b corresponderende objecten (en net zo voor variabele objecten x en y). Een formule x ϕ is waar als er een object in het model is zodat ϕ waar is als we de voorkomens van x in ϕ over dat object laten gaan. En een formule x ϕ is waar als dat voor alle objecten in het model zo is. De modellen waarin we predikaatlogica interpreteren kunnen heel abstract zijn maar ook tamelijk concreet. Beschouw bijvoorbeeld het model hierna. Dit is eigenlijk hetzelfde model als in voorbeeld 5.1. Alleen is het linkerobject hier Arch en het rechterobject Fonz. Maar Arch en Fonz hadden we net zo goed a en b kunnen noemen. De binaire relatie R(x, y) staat nu voor persoon x kent persoon y. De drie andere formules in voorbeeld 5.1 kunnen we nu ook een wat concretere interpretatie geven: y R(a, y): Arch kent iemand. Dit is waar, want Arch kent Fonz. x R(x, x): iedereen kent zichzelf. Dit is onwaar, want Arch kent zichzelf niet, alleen Fonz kent zichzelf. y x R(x, y): er is iemand die door iedereen gekend wordt. Dit is waar, want het gaat op voor Fonz. Wanneer er ook nog sprake is van een eenplaatsig predikaatsymbool P (een eigenschap), dan geven we behalve pijlen ook gebieden in het model aan (waarin de objecten liggen die de eigenschap hebben) of we markeren de punten die aan een bepaalde eigenschap voldoen afzonderlijk. 3

4 VOORBEELD 5.3 We gaan van een aantal formules na of ze waar of onwaar zijn in het model hierna. Dit model verbeeldt twee objecten, een eigenschap en een relatie. Object a heeft de eigenschap P, wat we aangeven met een open rondje, en de relatie {(a, a), (a, b)} komt met R overeen. x (P(x) R(x, x)) Dit is waar. Ken aan x a toe, dan zien we dat P(a) geldt (object a heeft de eigenschap P) en dat (a, a) R (de relatie R bestaat tussen a en zichzelf). x y R(x, y) Dit is onwaar. Ken aan x b toe. Er is geen uitgaande pijl van b (er is geen pijl van b naar b, en er is ook geen pijl van b naar a). Kennelijk is y R(x, y) onwaar als x gelijk aan b is. Het geldt dus niet voor alle x dat y R(x, y) waar is. Dus x y R(x, y) is eveneens onwaar. x (P(x) y R(x, y)) Dit is waar. We moeten iets aantonen voor alle x. Aan x kunnen we a toekennen, maar ook b. In het eerste geval heeft het object de eigenschap P, en moeten we laten zien dat er een y is zodat R(x, y). En die is er: ken b aan y toe. In het tweede geval geldt de implicatie omdat het object de eigenschap P niet heeft: P(b) is immers onwaar. x (R(x, x) (P(x) y (R(x, y) P(y)))) Dit is eveneens waar. U kunt zelf de verificatie uitvoeren. Het grappige is dat in deze vier formules a en b nergens genoemd worden, maar dat we er toch betekenis aan kunnen geven. Dit zien we vaak in de predikaatlogica. VOORBEELD 5.4 Ook in het geval van voorbeeld 5.3 kunnen we een iets beeldender interpretatie kiezen. Kijk maar eens naar figuur hierna, die verbeeldt dat: Arch heeft haar, Arch kent zichzelf, en Arch kent Fonz. De formules van voorbeeld 5.3 zijn hier natuurlijk eveneens waar/onwaar. Voor de interpretatie kunnen we bedenken (voor object nemen we nu gemakshalve man ): x (P(x) R(x, x)) Er is een behaarde man die zichzelf kent. Dit is waar: Arch. x y R(x, y) Iedereen kent iemand. Dit is onwaar. Fonz kent niemand. 4

5 x (P(x) y R(x, y)) Iedere behaarde man kent iemand. Dit is ook waar. Arch heeft haar en kent Fonz. x (R(x, x) (P(x) y (R(x, y) P(y)))) Iedereen met zelfkennis is behaard en kent een kale. Vervulbaar VOORBEELD 5.5 Tot nu gaven we een model en bekeken dan welke formules waar waren. Soms zijn we meer in een andere vraag geïnteresseerd: gegeven een formule, verzin een model dat deze formule waar (of juist onwaar) maakt. Als dit lukt, noemen we de formule vervulbaar. Dit gaat dus net als in de propositielogica: een formule is vervulbaar als ze een model heeft. De formule x y R(x, y) is waar in het model van voorbeeld 5.1 en onwaar in het model van voorbeeld 5.3. Voor de formule x y (R(x, y) R(x, x)) is het omgekeerde het geval: deze is onwaar in het model van voorbeeld 5.1 en waar in het model van voorbeeld 5.3. Ze is onwaar in het eerste model, want neem namelijk x = a en y = b, dan is R(a, b) R(a, a) onwaar. Maar ze is waar in het laatste model, want neem namelijk x = a dan zijn R(a, a) R(a, a) en R(a, b) R(a, a) beide waar en voor x = b zijn ook R(b, a) R(b, b) en R(b, b) R(b, b) beide waar. Beide formules zijn dus vervulbaar. Tot nu toe hebben we het alleen over modellen voor gesloten formules gehad. Wat te doen met vrije variabelen? Anders dan voor een constante, ligt de waarde van een (vrije) variabele niet vast door het model. Om te kunnen vaststellen of de formule in zo n geval waar is, moeten de waarden van de vrije variabelen expliciet worden aangegeven. Zo is P(x) y R(x, y) waar in het model van voorbeeld 5.3 als x = a, maar onwaar als x = b. VOORBEELD 5.6 Beschouw het volgende model. Het bestaat uit de getallen 2, 3, 4, en 5 met de kleiner dan relatie en de priemgetaleigenschap. De constanten 2, 3, 4, en 5 zijn gewoon door die getallen weergegeven. De eigenschap P staat voor priemgetal. Neem nu de formule x < 5 P(x). Deze is waar als x = 3, omdat 3 < 5 en 3 een priemgetal is. De formule is daarentegen onwaar als x = 4, omdat 4 < 5 maar 4 geen priemgetal is. Maar als x = 5 is de formule waar: 5 is immers niet (echt) kleiner dan 5. Voor de waarheid van de implicatie maakt het verder niet uit dat 5 een priemgetal is. VOORBEELD 5.7 Hoewel de nadruk tot zover heeft gelegen op eindige modellen, zijn ook oneindige modellen mogelijk. De verzameling van de natuurlijke getallen = {0, 1, 2, 3, 4,...} is het schoolvoorbeeld van een oneindige verzameling. 5

6 Vat in dit model het predikaatsymbool P op als de verzameling priemgetallen {2, 3, 5, 7, 11,...}, het predikaatsymbool E als de verzameling even natuurlijke getallen {0, 2, 4, 6, 8,...}, en de tweeplaatsige predikaatsymbolen > en als de groter dan relatie respectievelijk kleiner dan of gelijk relatie. Op dit model zijn bijvoorbeeld de volgende formules waar: x (E(x) y ((y > x) E(y))) x (P(x) y ((y > x) P(y))) Onwaar zijn: x (E(x) P(x)) x (P(x) P(x + 2)) Het functiesymbool + wordt hier opgevat als gewone optelling. Ten slotte zijn er nog formules waarvan de waarheid onbekend is, zoals het vermoeden van Goldbach: x ((E(x) x > 2) y z (P(y) P(z) x = y + z)) Zoals eerder gezegd staan we in de predikaatlogische taal ook uitdrukkingen als x + y toe als term. 5.2 Predikaatlogische wetten en logisch gevolg Net als voor de propositielogica kunnen we ook voor de predikaatlogica logisch gevolg en logische equivalentie definiëren met letterlijk dezelfde formuleringen als in hoofdstuk 3. We kunnen dan laten zien dat, bijvoorbeeld, alle vier de volgende formuleringen precies hetzelfde uitdrukken, namelijk dat er geen grootste priemgetal is (zie het voorbeeld aan het van dit hoofdstuk): x (P(x) y (P(y) y > x)) x y (P(x) (P(y) y > x)) x y ( P(x) (P(y) y > x)) x y ((P(x) P(y)) ((P(x) y > x)) Een voorbeeld van een algemene predikaatlogische wet, die we informeel inmiddels al wel toegepast hebben, is dat x ϕ equivalent is met x ϕ. Met zo n regel, en nog een variatie erop, kunnen we ook aantonen dat x y x < y, voor er is geen grootste getal, logisch equivalent is met de formule x y x y we gebruiken daarin tevens dat (x < y) equivalent is met x y. Met de notie van predikaatlogisch gevolg kunnen we formeel laten zien dat een eeuwenoude redenering inderdaad geldig is: 6

7 x (M(x) S(x)), M(s) S(s) Deze formule formaliseert de redenering Alle mensen zijn sterfelijk. Socrates is een mens. Dus Socrates is sterfelijk. Een volgend voorbeeld van een standaard predikaatlogisch gevolg is x y ϕ y x ϕ. Maar in de andere richting is dit nu juist ongeldig: neem bijvoorbeeld voor ϕ de atomaire formule y > x en als model de natuurlijke getallen, dan is y x x > y het geval want bij ieder natuurlijk getal is er nog een groter natuurlijk getal, bijvoorbeeld dat getal plus 1. Maar x y x > y is onwaar, want er is geen grootste natuurlijk getal. Dus y x ϕ / x y ϕ. 5.3 Correctheidsbeweringen We besluiten dit hoofdstuk met een wellicht verrassende toepassing. Logische systemen beschrijven niet alleen onveranderlijke situaties, zoals eeuwige wiskundige structuren, maar ze zijn ook heel geschikt om veranderingen te beschrijven, zowel informatieveranderingen (die in het volgende hoofdstuk aan bod komen) als feitelijke veranderingen in de wereld (waarbij de waardering van atomaire beweringen telkens verschuift). Een mooi en belangrijk voorbeeld daarvan zijn rekenprocessen, waarbij geheugentoestanden van een computer stapsgewijs veranderen door het uitvoeren van opeenvolgende instructies van een programmeur. Tijdens de uitvoering van een programma kan eerst de bewering x = 2 waar zijn, en op een later moment de bewering x = 3, zodat daarmee de bewering x = 2 onwaar moet zijn geworden. Kunnen we het gedrag van een computerprogramma systematisch onderzoeken, en is logica daarbij behulpzaam? De beschrijving van het gedrag van een programma bestaat uit stukken commentaar dat, net als het gewone commentaar dat de programmeur toevoegt, tussen accolades wordt gezet. We illustreren dit aan de hand van zogenaamde toekenningsopdrachten. In programmeertalen als Pascal of Java komen we eenvoudige opdrachten tegen als x := x + 1. Het effect van deze opdracht is dat de waarde van x met 1 verhoogd wordt. VOORBEELD 5.8 Als x eerst 3 was, dan is de waarde van x na het uitvoeren van de opdracht x := x + 1 gelijk aan 4. We noteren dit nu als: {x = 3} x := x + 1 {x = 4} Iets algemener: als x voor het uitvoeren van het programma de waarde a had, dan is x na afloop a + 1, kortom: {x = a} x := x + 1 {x = a + 1} 7

8 Correctheidsbewering VOORBEELD 5.9 Dit heet een correctheidsbewering; de stukken tussen de accolades worden wel specificaties genoemd: ze specificeren de toestanden van de computer. Die specificaties worden gegeven met predikaatlogische formules. Meestal doet het programma nog wel meer dan in de correctheidsbewering wordt vermeld daarin staat slechts datgene waarin we geïnteresseerd zijn. In het algemeen heeft een correctheidsbewering de vorm {ϕ} π {ψ}, waarbij ϕ en ψ formules van de predikaatlogica zijn en π (de Griekse letter pi ) een programma is. Zo n correctheidsbewering is dus juist, indien in alle gevallen waarin vóór het uitvoeren ϕ het geval is, het programma na uitvoeren in een toestand komt waarin ψ geldt. Wanneer het programma meerdere regels telt, zetten we de specificaties onder en boven het programma. Dit zien we in een volgend programma, waaraan we een kleine anekdote vooraf laten gaan. Stel Marie en Jan hebben op een feestje al een drankje op, Marie een whisky en Jan een berenburg. Ze lusten er nog wel eentje, maar per ongeluk verwisselt de gastheer voor het inschenken de glazen. Jan en Marie willen niet uit elkaars glas drinken. Kunnen we de inhoud van deze glazen verwisselen? Dat kan niet zonder meer, want als we de whisky bij de berenburg gieten, hebben we de drankjes vermengd, en dat was niet de bedoeling. Moeten we dan twee schone glazen pakken, of kan het met minder? Ja, het kan met slechts één extra glas: giet achtereenvolgens de whisky in het extra glas, dan de berenburg in het zojuist geleegde whiskyglas, en ten slotte de whisky in het lege berenburgglas. VOORBEELD 5.10 Eenzelfde truc kan bij het programmeren worden gebruikt om de waarden van twee variabelen om te wisselen: ook dan is een hulp variabele handig. z := x; x := y; y := z Het uitlijke effect van dit programmaatje kan nu als volgt gespecificeerd worden: {x = a, y = b} z := x; x := y; y := z {x = b, y = a} In de waarde van z zijn we niet geïnteresseerd. Aan het criterium voor een correctheidsbewering wordt voldaan: als x en y vooraf respectievelijk de 8

9 waarden a en b hebben, dan zijn die waarden achteraf inderdaad omgewisseld. De gegeven programmaspecificatie is daarom juist en het programma de correcte implementatie van deze specificatie. We kunnen de correctheidsbewering ook stapsgewijs opbouwen, en het programma op die manier controleren. Door per regel commentaar toe te voegen, kunnen we de juistheid van de correctheidsbewering hiervoor inzien. Om ruimte te besparen, schrijven we het effect van een programmaregel steeds achter de opdracht: {x = a, y = b} z := x; {x = a, y = b, z = a} x := y; {x = b, y = b, z = a} y := z {x = b, y = a, z = a} {x = b, y = a} VOORBEELD 5.11 Het volgende programma heeft niet hetzelfde omwisseleffect als dat van voorbeeld x := y; y := x Wat gebeurt hier namelijk: eerst wordt de nieuwe waarde van x de oude waarde van y. Daarna wordt de nieuwe waarde van y de waarde die x inmiddels heeft aangenomen. Aangezien dat al de waarde van y was, verandert de waarde van y dus niet. Bij dit programma hoort de correctheidsbewering: {x = a, y = b} x := y; {x = b, y = b} y := x {x = b, y = b} {x = b, y = b} VOORBEELD 5.12 Hoewel het zeker makkelijk is een derde variabele te gebruiken om de waarden van twee andere variabelen te verwisselen, is dit strikt genomen niet nodig. Een programma dat slechts x en y als variabelen gebruikt en de waarden van x en y verwisselt is bijvoorbeeld: 9

10 x := x + y; y := x - y; x := x - y Stel x = 3 en y = 5. Eerst tellen we y bij x op: = 8. Daarna trekken we (nog steeds de oude waarde van) y van deze nieuwe waarde van x af: 8 5 = 3. Dit is de oude waarde van x, die nu de waarde van y geworden is. Ten slotte trekken we de nieuwe waarde van y (dus de oude waarde van x) van de nieuwe waarde van x af: 8 3 = 5. Hiermee hebben we x dus de oude waarde van y gegeven, en we zijn klaar. Dit annoteren van programma s zou een tamelijk zinloze hobby zijn als het slechts commentaar over het effect van een programma zou inhouden; vaak zouden we dit commentaar net zo goed of zelfs beter in gewone taal kunnen geven. Maar de belangrijkste reden voor de informaticus C.A.R. Hoare om correctheidsbeweringen op te voeren, is dat men zich zo voor eens en altijd kan vergewissen van de juistheid van een programma. Hoare heeft namelijk een methode ontwikkeld om de correctheid van een programma te kunnen bewijzen. In deze methode leiden we correctheidsbeweringen van hele programma s af door de correctheidsbeweringen van opvolgende opdrachten aan elkaar te koppelen, zoals we bij de voorbeelden hiervoor al informeel hebben gedaan. Predikaatlogica en Tijdens de uitvoering van een computerprogramma speelt dus ten eerste programma een rol welke beweringen over de toekenning van waarden aan variabelen correctheid op een gegeven moment waar en onwaar zijn. Dit komt overeen met het bepalen van het predikaatlogisch model voor die gegeven situatie. Net iets anders dan de modeleliminatie uit paragraaf 3.3, waarbij in iedere stap het aantal modellen werd ingeperkt, is er nu zelfs sprake van echte verandering van modellen; maar het idee van sequentiële, achtereenvolgende update is gelijkgebleven. De correctheidsbewering zelf zegt als het ware iets over de logische gevolgen van bepaalde stappen tijdens welke programmaverwerking dan ook opnieuw een ons reeds bekende logische notie die in net iets andere vorm weer terugkeert. Zo zijn er verschillende manieren waarop programmacorrectheid stevig in de logica verankerd is. En eigenlijk is dat ook geen modieuze nieuwlichterij. Het samenbrengen van bewijzen en algoritmes is de moderne versie van de alleroudste traditie waarmee we dit boek begonnen: de meetkunde van Euclides, waar bewijzen en constructies van figuren hand in hand gingen. Uiteraard zijn er vele andere toepassingen van de logica in de informatica. Zo zouden we ook veel kunnen vertellen over de zogenaamde logische programmeertaal Prolog. Vanuit een abstracter gezichtspunt is een belangrijk overlappingsgebied de studie van de complexiteit van berekeningen. Hierover gaat hoofdstuk 7. 10

11 Samenvatting Voor het bepalen van de waarheidswaarde van een formule spelen in de predikaatlogica modellen dezelfde rol als waarderingen in de propositielogica. Een model is een structuur die bestaat uit een verzameling objecten waarop relaties (en in het bijzonder: eigenschappen) zijn gedefinieerd. De relaties komen overeen met de predikaatsymbolen van de formules waaraan we een waarheidswaarde willen toekennen. Objecten kennen we aan de constanten in de predikaatlogische taal toe. Verschillende constanten kunnen in een model hetzelfde object aanduiden, en een constante kan in verschillende modellen door verschillende objecten worden weergegeven. Voor variabelen kunnen we in een gegeven model verschillende waarden kiezen. Een formule x ϕ is waar als ϕ geldt voor elk object dat we aan x kunnen toekennen; x ϕ is waar als er ten minste één zo n object bestaat. Wiskundige talen weerspiegelen de (abstracte) realiteit zoals zij is, en de predikaatlogica past goed bij dit statische beeld. Maar dit systeem heeft ook een verrassend dynamisch aspect. Een informaticatoepassing van predikaatlogica is het gebruik van correctheidsbeweringen die het effect van een programma op logische wijze omschrijven. In het stapsgewijs annoteren van programma s met predikaatlogische formules die na zo n gegeven stap waar zijn, zien we het idee van modeleliminatie in enigszins andere vorm als modelverandering terugkomen. Dit document bevat hoofdstuk 5 van de cursus Logica in actie. De volledige cursus is beschikbaar op Open Universiteit Nederland; Uitgeverij: Sdu Uitgevers, s Gravenhage. Dit materiaal is gelicentieerd onder een Creative Commons Licentie. Zie de licentie voor details. The content on this site is licensed under a Creative Commons Licentie. See licence for more details. 11

12 Opgaven OPGAVE 5.1 OPGAVE 5.2 OPGAVE 5.3 Stel we gebruiken het functiesymbool voor de bewerking aftrekken. Als E staat voor is even en P voor is een priemgetal, wat drukken de volgende formules dan uit? x ((E(x) x > 2) y (P(y) P(x y))) x (P(x) y (P(y) y x)) Beschouw de formule x y z ((R(x, y) R(y, z)) R(x, z)). Is deze formule waar in een model met de natuurlijke getallen als objecten, waarin R overeenkomt met de gewone kleiner dan relatie (<)? En in een model met dezelfde verzameling objecten, maar nu met de relatie D gedefinieerd door: D(x, y) precies dan als x y + 1? Is de formule waar in het model uit voorbeeld 5.1? Is de formule waar in elk model met precies twee objecten? Zo ja, bewijs dit, zo nee, geef een voorbeeld van een model met twee objecten waarop de formule niet waar is. Geef bij het volgende programma de specificaties die gelden na iedere opdracht. Wat is de specificatie die geldt na uitvoering van dit programma en wat is de correctheidsbewering? {x = a, y = b, z = c} u := x; x := y; y := z; z := u OPGAVE 5.4 Bewijs de correctheid van het volgende omwisselprogramma uit voorbeeld {x = a, y = b} x := x + y; y := x - y; x := x - y {x = b, y = a} 12

13 Uitwerkingen van de opgaven bij hoofdstuk E staat voor is even, P voor is een priemgetal, en voor aftrekken. De formule x ((E(x) x > 2) y (P(y) P(x y))) drukt uit voor alle even getallen x groter dan 2 is er een priemgetal y zodat x y eveneens priem is. Dit zegt met andere woorden dat alle even getallen groter dan twee de som zijn van twee priemgetallen: het vermoeden van Goldbach, zie voorbeeld 5.7. Het is dus niet bekend of dit waar is! De formule x (P(x) y (P(y) y x)) drukt uit er is geen priemgetal x zodat alle priemgetallen kleiner dan of gelijk zijn aan x. Met andere woorden: er is geen grootste priemgetal. En dit is waar. 5.2 Gegeven de formule x y z ((R(x, y) R(y, z)) R(x, z)). Natuurlijke getallen met R als <: ja, de formule is waar. Als k < m en m < n, dan zeker ook k < n, voor alle natuurlijke getallen k, m en n. Natuurlijke getallen met D gedefinieerd als D(x, y) precies dan als x y + 1 : nee, want kies maar x = 2, y = 1 en z = 0. Dan geldt D(2, 1) en D(1, 0), maar er geldt niet D(2, 0). Model uit voorbeeld 5.1: ja, er zijn dus zeker geen drie objecten nodig om de formule waar te laten zijn op een model! R(x, y) R(y, z) kan alleen maar waar zijn in twee gevallen: (i) x = a en y = z = b en (ii) x = y = z = b. In beide gevallen is dan ook R(x, z) waar, zodat de implicatie waar is, welke objecten we ook voor x, y en z kiezen. Elk model met precies twee objecten? Nee, een model met twee objecten waarop de formule onwaar is, is bijvoorbeeld: Dan behoren (a, b) en (b, a) wel tot de pijlrelatie, maar (a, a) niet. Dus kiezen we voor x en z object a, en voor y object b, dan is de implicatie onwaar. 5.3 We specificeren het programma regel voor regel. {x = a, y = b, z = c} u := x; {x = a, y = b, z = c, u = a} x := y; {x = b, y = b, z = c, u = a} y := z; {x = b, y = c, z = c, u = a} z := u {x = b, y = c, z = a, u = a} {x = b, y = c, z = a} We zien hier een zogenaamde cyclische permutatie van de waarden van x, y en z. 13

14 5.4 Stap voor stap de specificaties uitschrijven levert onderstaande, waarmee de correctheid is aangetoond. {x = a, y = b} {x = a, y = b} x := x + y; {x = a + b, y = b} y := x - y; {x = a + b, y = a} x := x - y {x = b, y = a} {x = b, y = a} 14

Predikaatlogica, modellen en programma s

Predikaatlogica, modellen en programma s Logica in actie H O O F D S T U K 4 Predikaatlogica, modellen en programma s De taal van de propositielogica is voor veel toepassingen te arm. Dat bleek al in de Klassieke Oudheid, waar logici allerlei

Nadere informatie

Formeel Denken 2014 Uitwerkingen Tentamen

Formeel Denken 2014 Uitwerkingen Tentamen Formeel Denken 2014 Uitwerkingen Tentamen (29/01/15) 1. Benader de betekenis van de volgende Nederlandse zin zo goed mogelijk (6 punten) door een formule van de propositielogica: Als het regent word ik

Nadere informatie

Wiskundige beweringen en hun bewijzen

Wiskundige beweringen en hun bewijzen Wiskundige beweringen en hun bewijzen Analyse (en feitelijk de gehele wiskunde) gaat over het bewijzen van beweringen (proposities), d.w.z. uitspraken waaraan de karakterisering waar of onwaar toegekend

Nadere informatie

Formeel Denken 2013 Uitwerkingen Tentamen

Formeel Denken 2013 Uitwerkingen Tentamen Formeel Denken 201 Uitwerkingen Tentamen (29/01/1) 1. Benader de betekenis van de volgende Nederlandse zin zo goed mogelijk (6 punten) door een formule van de propositielogica: Het is koud, maar er ligt

Nadere informatie

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten Logica 1 Joost J. Joosten Universiteit Utrecht (sub)faculteit der Wijsbegeerte Heidelberglaan 8 3584 CS Utrecht Kamer 158, 030-2535579 jjoosten@phil.uu.nl www.phil.uu.nl/ jjoosten (hier moet een tilde

Nadere informatie

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785)

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785) Tegenvoorbeeld TI1300: Redeneren en Logica College 3: Bewijstechnieken & Propositielogica Tomas Klos Definitie (Tegenvoorbeeld) Een situatie waarin alle premissen waar zijn, maar de conclusie niet Algoritmiek

Nadere informatie

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Tentamen TI1300 en IN1305-A (Redeneren en) Logica TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Tentamen TI1300 en IN1305-A (Redeneren en) Logica 21 Januari 2011, 8.30 11.30 uur LEES DEZE OPMERKINGEN AANDACHTIG DOOR

Nadere informatie

Getaltheorie I. c = c 1 = 1 c (1)

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven Mededelingen TI1300: Redeneren en Logica College 4: Waarheidstafels, Redeneringen, Syntaxis van PROP Tomas Klos Algoritmiek Groep Voor de Fibonacci getallen geldt f 0 = f 1 = 1 (niet 0) Practicum 1 Practicum

Nadere informatie

Propositielogica, waarheid en classificeren

Propositielogica, waarheid en classificeren Logica in actie H O O F D S T U K 2 Propositielogica, waarheid en classificeren We hebben al gezien dat voor een logicus het verhevene heel dicht kan liggen bij het alledaagse. Misschien beter gezegd:

Nadere informatie

Logica voor Informatica

Logica voor Informatica Logica voor Informatica 10 Predikatenlogica Wouter Swierstra University of Utrecht 1 Vorige keer Syntax van predikatenlogica Alfabet Termen Welgevormde formulas (wff) 2 Alfabet van de predikatenlogica

Nadere informatie

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015 Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen

Nadere informatie

Formeel Denken. Herfst 2004

Formeel Denken. Herfst 2004 Formeel Denken Herman Geuvers Deels gebaseerd op het herfst 2002 dictaat van Henk Barendregt en Bas Spitters, met dank aan het Discrete Wiskunde dictaat van Wim Gielen Herfst 2004 Contents 1 Propositielogica

Nadere informatie

Hebzucht loont niet altijd

Hebzucht loont niet altijd Thema Discrete wiskunde Hoe verbind je een stel steden met zo weinig mogelijk kilometers asfalt? Hoe maak je een optimaal computernetwerk met kabels die maar een beperkte capaciteit hebben? Veel van zulke

Nadere informatie

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

VERZAMELINGEN EN AFBEELDINGEN

VERZAMELINGEN EN AFBEELDINGEN I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen

Nadere informatie

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen Opmerking TI1300 Redeneren en Logica College 2: Bewijstechnieken Tomas Klos Algoritmiek Groep Voor alle duidelijkheid: Het is verre van triviaal om definities te leren hanteren, beweringen op te lossen,

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element. Hoofdstuk 2 De regels van het spel 2.1 De gehele getallen Grof gezegd kunnen we de (elementaire) getaltheorie omschrijven als de wiskunde van de getallen 1, 2, 3, 4,... die we ook de natuurlijke getallen

Nadere informatie

4 Beschouw de volgende formuleverzameling S: {"x "y ((Rxy Æ "z (Rxz Æ y = z)), "x "y (Ryx Æ "z (Rzx Æ y = z)),

4 Beschouw de volgende formuleverzameling S: {x y ((Rxy Æ z (Rxz Æ y = z)), x y (Ryx Æ z (Rzx Æ y = z)), T E N T A M E N L O G I C A 1 1 Bepaal met behulp van een waarheidstabel een disjunctieve normaalvorm voor de formule (p (q Ÿ ( r Æ (p Ÿ q)))). Is er een eenvoudiger formule waarmee de gevonden formule

Nadere informatie

Logica. Oefeningen op hoofdstuk Propositielogica

Logica. Oefeningen op hoofdstuk Propositielogica Oefeningen op hoofdstuk 1 Logica 1.1 Propositielogica Oefening 1.1. Stel dat f en g functies zijn waarvoor f(x)dx = g(x)+c niet waar is. Als Elio Di Rupo paarse sokken heeft, bepaal dan de waarheidswaarde

Nadere informatie

Semantiek 1 college 10. Jan Koster

Semantiek 1 college 10. Jan Koster Semantiek 1 college 10 Jan Koster 1 Vandaag Vorige keer: conceptuele structuur en semantische decompositie Vandaag: inleiding in de formele semantiek Gebruikt notaties uit formele logica plus de daar gehanteerde

Nadere informatie

Meer oefenen. TI1300: Redeneren en Logica. Vertalen. Meerdere wegen leiden naar Rome

Meer oefenen. TI1300: Redeneren en Logica. Vertalen. Meerdere wegen leiden naar Rome Meer oefenen TI1300: Redeneren en Logica College 13: Synta en Semantiek van de Predicatenlogica Tomas Klos Algoritmiek Groep Vertaal: Niet alle paarden zijn bruin Geef ook je vertaalsleutel (welke predicaten,

Nadere informatie

1 Limiet van een rij Het begrip rij Bepaling van een rij Expliciet voorschrift Recursief voorschrift 3

1 Limiet van een rij Het begrip rij Bepaling van een rij Expliciet voorschrift Recursief voorschrift 3 HOOFDSTUK 6: RIJEN 1 Limiet van een rij 2 1.1 Het begrip rij 2 1.2 Bepaling van een rij 2 1.2.1 Expliciet voorschrift 2 1.2.2 Recursief voorschrift 3 1.2.3 Andere gevallen 3 1.2.4 Rijen met de grafische

Nadere informatie

1.3 Rekenen met pijlen

1.3 Rekenen met pijlen 14 Getallen 1.3 Rekenen met pijlen 1.3.1 Het optellen van pijlen Jeweetnuwatdegetallenlijnisendat0nochpositiefnochnegatiefis. Wezullen nu een soort rekenen met pijlen gaan invoeren. We spreken af dat bij

Nadere informatie

Formeel Denken. October 20, 2004

Formeel Denken. October 20, 2004 Formeel Denken Herman Geuvers Deels gebaseerd op het herfst 2002 dictaat van Henk Barendregt en Bas Spitters, met dank aan het Discrete Wiskunde dictaat van Wim Gielen October 20, 2004 Contents 1 Predicatenlogica

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

Projectieve Vlakken en Codes

Projectieve Vlakken en Codes Projectieve Vlakken en Codes 1. De Fanocode Foutdetecterende en foutverbeterende codes. Anna en Bart doen mee aan een spelprogramma voor koppels. De ene helft van de deelnemers krijgt elk een kaart waarop

Nadere informatie

Logica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University

Logica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University Logica voor Informatica Propositielogica Syntax & Semantiek Mehdi Dastani m.m.dastani@uu.nl Intelligent Systems Utrecht University Wat is Logica? Afleiden van conclusies uit aannames Jan Sara Petra Schuldig

Nadere informatie

Verzamelingen. Hoofdstuk 5

Verzamelingen. Hoofdstuk 5 Hoofdstuk 5 Verzamelingen In de meest uiteenlopende omstandigheden kan het handig zijn om een stel objecten, elementen, of wat dan ook, samen een naam te geven. Het resultaat noemen we dan een verzameling.

Nadere informatie

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

Nadere informatie

Uitleg van de Hough transformatie

Uitleg van de Hough transformatie Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een

Nadere informatie

Wie A zegt moet B zeggen

Wie A zegt moet B zeggen Logica in actie H O O F D S T U K 3 Wie A zegt moet B zeggen Logici ontwerpen niet alleen systemen om bestaande vormen van redeneren te analyseren, ze bestuderen ook de eigenschappen van die systemen op

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

Over Plantinga s argument voor de existentie van een noodzakelijk bestaand individueel ding. G.J.E. Rutten

Over Plantinga s argument voor de existentie van een noodzakelijk bestaand individueel ding. G.J.E. Rutten 1 Over Plantinga s argument voor de existentie van een noodzakelijk bestaand individueel ding G.J.E. Rutten Introductie In dit artikel wil ik het argument van de Amerikaanse filosoof Alvin Plantinga voor

Nadere informatie

RSA. F.A. Grootjen. 8 maart 2002

RSA. F.A. Grootjen. 8 maart 2002 RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven

Nadere informatie

Logica als een oefening in Formeel Denken

Logica als een oefening in Formeel Denken Logica als een oefening in Formeel Denken Herman Geuvers Institute for Computing and Information Science Radboud Universiteit Nijmegen Wiskunde Dialoog 10 juni, 2015 Inhoud Geschiedenis van de logica Propositielogica

Nadere informatie

Inhoud leereenheid 1. Inleiding. Introductie 13. Leerkern 13. 1.1 Wat is logica? 13 1.2 Logica en informatica 13

Inhoud leereenheid 1. Inleiding. Introductie 13. Leerkern 13. 1.1 Wat is logica? 13 1.2 Logica en informatica 13 Inhoud leereenheid 1 Inleiding Introductie 13 Leerkern 13 1.1 Wat is logica? 13 1.2 Logica en informatica 13 12 Leereenheid 1 Inleiding I N T R O D U C T I E Studeeraanwijzing Deze leereenheid is een leesleereenheid.

Nadere informatie

Logica voor Informatica

Logica voor Informatica Logica voor Informatica 13 Prolog Wouter Swierstra University of Utrecht 1 Programmeren met Logica Propositielogica is niet geschikt voor programmeren er is nauwlijkst iets interessants uit te drukken.

Nadere informatie

Inleiding logica Inleveropgave 3

Inleiding logica Inleveropgave 3 Inleiding logica Inleveropgave 3 Lientje Maas 30 september 2013 Ik (Rijk) heb verbeteringen in rood vermeld. Deze verbeteringen meegenomen zijn dit correcte uitwerkingen van de derde inleveropgaven. 1

Nadere informatie

Maak automatisch een geschikte configuratie van een softwaresysteem;

Maak automatisch een geschikte configuratie van een softwaresysteem; Joost Vennekens joost.vennekens@kuleuven.be Technologiecampus De Nayer We zijn geïnteresseerd in het oplossen van combinatorische problemen, zoals bijvoorbeeld: Bereken een lessenrooster die aan een aantal

Nadere informatie

1. Vectoren in R n. y-as

1. Vectoren in R n. y-as 1. Vectoren in R n Vectoren en hun meetkundige voorstelling. Een vector in R n is een rijtje (a 1, a 2,..., a n ) van reële getallen. De getallen a i heten de coördinaten van de vector. In het speciale

Nadere informatie

Mededelingen. TI1300: Redeneren en Logica. Metavariabelen Logica, p Minder connectieven nodig

Mededelingen. TI1300: Redeneren en Logica. Metavariabelen Logica, p Minder connectieven nodig Mededelingen TI1300: Redeneren en Logica College 5: Semantiek van de Propositielogica Tomas Klos Algoritmiek Groep Tip: Als ik je vraag de recursieve definitie van een functie over PROP op te schrijven,

Nadere informatie

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Tentamen TI1300 en IN1305-A (Redeneren en) Logica TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Tentamen TI1300 en IN1305-A (Redeneren en) Logica 5 november 2010, 9.00 12.00 uur LEES DEZE OPMERKINGEN AANDACHTIG DOOR

Nadere informatie

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

RAF belangrijk te onthouden

RAF belangrijk te onthouden RAF belangrijk te onthouden Auteur: Daan Pape Hoofdstuk 1 symbool omschrijving lees als negatie (ontkenning) p niet p het is niet zo dat p conjunctie p q p en q disjunctie p q p of q implicatie p q als

Nadere informatie

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen. Uitwerking Puzzel 92-7 Allemaal gelijk? Wobien Doyer Lieke de Rooij Er zijn veel puzzels over het opsporen van één valse munt tussen een aantal goede munten met hulp van een balans. Bij deze puzzel is

Nadere informatie

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal

Nadere informatie

Bewijs door inductie

Bewijs door inductie Bewijs door inductie 1 Bewijs door inductie Vaak bestaat een probleem erin aan te tonen dat een bepaalde eigenschap geldt voor elk natuurlijk getal. Als je wilt weten of iets waar is voor alle natuurlijke

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 13 november 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s. Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt

Nadere informatie

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules. I.3 Functies Iedereen is ongetwijfeld in veel situaties het begrip functie tegengekomen; vaak als een voorschrift dat aan elk getal een ander getal toevoegt, bijvoorbeeld de functie fx = x die aan elk

Nadere informatie

Hier vertel je wat je hebt gedaan om informatie te vinden. Wat en waar gezocht? Wie geïnterviewd, enz.

Hier vertel je wat je hebt gedaan om informatie te vinden. Wat en waar gezocht? Wie geïnterviewd, enz. Onderzoeksverslag Omslag en titelpagina Op het omslag staan in elk geval de titel van het onderzoek en de namen van de schrijvers. Op de titelpagina opnieuw de titel en de namen van de schrijvers. Nu uitgebreid

Nadere informatie

Kennis en communicatie

Kennis en communicatie Logica in actie H O O F D S T U K 6 Kennis en communicatie De traditionele logica richtte zich voornamelijk op producten van menselijk activiteit, zoals formules, formele gevolgtrekkingen, of bewijzen.

Nadere informatie

Logic for Computer Science

Logic for Computer Science Logic for Computer Science 06 Normaalvormen en semantische tableaux Wouter Swierstra University of Utrecht 1 Vorige keer Oneindige verzamelingen 2 Vandaag Wanneer zijn twee formules hetzelfde? Zijn er

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle  holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/20310 holds various files of this Leiden University dissertation. Author: Jansen, Bas Title: Mersenne primes and class field theory Date: 2012-12-18 Samenvatting

Nadere informatie

Toelichting bij geselecteerde opdrachten uit Betekenis en Taalstructuur

Toelichting bij geselecteerde opdrachten uit Betekenis en Taalstructuur Toelichting bij geselecteerde opdrachten uit Betekenis en Taalstructuur Hoofdstuk 2, tot en met pagina 41. Maak opdrachten 1,2,3,4,5,7,9,10,11,15,16 *1 Met "welgevormd" wordt bedoeld dat de formule toegestaan

Nadere informatie

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers Vorig college College 4 Algoritmiekgroep Faculteit EWI TU Delft Vervolg NDTM s Vergelijking rekenkracht TM s en NDTM s Voorbeelden NDTM s 20 april 2009 1 2 Opsommers Opsommers versus herkenners (Th. 3.21)

Nadere informatie

Propositionele logica

Propositionele logica Logic is the beginning of wisdom, not the end. Captain Spock, Star Trek VI (1991) Hoofdstuk 1 ropositionele logica 1.1 Uitspraken Het begrip uitspraak. We geven hier geen definitie van het begrip uitspraak

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl. 9 februari 2009 BEWIJZEN

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl. 9 februari 2009 BEWIJZEN Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 9 februari 2009 BEWIJZEN Discrete Structuren Week1 : Bewijzen Onderwerpen Puzzels

Nadere informatie

Caleidoscoop: Logica

Caleidoscoop: Logica Caleidoscoop: Logica Non impeditus ab ulla scientia K. P. Hart Faculteit EWI TU Delft Delft, 3 October, 2007 Overzicht 1 2 Negaties We gaan rekenen met proposities (beweringen). Bedenker: George Boole

Nadere informatie

Modulewijzer InfPbs00DT

Modulewijzer InfPbs00DT Modulewijzer InfPbs00DT W. Oele 0 juli 008 Inhoudsopgave Inleiding 3 Waarom wiskunde? 3. Efficiëntie van computerprogramma s............... 3. 3D-engines en vectoranalyse................... 3.3 Bewijsvoering

Nadere informatie

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten Logica 1 Joost J. Joosten Universiteit Utrecht (sub)faculteit der Wijsbegeerte Heidelberglaan 8 3584 CS Utrecht Kamer 158, 030-2535579 jjoosten@phil.uu.nl www.phil.uu.nl/ jjoosten (hier moet een tilde

Nadere informatie

Predikatenlogica in Vogelvlucht

Predikatenlogica in Vogelvlucht in Vogelvlucht Albert Visser Filosofie, Faculteit Geesteswetenschappen, Universiteit Utrecht 10 oktober, 2013 1 Overview 2 Overview 2 Overview 2 Overview 3 In de propositielogica behandelen we de interne

Nadere informatie

Andere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski en Brouwer

Andere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski en Brouwer Formele Logica Grondlegger Aristoteles (384/322 voor Chr.), filosoof. Andere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten Logica 1 Joost J. Joosten Universiteit Utrecht (sub)faculteit der Wijsbegeerte Heidelberglaan 8 3584 CS Utrecht Kamer 158, 030-2535579 jjoosten@phil.uu.nl www.phil.uu.nl/ jjoosten (hier moet een tilde

Nadere informatie

Nieuwe redeneringen. TI1300: Redeneren en Logica. Waar gaan deze uitdrukkingen over? Een nieuwe taal

Nieuwe redeneringen. TI1300: Redeneren en Logica. Waar gaan deze uitdrukkingen over? Een nieuwe taal Nieuwe redeneringen TI1300: Redeneren en Logica College 12: Predicatenlogica Tomas Klos Algoritmiek Groep Alle mensen zijn sterfelijk Socrates is mens Socrates is sterfelijk Niet propositie-logisch geldig,

Nadere informatie

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten Logica 1 Joost J. Joosten Universiteit Utrecht (sub)faculteit der Wijsbegeerte Heidelberglaan 8 3584 CS Utrecht Kamer 158, 030-2535579 jjoosten@phil.uu.nl www.phil.uu.nl/ jjoosten (hier moet een tilde

Nadere informatie

Inleiding Logica voor CKI, 2013/14

Inleiding Logica voor CKI, 2013/14 Inleiding Logica voor CKI, 2013/14 Albert Visser Department of Philosophy, Faculty Humanities, Utrecht University 14 oktober, 2013 1 Overview 2 Overview 2 Overview 2 Overview 2 Overview 2 Overview 3 Wegens

Nadere informatie

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07

Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde. vrijdag 31 januari 2014, 8:30 12:30. Auditorium L.00.07 Examen G0U13 Bewijzen en Redeneren Bachelor 1ste fase Wiskunde vrijdag 31 januari 2014, 8:30 12:30 Auditorium L.00.07 Geef uw antwoorden in volledige, goed lopende zinnen. Het examen bestaat uit 5 vragen.

Nadere informatie

PARADOXEN 2 Dr. Luc Gheysens

PARADOXEN 2 Dr. Luc Gheysens PARADOXEN Dr. Luc Gheysens SPELEN MET ONEINDIG Historische nota De Griekse filosoof Zeno (ca. 90-0 v. Chr.) bedacht een aantal paradoen om aan te tonen dat beweging eigenlijk een illusie is. De meest bekende

Nadere informatie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 30 april 2007 INLEIDING Kennisrepresentatie & Redeneren Week1: Introductie

Nadere informatie

De enveloppenparadox

De enveloppenparadox De enveloppenparadox Mats Vermeeren Berlin Mathematical School) 6 april 013 1 Inleiding Een spel gaat als volgt. Je krijgt twee identiek uitziende enveloppen aangeboden, waarvan je er één moet kiezen.

Nadere informatie

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3 Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3 3.1 Stel ϕ, ψ α, β γ, en ψ, α, γ χ. Indien nu bovendien bekend wordt dat χ onwaar is, maar ψ en β waar, wat weet u dan over ϕ? oplossing:

Nadere informatie

1 Logica. 1.2.1 a. tautologie -1-

1 Logica. 1.2.1 a. tautologie -1- 1 Logica 1.1.1 a. neen: de spreker bedoelt met "hier" de plek waar hij op dat moment is, maar "warm" is subjectief; vgl.: "het is hier 25 graden Celsius". b. ja: de uitspraak is onwaar (=120 uur). c. neen:

Nadere informatie

Boommethode. TI1300: Redeneren en Logica. Oefenen, wat anders? Aanvullende regels (Logica, tabel 11.1, p. 159) A (B C),A C = B

Boommethode. TI1300: Redeneren en Logica. Oefenen, wat anders? Aanvullende regels (Logica, tabel 11.1, p. 159) A (B C),A C = B Boommethode Is deze redenering logisch geldig? TI1300: Redeneren en Logica College 15: Boommethode en Resolutie Tomas Klos Algoritmiek Groep A (B C),A C = B oftewel: is deze verzameling vervulbaar? { A

Nadere informatie

College Logica voor CKI

College Logica voor CKI College Logica voor CKI Albert Visser Department of Philosophy, Faculty Humanities, Utrecht University 15 oktober, 2012 1 Overview 2 Overview 2 Overview 2 Overview 3 Syntaxis De eerste ronde: Constanten:

Nadere informatie

Propositionele logica en predikatenlogica. 1. Noteer volgende Nederlandse uitspraken formeel m.b.v. propositionele logica :

Propositionele logica en predikatenlogica. 1. Noteer volgende Nederlandse uitspraken formeel m.b.v. propositionele logica : HOOFDSTUK 4. LOGICA Opgaven Propositionele logica en predikatenlogica 1. Noteer volgende Nederlandse uitspraken formeel m.b.v. propositionele logica : a) Als de maan ichtbaar is en het niet sneeuwt, al

Nadere informatie

Logic for Computer Science

Logic for Computer Science Logic for Computer Science 07 Predikatenlogica Wouter Swierstra University of Utrecht 1 Vrijdag Aanstaande vrijdag is geen hoorcollege of werkcollege. De tussentoets is uitgesteld tot volgende week dinsdag.

Nadere informatie

Semantiek 1 college 4. Jan Koster

Semantiek 1 college 4. Jan Koster Semantiek 1 college 4 Jan Koster 1 Uitgangspunt sinds vorige week Semantiek is representationeel (en niet referentieel), gebaseerd op interpretaties van sprekers en hoorders Geen scherpe scheiding tussen

Nadere informatie

Diophantische vergelijkingen

Diophantische vergelijkingen Diophantische vergelijkingen 1 Wat zijn Diophantische vergelijkingen? Een Diophantische vergelijking is een veeltermvergelijking waarbij zowel de coëfficiënten als de oplossingen gehele getallen moeten

Nadere informatie

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................

Nadere informatie

Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429)

Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) - een lijst met operationele en concrete doelen van de lessenserie, indien mogelijk gerelateerd

Nadere informatie

Oefenopgaven Grondslagen van de Wiskunde A

Oefenopgaven Grondslagen van de Wiskunde A Oefenopgaven Grondslagen van de Wiskunde A Jaap van Oosten 2007-2008 1 Kardinaliteiten Opgave 1.1. Bewijs, dat R N = R. Opgave 1.2. Laat Cont de verzameling continue functies R R zijn. a) Laat zien dat

Nadere informatie

Predicaten. Hoofdstuk 4

Predicaten. Hoofdstuk 4 Hoofdstuk 4 Predicaten Tot nu toe hebben we ons beziggehouden met proposities, en gezien hoe we daarmee moeten omgaan. Proposities zijn echter niet toereikend om daarin alle overwegingen te formuleren

Nadere informatie

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking 10 december 2013, 09:30 12:30 Dit tentamen bevat 5 opgaven; zie ook de ommezijde. Alle opgaven tellen even zwaar (10 punten); je cijfer is

Nadere informatie

Hoofdstuk 3. behandeld. In de paragrafen 3.1 en 3.2 worden de noties valuatie, model en

Hoofdstuk 3. behandeld. In de paragrafen 3.1 en 3.2 worden de noties valuatie, model en Hoofdstuk 3 Semantiek van de Propositielogica In dit hoofdstuk wordt de semantiek (betekenistheorie) van de propositielogica behandeld. In de paragrafen 3.1 en 3.2 worden de noties valuatie, model en logisch

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen.

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

Vergelijkingen met één onbekende

Vergelijkingen met één onbekende - 89 - Hoofdstuk 3: ergelijkingen met één onbekende Opgave boek pag 67 nr. 5: Los op in R a. 3 ( + ) 4 7.................. {... }... proef : 1 e lid :... e lid :... b. ( 3 ) + 7 5 ( )........................

Nadere informatie

De partitieformule van Euler

De partitieformule van Euler De partitieformule van Euler Een kennismaking met zuivere wiskunde J.H. Aalberts-Bakker 29 augustus 2008 Doctoraalscriptie wiskunde, variant Communicatie en Educatie Afstudeerdocent: Dr. H. Finkelnberg

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten Logica 1 Joost J. Joosten Universiteit Utrecht (sub)faculteit der Wijsbegeerte Heidelberglaan 8 3584 CS Utrecht Kamer 158, 030-2535579 jjoosten@phil.uu.nl www.phil.uu.nl/ jjoosten (hier moet een tilde

Nadere informatie

Les B-08 Kunstmatige intelligentie en logica

Les B-08 Kunstmatige intelligentie en logica 2004, David Lans Les B-08 Kunstmatige intelligentie en logica 8.1 De Turing test Toen halverwege de 20 e eeuw de computer zijn intrede deed, stelde de Brit Alan Turing (1912-1953) in een wetenschappelijke

Nadere informatie

Opdrachten Tarski s World

Opdrachten Tarski s World Opdrachten Tarski s World Logika thema 4 13 april 2004 1 Propositielogika 1.1 Atomaire proposities in Tarski s world Open de wereld, wittgens.sen, en het bestand met beweringen, wittgens.sen 1. Ga van

Nadere informatie

Kettingbreuken. 20 april 2010 1 K + 1 E + 1 T + 1 T + 1 I + 1 N + 1 G + 1 B + 1 R + 1 E + 1 U + 1 K + E + 1 N 1 2 + 1 0 + 1 A + 1 P + 1 R + 1 I + 1

Kettingbreuken. 20 april 2010 1 K + 1 E + 1 T + 1 T + 1 I + 1 N + 1 G + 1 B + 1 R + 1 E + 1 U + 1 K + E + 1 N 1 2 + 1 0 + 1 A + 1 P + 1 R + 1 I + 1 Kettingbreuken Frédéric Guffens 0 april 00 K + E + T + T + I + N + G + B + R + E + U + K + E + N 0 + A + P + R + I + L + 0 + + 0 Wat zijn Kettingbreuken? Een kettingbreuk is een wiskundige uitdrukking

Nadere informatie

Complexiteit van berekeningen

Complexiteit van berekeningen Logica in actie H O O F D S T U K 7 Complexiteit van berekeningen We hebben nu al een paar keer gezien dat logica nauw verbonden is met processen die informatie bewerken en overdragen. Het proces bij uitstek

Nadere informatie

Heron driehoek. 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule

Heron driehoek. 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule Heron driehoek 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule = s(s a)(s b)(s c) met s = a + b + c 2 die gebruikt wordt om de oppervlakte van een driehoek te berekenen in

Nadere informatie