Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige...

125
Logica in actie

Transcript of Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige...

Page 1: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Page 2: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …
Page 3: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Johan van BenthemHans van Ditmarsch

Jan van Eijck

Logica in actie

Page 4: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op www.spinoza.ou.nl.

Meer informatie over de uitgaven van Sdu Uitgevers en Academic Service kunt u verkrijgen bij:Sdu KlantenservicePostbus 200142500 EA Den Haagtel.: (070) 378 98 80www.sdu.nl/service

© 2009 Open Universiteit Nederland, HeerlenUitgegeven door Sdu Uitgevers bv, Den HaagAcademic Service is een imprint van Sdu Uitgevers bv

1e druk, april 2009

Zetwerk: Open Universiteit Nederland, HeerlenOmslag: Dennis Schmitz, Polka Design, Roermond

ISBN: 978 90 395 2599 9NUR: 738

Dit materiaal is gelicentieerd onder de Creative Commons Licentie Naamsvermelding-NietCommercieel-GelijkDelen 3.0. Zie de licentie voor details: http://creativecommons.org/licenses/by-nc-sa/3.0/nl/.This content is licensed under the Creative Commons License Attribution-Noncommercial-Share Alike 3.0. See licence for more details:http://creativecommons.org/licenses/by-nc-sa/3.0/

Page 5: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Voorwoord

Een Spinozapremie geeft een vrije ruimte om nieuwe perspectieven te ontwikkelen die in een vak nog niet centraal zijn, maar het wel kunnen worden. “Logica in Actie” ging over ‘dynamische’ gezichtspunten in de moderne logica: als de wetenschap van niet alleen correct wiskundig bewijzen, of correct gebruik van taal, maar het hele scala aan informatie-verwerkende activiteiten dat ons leven vormt. Het project opende daartoe twee onderzoekslijnen, Computationele Logica over nieuwe verbanden tussen logica en rekenen, en Logica en Spel, over logica als theorie van interacties tussen meerdere personen, zoals een gesprek of een debat. Misschien wel het meest interactieve dynamische proces van allemaal is onderwijs, en dus bevatte “Logica in Actie” ook een educatief project Logic Dissemination, waar Jan van Eijck, Jan Jaspars, en anderen nieuwe onder-wijsmaterialen maakten met gebruik van nieuwe inzichten. Samen met Hans van Ditmarsch, een andere oude bekende uit de internationale wereld van het logica-onderwijs met elektronische hulpmiddelen, vormen zij het team achter deze cursus.

Historisch gezien ontstond de logica zo’n 2500 jaar geleden in verschillende culturen, Griekenland, India, en China. In al die gevallen was de oorsprong het inzicht dat in een gewoon gesprek, openbaar debat, of juridische proce-dure vaste patronen zitten die we kunnen zien als geldige of ongeldige manieren om de discussie te winnen. Een geldige manier om jouw bewe-ring A te bestrijden is er een consequentie B uit af te leiden waarvan jijzelf moet toegeven dat die onwaar is. Een ongeldige manier om jouw A te bestrijden is daarentegen de ‘drogreden’ om hem af te leiden uit een andere B, en dan die B te bestrijden. We zien in deze voorbeelden een essentiële rol voor meerdere personen die op elkaar reageren, inclusief een spelelement (debatten kun je winnen of verliezen), en een duidelijke koppeling aan praktisch redeneren zoals mensen dat doen.

v

Page 6: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Maar de logica als wetenschap ontstond door daar nog een ander paradig-ma aan toe te voegen, en wel van bewuste wiskundige systeembouw. De patronen die we in het redeneren zien vormen een systeem dat op zich wiskundig beschreven kan worden. Dat aspect werd in de Griekse traditie opgemerkt, en later overgenomen en verder gebracht in de Islamitische (met name de Perzische) en onze eigen Europese cultuur. Door die belang-rijke rol van de wiskunde denken veel logici, dat wiskundig redeneren eigenlijk de mooiste, meest zuivere vorm van redeneren is: de gouden standaard voor hun werk. Een wiskundig bewijs blijft geldig, hoe mensen ook in het echt redeneren - en zelfs al schreven de Verenigde Naties een wereldwijd referendum uit waarbij iedereen de bovengenoemde drogreden accepteerde, dan nog zal een logicus deze verwerpen. Bovendien zijn voor het nagaan van deze geldigheid in principe geen andere mensen nodig: wiskundige bewijzen kunnen door een computer worden gelezen, en soms zelfs gevonden.

Dus hebben we nu twee sporen: één van menselijk redeneren en interactie, en een tweede met wiskundige structuur waarbij helemaal geen handelen-de persoon nodig is. Die twee gezichtspunten van wiskundig systeem en dialoog bepalen voor mij de logica, als twee beelden:

Links ziet u Euclides “Elementen” vol bewijs, rechts Rubens’ schilderij “De vier Filosofen” (1608, Palazzo Pitti, Florence; de vijfde persoon is overigens de buste van de filosoof Seneca) met een gesprek. Die twee gezichtspunten lijken in spanning met elkaar, en soms lijkt het zuiver wiskundige beeld te hebben gewonnen. Maar ze werkten in de geschiedenis harmonieus samen, en deze cursus brengt beide met klem naar voren. Aristoteles begon met menselijk redeneren over “alle”, “sommige” en “geen”, maar beschreef dat met een wiskundig systeem van ‘syllogismen’. De Griekse school van de Stoa bestudeerde redeneren met “niet”, “en” en

vi

Page 7: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Voorwoord

“of”, en het wiskundige systeem daarachter werd later ontdekt door Leibniz en Boole, die verrassende ontdekkingen deden zoals algebraïsche analogieën in redeneren tussen “en” en “of”. Dat wiskundige systeem heeft veel te maken met binair rekenen, en inderdaad zijn redeneren en rekenen al eeuwenlang nauw met elkaar verbonden, zoals u kunt lezen in het boekje “Denkende Machines” van Jan van Eijck, Jan Jaspars en Marc Pauly (verschenen bij de Amsterdam University Press), dat uit ‘Logica in Actie’ voortkwam. Beroemd is Leibniz’ ideaal van een ideale taal waarmee meningsverschillen zouden kunnen worden beslecht door zuiver rekenen, “Calculemus”. Zoals deze cursus laat zien is een simplistische reductie van dialoog tot wiskunde niet plausibel, gezien de rijkdom van verschijnselen die informatie doen stromen als mensen communiceren. Dat er wel een serieuze wiskunde van communicatie over en weer is, blijkt bijvoorbeeld uit de moderne speltheorie, waar interactief gedrag en ‘formeel systeem’ weer harmonieus samenkomen.

In de 19de eeuw ontstond de moderne logica in Frege’s boek “Begriffs-schift”, bedoeld als formeel instrument om de grondslagen van de wis-kunde te analyseren. Dat leidde tot in de 20ste eeuw tot een stormachtige ontwikkeling van nieuwe logische begrippen en technieken, culminerend in ‘Gödel’s Stellingen’ over bewijskracht en beperkingen van formele sys-temen. We vatten deze historische ontwikkeling samen in vier portretten:

Aristoteles Ibn Si’na Frege Gödel

Nu over de inhoud van deze cursus. Twee systemen komen overal voor in de zuivere en toegepaste logica, te weten de propositielogica en predikaat-logica, en daaraan zijn dan ook onze eerste hoofdstukken gewijd. De pro-positielogica bevat de kern van redeneren zoals dat wordt gedaan door digitale computers. De veel rijkere predikaatlogica is sterk genoeg om grote delen van de wiskunde, informatica, en natuurlijke taal te beschrijven. Daarmee bent u in principe ingevoerd in de denkwereld van de klassieke logica, en vanaf dit punt openen zich vele wegen. Een daarvan begaan we in deze cursus iets verder, te weten de contacten met de informatica, de wetenschap van rekenen met informatie. Op vele plaatsen blijkt hoe infor-matie stroomt door middel van rekenprocessen, waarbij we zelfs conversatie in onze natuurlijke taal kunnen opvatten als ‘programmeren’ van opeen-volgende informatietoestanden van betrokken personen. Verbanden tussen

vii

Page 8: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

logica, informatie ‘update’, programmeren, en complexiteit van rekenpro-cessen vormen dan ook een der rode draden door de tekst. Deze ‘compu-tationele logica’ begon in de 60er jaren, en dit grensgebied met de informa-tica is inmiddels het grootste gebied van logisch onderzoek geworden. Een tweede, hiermee verbonden draad is de analyse van informatie op zich, waarbij ook andere aspecten spelen dan zuiver gevolgtrekken. U ziet dat de straten droog zijn, en concludeert dat het niet heeft geregend. Dat zien is ook een vorm van informatie, even belangrijk als de conclusie, en de moderne logica kan ook dat eerste exact beschrijven. Dan moeten wel andere vakge-bieden meehelpen. Als illustratie hebben we een hoofdstuk opgenomen over ‘kennislogica’, een systeem dat werd voorgesteld in de filosofie, her-ontdekt in de economie, dat thans een belangrijke rol speelt in de informa-tica en kunstmatige intelligentie. Onze derde en laatste rode draad is de logische analyse van interactie, waarbij we terug gaan naar de origines van het vak. Ons laatste hoofdstuk laat zien hoe logica veel te maken heeft met speltheorie, waarbij de logische sleutelbegrippen als “en” en “of” komen te staan voor keuzes van spelers in een argumentatie, en “niet” voor een ‘rol-wisseling’, het essentiële intellectuele vermogen je te kunnen verplaatsen in de situatie van een ander. Onderwijs is zelf een vorm van spel tussen leer-ling en leraar, en daarmee is dit een passend besluit.

Deze cursus is een voorportaal. Ze introduceert een klein aantal centrale ideeën en vaardigheden, zonder enige hang naar volledigheid in thema’s en interdisciplinaire connecties. Daarmee is de actieve lezer toch enigszins toegerust voor de vele wegen die zichtbaar worden, want de logica ligt op een kruispunt van academische disciplines.

Onze website (http://www.illc.uva.nl/lia/) geeft u verdere routes, naar alfa, bèta en gamma. Goede reis!

Johan van Benthem

viii

Page 9: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

I N H O U D S O P G A V E

Redeneren en bewijzen 11.1 De stelling van Pythagoras 21.2 De wortel uit twee is geen breuk 41.3 Een bewijs zonder constructie 71.4 Overzicht van de inhoud van het boek 8

Propositielogica, waarheid en classificeren 112.1 Wat is propositielogica? 122.2 Hoe analyseren we natuurlijke taal formeel? 132.3 Propositielogische formules 162.4 Waarheidstabellen 182.5 De kracht van de propositielogica 23

Wie A zegt moet B zeggen 273.1 Tautologie 273.2 Logisch gevolg 303.3 Van gevolgtrekking tot informatieverwerking 34

Predikaatlogica, modellen en programma’s 394.1 Bouwstenen van de predikaatlogica 404.2 Formules van de predikaatlogica 46

Predikaatlogica en informatica 515.1 Modellen voor de predikaatlogica 525.2 Predikaatlogische wetten en logisch gevolg 565.3 Correctheidsbeweringen 57

Kennis en communicatie 636.1 Taal en betekenis van de kennislogica 646.3 Communicatie 70

Complexiteit van berekeningen 737.1 Bewijzen, vervullen, evalueren en vergelijken 747.2 Hoe moeilijk zijn logische taken? 767.3 Computationale complexiteit 78

Spel en logica van interactie 838.1 Winnende strategieën 838.2 Spelen met voorkeuren 888.3 Strategisch evenwicht 908.4 Logica en spel 928.5 Het ultimatumspel 95

Tot besluit 99Uitwerkingen van de opgaven 103Register 115

ix

Page 10: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

H O O F D S T U K 1

Redeneren en bewijzen

Jan en Johan zijn net in Dunedin gearriveerd en Hans neemt ze mee naar een terrasje. “Wat willen jullie hebben?” “Koffie!” De bediening komt langs. Matt. “Two long black please and a flat white.” Dat begrijpt Matt wel, maar Jan en Johan begrijpen niet meteen waarom deze bestelling correct is. Ze concluderen dat een gewoon kopje koffie kennelijk in Nieuw-Zeeland ‘long black’ heet. Inderdaad: een ‘long black’ is een ‘short black’ met extra water. En een ‘short black’ is een espresso. Terwijl een ‘flat white’ slaat op een koffie met melk; net zo’n lokale benaming als bij ons ‘koffie verkeerd’. Matt komt terug met een dienblad waarop drie kopjes staan. “Who’s got the flat white?” Hans reageert. Daarna worden de andere twee kopjes bij Jan en Johan neergezet. “Thanks, Matt!”

Bij zo’n scenario zien we al heel wat logica in actie. Hans weet dat ‘kopje koffie’ lokaal ‘long black’ heet. En dat daarom de bediening dat ook weet, en dat het niet uitmaakt dat Jan en Johan dat niet weten. Jan en Johan bestelden hetzelfde. In de bestelling komt twee keer iets van hetzelfde voor. Hieruit volgt dus, concluderen ze, dat ‘long black’ overeenkomt met het gewone kopje koffie, en ‘flat white’ niet.Matt is ook niet dom. Hij vraagt namelijk niet wie long black heeft maar wie de flat white heeft. Hij krijgt dus maar één antwoord in plaats van twee antwoorden. Voor drie personen is dat nog te overzien, maar vraag nu eens ‘who’s got the beer’ aan een tafel met tien personen; terwijl je net zo goed met die ene gin tonic had kunnen beginnen. En na Hans de flat white gegeven te hebben, kan hij de rest van de bestelling in willekeurige volg-orde bij Hans’ tafelgenoten neerzetten, zonder daar verder over te hoeven nadenken. Voor Hans’ antwoord weet hij dat alle drie de gasten een long black of flat white hebben. Omdat Hans flat white heeft en er één flat white was, hebben Johan en Jan niet flat white. Uit ‘niet flat white’ en ‘long black of flat white’ volgt logisch ‘long black’. Johan en Jan hebben dus allebei een long black.

Van oudsher is de logica de leer van dit soort correcte redeneringen. Nog steeds is het herkennen van correcte en incorrecte redeneringen een belang-rijke doelstelling van de logica, en het beschrijven van methoden om te bewijzen dat een conclusie volgt uit een verzameling aannames. Natuurlijk speelt in ons openingsvoorbeeld veel meer dan alleen bewijzen, want er worden bijvoorbeeld ook vragen gesteld, met antwoorden die informatie overdragen. De bredere rol van de moderne logica als studie van iedere correcte vorm van informatieoverdracht zal ook volop aan bod komen in

1

Page 11: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

deze cursus, maar we beginnen in dit eerste hoofdstuk klassiek. Zelfs heel klassiek! Een exact wetenschapsgebied als de wiskunde is de beste plaats om te beginnen, omdat je daar redeneren in ‘reincultuur’ ziet. In dit eerste, inleidende, hoofdstuk geven we een aantal klassieke voor-beelden van dergelijke wiskundige bewijzen. Aan het eind van het hoofd-stuk geven we een kort overzicht van de inhoud van dit boek.

1.1 De stelling van Pythagoras

Het hart van de exacte wetenschappen wordt gevormd door het begrip bewijs. De ontdekking van de methode om een onderwerp te presenteren in termen van axioma’s, definities en bewijzen is één van de grote uitvindin-gen van de mensheid. Het beroemdste voorbeeld van deze axiomatische methode is de systematische presentatie van meetkundige inzichten in de Elementen van Euclides, geschreven tussen 330 en 320 voor Christus. Om toegang te krijgen tot cultuurschatten zoals deze, moet je vertrouwd raken met de gebruikte manier van presenteren.

Het stramien van een bewijs in Euclides’ Elementen is heel strak. Alle bewij-zen beginnen met een opsomming van wat gegeven is, gevolgd door ‘te bewijzen:’, met daarna de bewering waarvan de waarheid moet worden aangetoond. Dan volgen de stappen die nodig zijn om de ‘te bewijzen’ bewering af te leiden uit wat gegeven is. Door de stappen te volgen kunt u inzien dat de ‘te bewijzen’ bewering waar moet zijn. In die bewijsstappen kunnen ook beweringen worden gebruikt die al eerder bewezen zijn. Zulke al bewezen beweringen heten stellingen. Het bewijs eindigt wanneer we zijn aangeland bij de bewering die bewezen moet worden. De laatste zin van het bewijs luidt: ‘En dat is precies wat moest worden aangetoond’. De Latijnse versie van deze afslui-tende frase is quod erat demonstrandum, afgekort QED (in het Grieks stond er: οπερ εδει δειξαι). Dit is nog steeds een veelgebruikte afkorting om aan te geven dat een bewijs rond is. En als een bewijs rond is, is er een nieuwe stelling toegevoegd aan de lijst van stellingen. Zo groeit onze kennis stapje voor stapje.In plaats van QED noteren we het einde van een bewijs met een blokje: ‘ð ’.

Een van de stellingen die in het eerste boek van Euclides’ Elementen wordt bewezen is de stelling van Pythagoras.

STELLING 1.1 In een rechthoekige driehoek is de som van de kwadraten van de recht-hoekszijden gelijk aan het kwadraat van de schuine zijde.

2

Page 12: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 1 Redeneren en bewijzen

FIGUUR 1.1 Een bewijs van de stelling van Pythagoras in de vorm van twee plaatjes

De stelling van Pythagoras kan op veel verschillende manieren worden bewezen. Een daarvan vindt u in figuur 1.1. (Dit plaatjesbewijs is overigens niet het bewijs dat Euclides geeft.) Een bewijs van een stelling heb je wan-neer je kunt laten zien waarom die stelling waar is. Hoe laten de twee plaatjes zien dat de stelling van Pythagoras waar is? Hieronder volgt het bewijs in woorden.

BewijsFiguur 1.1 bevat twee vierkanten van dezelfde grootte. Links staan er twee donkere vierkanten in, en rechts één. Noem de zijde van het kleinste vier-kant links a, de zijde van het grotere vierkant links b, en de zijde van het gekantelde vierkant rechts c. Zowel links als rechts zien we viermaal een rechthoekige driehoek. Al deze driehoeken hebben als korte rechthoeks-zijde a, als lange rechthoekszijde b en als schuine zijde c. De oppervlakte van het vierkant in het linkerplaatje wordt gegeven door:

+ = + +2 2 2( ) 2a b a ab b

Hierbij geeft 2ab dus de oppervlakte aan van de vier driehoeken samen. Het vierkant in het rechterplaatje is even groot, maar hier wordt de oppervlakte gegeven door:

+2 2c ab

Immers, 2ab is weer de oppervlakte van de vier driehoeken samen. Omdat de volledige vierkanten even groot zijn, volgt nu:

+ + = +2 2 22 2a ab b c ab

Dit kan worden vereenvoudigd tot:

+ =2 2 2a b c

En dit laatste is precies wat moest worden aangetoond. €

3

Page 13: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

1.2 De wortel uit twee is geen breuk

De oude Grieken waren dol op constructies met behulp van passer enliniaal. Meetkunde gaat over cirkels en lijnen; cirkels teken je met een passer en lijnen trek je met een liniaal.

Met passer en liniaal kun je een loodlijn construeren in een punt P op een lijn l. De loodlijn moet lijn l in P snijden onder een hoek van 090 (een rechte hoek). De benaming ‘loodlijn’ is ontleend aan het ‘loodkoord’ waarmee een metselaar ervoor zorgt dat het muurtje dat hij aan het metselen is precies verticaal is.

FIGUUR 1.2 De passer-en-lineaalconstructie van een loodlijn

In figuur 1.2 visualiseren we de constructie. Punt P is het zwarte rondje, en de gegeven lijn l is de niet-gestippelde lijn. Eerst trekken we een willekeu-rige cirkel met P als middelpunt. Dit is de kleine cirkel in de figuur. Deze cirkel snijdt de lijn in twee punten. We trekken nu twee cirkels met deze snijpunten als middelpunt. Als straal van die cirkels nemen we de afstand tussen deze twee snijpunten (in feite komt dit niet zo nauw, zolang deze twee grotere cirkels elkaar maar snijden). Door de snijpunten van deze twee grotere cirkels trekken we een lijn. Dit is de loodlijn l’ op l, door P.

Hoewel het liniaal van de oude Grieken geen schaalverdeling had, kunnen we wel een eenheidsmaat afspreken. We passen dan een of andere lengte af met de passer, en spreken af dat we die lengte 1 noemen. Dat is dan de afgesproken eenheidsmaat.

Bij een driehoek met een rechte hoek en rechthoekszijden van lengte 1 geldtvolgens de Stelling van Pythagoras dat het kwadraat van de schuine zijde gelijk is aan 2 (tweemaal de eenheidsmaat). Als we de schuine zijde x noe-men, wil dit zeggen: 2x = 2.

Met passer en liniaal kunnen we nu een lijnstuk ter lengte van deze x construeren. Neem daartoe een lijnstuk AB en noem de lengte van dat lijnstuk 1. We hebben geen liniaal met schaalverdeling, maar we kunnen wel de lengte van AB als de eenheidsmaat beschouwen van een schaal die

4

Page 14: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 1 Redeneren en bewijzen

we zelf construeren. Noem de lijn die door A en B gaat l. Teken nu een loodlijn op l in het punt A. Bepaal met een passer een punt C op die loodlijn (zet de passer in A, neem als straal AB, en trek de cirkel; het snijpunt met de loodlijn is het gewenste punt C), op afstand 1 van A. Het lijnstuk CB heeft lengte x. Zie figuur 1.3.

FIGUUR 1.3 Het construeren van 2

Constructies met passer en liniaal zijn elementair en van een bijzondere schoonheid. De oude Grieken geloofden ook in de schoonheid van simpele verhoudingen. Als een strak gespannen snaar wordt verdeeld in stukken die zich verhouden als 1 : 2 of 2 : 3 of 3 : 4 of 4 : 5, dan zijn de tonen die je krijgt door die twee snaarstukken te tokkelen of aan te strijken in samen-klank met elkaar en klinkt er een harmonisch interval (bij 1 : 2 een octaaf, bij 2 : 3 een kwint, bij 3 : 4 een kwart, bij 4 : 5 een grote terts, bij 5 : 6 een kleine terts). Dit komt omdat bij dezelfde snaardikte en snaarspanning een twee keer zo lange snaar twee keer zo langzaam trilt, maar dat wisten de Grieken nog niet. De snaarverhoudingen a : b corresponderen dus met verhoudingen van trillingsfrequenties b : a. Stapelingen geven harmonische drieklanken. Zo levert de frequentieverhouding 4 : 5 : 6 een grote terts-akkoord op. De buitenste twee tonen staan in verhouding 4 : 6 of 2 : 3, dus ze vormen een kwint, de laagste twee vormen samen een grote terts, en de hoogste twee vormen samen een kleine terts. Voor Pythagoras en zijn leerlingen, die deze verhoudingen ontdekten, illustreerde dit dat de kosmos geordend is door eenvoudige getalsverhoudingen. Alle mooie verhoudingen zijn eenvoudige breuken.

Verhoudingen zijn direct verbonden met breuken. De breuken zijn alle getallen van de vorm:

pq

Hierin zijn p en q gehele getallen, en p is de teller en de noemer q is ongelijk aan 0. We duiden de verzameling van alle breuken aan met ¤ . Dit heet ook wel de verzameling van rationale getallen (getallen die een ratio of ver-houding aangeven). We schrijven zo’n breuk ook wel als p q . Deze breuk drukt eigenlijk de verhouding p : q uit.

5

Page 15: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Tot hun verbijstering ontdekten Griekse wiskundigen op zeker ogenblik dat sommige van de lijnstukken die je met passer en liniaal kunt constru-eren een lengte hebben die niet als breuk valt uit te drukken. We zagen hiervoor dat je een rechthoekige gelijkbenige driehoek met rechthoekszijde 1 en schuine zijde x, met passer en liniaal kunt construeren. Maar x is geen breuk.

STELLING 1.2 Er bestaat geen breuk x met 2x = 2.

BewijsNeem aan dat er een breuk x bestaat met 2x = 2. Zo’n breuk heeft een teller m en een noemer n, met m en n allebei natuurlijke getallen, en de noemer n ongelijk aan 0. We mogen aannemen dat de breuk m n niet verder te vereenvoudigen is, dat wil zeggen m en n hebben geen gemeenschappelijke factoren. Preciezer: er zijn geen natuurlijke getallen k, p, q met k ≠ 1, m = kp en n = kq. De breuk 2 10 kan worden vereenvoudigd, want de teller en noemer heb-ben een factor 2 gemeenschappelijk. Deze breuk kan door teller en noemer door 2 te delen op haar eenvoudigste vorm worden gebracht: 1 5 . Teller en noemer hebben nu geen gemeenschappelijke factoren meer.Goed, we nemen aan dat =x m n , met m en n zonder gemeenschappelijke factoren. Dan geldt:

22 2mx

n

= =

Hieruit volgt dus:

2 2

22 m mn n

= =

Door beide zijden met 2n te vermenigvuldigen vinden we:

=2 22n m

Met andere woorden: 2m is even. Omdat kwadraten van oneven getallen altijd oneven zijn (immers, + = + +2 2(2 1) 4 4 1n n n is oneven) moet m even zijn. Er is dus een natuurlijk getal p met m = 2p. Invullen van 2p voor m in =2 22n m geeft nu:

= =2 2 22 (2 ) 4n p p

Hieruit blijkt dat:

=2 22n p

6

Page 16: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 1 Redeneren en bewijzen

En dit leidt weer tot de conclusie dat n ook even is. Maar dat betekent dat er een natuurlijk getal q is met n = 2q. Dit brengt ons in tegenspraak met de aanname dat m n een breuk is in eenvoudigste vorm: we hebben immers een gemeenschappelijke factor 2 gevonden. Hieruit volgt dat er geen breuk x is met =2 2x , dat wil zeggen: de vierkantswortel uit 2 is geen breuk. €

De bewering die in stelling 1.2 wordt bewezen heeft de vorm van een ontkenning: het is niet zo dat de wortel uit 2 een breuk is. Die ontkenning wordt aangetoond door aan te nemen dat er wel zo’n breuk is.

1.3 Een bewijs zonder constructie

We weten nu dat de wortel van twee geen rationaal getal is. Hiermee heb-ben we dus meteen in het algemeen aangetoond dat er rationale getallen x en y zijn, zodat yx niet rationaal is, namelijk = 2x en = 1

2y , want daarmee volgt: =

122 2 . Dus met machtsverheffen kunnen we uit de rationale

getallen een irrationaal getal maken. We kunnen natuurlijk ook met machtsverheffen uit twee rationale getallen een ander rationaal getal maken, neem maar x = y = 2, dan hebben we

=22 4 en 4 is rationaal. Laat r voor rationaal staan, en i voor irrationaal, dan hebben we nu =rr i en

=rr r . Welke andere mogelijkheden zijn er nog? We hebben ook nog =ir r en =ri r , bijvoorbeeld 20 0= , want 0 blijft 0 ver-heven tot welke macht dan ook, en =0( 2 ) 1 , want ieder getal (ongelijk 0) tot de macht 0 is 1. Zouden er twee irrationale getallen zijn die, als de een tot de macht van de ander wordt verheven, weer een rationaal getal opleveren? Dit kunnen we aantonen in wat een puur existentiebewijs wordt genoemd: we kunnen bewij-zen dat die getallen moeten bestaan, alleen weten we niet wat de getallen zijn. We formuleren dat hieronder in een stelling en geven daarvan het bewijs.

STELLING 1.3 Er zijn twee irrationale getallen, zodat de een tot de macht van de ander rationaal is.

BewijsWe zoeken irrationale getallen x en y zodat yx rationaal is.Hieraan voldoen ofwel

= = 2x y (i)

ofwel

22x = en = 2y (ii)

7

Page 17: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Waarom? Om te beginnen: het is duidelijk dat 2( 2 ) rationaal is of niet rationaal is. In het eerste geval zitten we in situatie (i). Maar zo niet, dan zitten we in situatie (ii), omdat immers geldt dat:

× = = =

22 2 2 2

2 2 2 2

De getallen die we zoeken zijn dan =2

2x en = 2y . €

Helaas vertelt dit bewijs ons niet welke van (i) of (ii) waar is. Het bewijs helpt ons niet zo’n getallenpaar te construeren. Daarom heet het een exis-tentiebewijs. Overigens, om u niet al te onzeker te houden: in feite is (ii) het geval. Dit staat bekend als de stelling van Gelfond-Schneider, uit 1934.

Bewijs en constructie gaan al sinds de Oudheid samen, maar dit oude the-ma is tegelijkertijd hypermodern. In de informatica hebben we niets aan zuivere existentiebewijzen, en alleen iets aan bewijzen waarmee we objec-ten door middel van een programma of algoritme kunnen construeren.Dat thema zal in hoofdstukken 5 en 7 meer concreet terugkomen als we zien hoe computers rekenen. En zelfs in de dagelijkse praktijk hebben we weinig aan louter een bewijs dat we morgen in Dunedin kunnen zijn zon-der een expliciet plan om daar ook daadwerkelijk te komen. Een algemeen inzicht in bewijsvormen en bijbehorende constructies is dus ook relevant voor de dagelijkse praktijk van ons menselijk gedrag.

1.4 Overzicht van de inhoud van het boek

We hebben deze verschillende voorbeelden van bewijzen gegeven om te illustreren dat precisering en formalisering van redeneringen een heel be-langrijke rol spelen in de wetenschap, en al sinds de oudheid met name in de wiskunde en in de wijsbegeerte. Een belangrijke traditionele rol van de logica is om wiskundige bewijsvoering precisie te geven, en om filosofische begripsvorming te ondersteunen. Tevens zijn er vele dwarsverbanden met recente wetenschaps- en toepassingsgebieden zoals de theoretische infor-matica en de kunstmatige intelligentie, en de laatste jaren ook de speltheo-rie en cognitiewetenschap. Deze breedte is niet toevallig. Het werkterrein van de logica is niet beperkt tot de wetenschap, want ook ons gewone gedrag wordt voortdurend gestuurd door redeneren. En al maken we dan soms fouten, dat alledaagse redeneervermogen is historisch-evolutionair de oorspronkelijke bron van ons wetenschappelijk denken. Dit boek loopt dan ook van het meest verheven wiskundig bewijzen tot het meest alledaagse redeneren, en in feite tot informatieoverdracht van elke soort. Daarmee is

8

Page 18: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 1 Redeneren en bewijzen

de logica een ideaal ‘uitkijkpunt’ om verbanden te zien tussen allerlei disciplines die vaak als gescheiden werelden worden beschouwd.

Wel blijft een feit dat de wiskunde een speciale rol speelt, zelfs in de brede visie op logica die u zult vinden in dit boek. Het gaat dan niet om het ter-rein van studie op zich, maar om de methode waarmee we dat doen. Logici hebben in de loop van de geschiedenis geleerd dat het bijzonder goed werkt om stukjes redeneerpraktijk en informatiepraktijk als wiskundig systeem te definiëren, en dan verder te ontwikkelen.

In de volgende twee hoofdstukken, ‘Hoofdstuk 2, Propositielogica, waar-heid en classificeren’ en ‘Hoofdstuk 3, Wie A zegt moet B zeggen’, behan-delen we de logica van beweringen op zinsniveau en hun onderlinge logische verbanden. Dit is de propositielogica waarin we redeneringen kunnen formaliseren zoals ‘als bewering p het geval is en als bewering p → q (p impliceert q) waar is, dan is q ook waar’. We onderzoeken ook propositielogische beweringen als p ∨ ¬p (p of niet-p) die altijd waar zijn. In de twee daaropvolgende hoofdstukken, ‘Hoofdstuk 4, Predikaatlogica, modellen en programma’s’ en ‘Hoofdstuk 5, Predikaatlogica en infor-matica’, behandelen we de predikaatlogica. Dit is de logica waarin beroemde redeneringen als “Alle mensen zijn sterfelijk. Socrates is een mens. Dus: Socrates is sterfelijk.” geformaliseerd kunnen worden. We kunnen deze logica zien als een uitbreiding van de propositielogica, namelijk als een logica waarin beweringen op zinsniveau ook nog aanvullende structuur hebben: als de zin ‘Jan is de vader van Emma’ is, dan zouden we hier in propositielogica p voor kunnen schrijven, maar in predikaatlogica P(j, e), waarbij P voor ‘vader zijn van’ staat, j voor Jan, en e voor Emma. Meer structuur, dus. Deze structuur blijkt zowel getrouwer aan de natuurlijke taal waarmee wij communiceren als aan de beschrijving van meer tech-nische verschijnselen, zoals de rekenprocessen van een computer.Na het hoofdstuk over predikaatlogica komt een hoofdstuk over de logica van kennis, ‘Hoofdstuk 6, Kennis en communicatie’. Deze logica is ook te zien als een uitbreiding van de propositielogica, maar een heel ander soort uitbreiding dan de predikaatlogica. De laatste twee hoofdstukken behandelen een aantal nogal ‘moderne’ onderwerpen in de logica: ‘Hoofdstuk 7, Complexiteit van berekeningen’ laat zien hoe ‘lang’ berekeningen bij programmeren en bij logische taken kunnen duren. Dit weerspiegelt een belangrijk algemeen thema in vele wetenschappen, van de natuurkunde tot de taalkunde: hoe kunnen wij de in principe aanwezige informatie om ons heen ook werkelijk bevatten en verwerken? ‘Hoofdstuk 8, Spel en logica van interactie’ gaat over een ander fundamen-teel modern thema, te weten wisselwerking tussen meerdere personen. De klassieke logica richtte zich op eenzame denkers die conclusie na conclusie trekken. Maar net zoals de natuurkunde pas echt tot haar recht komt als we ‘meerlichamenproblemen’ aanpakken, met onderlinge wisselwerking van deeltjes, geldt dat ook voor ons eigen intelligente gedrag. ‘Logica in actie’

9

Page 19: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

zie je op zijn best als mensen communiceren, argumenteren, en strategisch op elkaar ingaan. Het wiskundige model bij uitstek voor deze ‘meergees-tenproblemen’ is het spel. We leggen uit dat het spelen van spelletjes op heel serieuze manier bedreven kan worden, zowel binnen de economie als binnen de logica. We besluiten dit boek met een kort afrondend hoofdstuk, waarin een terugblik is opgenomen en een overzicht in vogelvlucht van enkele logische vakgebieden.

10

Page 20: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

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: een logicus ziet het verhevene in het alledaagse ... Om een aantal logische kernbegrippen uit te leggen gaan we nu terug van bewijzen in de wiskunde naar een meer elementair niveau van correct redeneren. Waarom is de ene redenering correct en de andere niet? Een eenvoudig voorbeeld van een correcte redenering is:

‘De afstandsbediening is kapot of de tv werkt niet goed. Maar de tv werkt wel goed. Dus de afstandsbediening is kapot.’

Daarentegen is de volgende redenering niet correct.

‘Het schilderij hangt hier niet als het gestolen is. Het schilderij hangt hier niet. Dus is het gestolen.’

Waarin zit nu het verschil? Beide redeneringen bestaan uit een conclusie (‘Dus ...’), voorafgegaan door twee Nederlandse zinnen, dus daar zit het niet in. Maar bij de eerste redenering moet de conclusie (‘Dus ...’) wel juist zijn als de uitgangspunten (de beide voorafgaande zinnen) waar zijn. Met andere woorden: er lijkt geen situatie te verzinnen waarin de eerste twee zinnen waar zijn en de derde niet. Bij de tweede redenering ligt dit heel anders. De beide uitgangspunten kunnen hier heel goed waar zijn zonder dat de vermeende conclusie dat is, denk maar aan een situatie waarin het schilderij net gerestaureerd wordt. Dan hangt het er inderdaad niet en we kunnen nog steeds beamen dat het er ook niet hangt als het gestolen is. Maar het is helemaal niet gestolen, het wordt immers gerestaureerd.

Bij voorgaande voorbeeldredeneringen ziet u misschien meteen al of ze correct zijn of niet. Voor meer ingewikkelde betogen hoeft dat helemaal niet zo simpel te zijn. En zelfs al zouden we voor iedere concrete redenering kunnen beargumenteren of die al dan niet correct is, dan blijft dat een moeizame onderneming. Bovendien: wie zegt ons dat die argumentatie weer correct is? Daarom is het beter eerst een andere weg in te slaan: welke kenmerken van de zinnen zorgen er nu voor dat een redenering correct is? Allereerst kunnen we opmerken dat de eerste redenering dezelfde vorm (maar een heel andere inhoud) heeft als de volgende, die ook correct is:

11

Page 21: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

‘Onze export stagneert of de dollar staat niet hoog. De dollar staat echter wel hoog. Dus stagneert onze export.’

Kennelijk zijn het vooral de woordjes ‘of’ en ‘niet’ en de plaats waar ze voorkomen, die bepalen dat deze redenering correct is - van de rest mogen we abstraheren. We stuiten hier echter op een ander probleem: wil een redenering correct zijn, dan moet ze in elke situatie juist zijn, maar woord-jes als ‘of’ betekenen niet steeds hetzelfde. Bij het eerste voorbeeld zal een monteur die de uitspraak ‘De afstandsbediening is kapot of de tv werkt niet goed’ doet, waarschijnlijk bij de diagnose rekening houden met de moge-lijkheid dat zowel afstandsbediening als tv kapot kunnen zijn, terwijl een beursanalist die ‘Onze export stagneert of de dollar staat niet hoog’ bezigt, vermoedelijk bedoelt dat ofwel onze export stagneert, ofwel de dollar niet hoog staat, maar niet allebei. En ouders die tegen hun kinderen zeggen ‘Voor je 18de verjaardag krijg je een racefiets of een serie autorijlessen’ zullen wel nooit bedoelen dat ze dat ook beide zullen krijgen.

Kortom, willen we iets definitiefs kunnen zeggen over de correctheid van redeneringen, dan zullen we een logisch ‘of’ moeten maken dat aanzienlijk preciezer is dan het vage en dubbelzinnige woordje uit de gewone taal. Dit kan in een eenvoudige, maar precieze en compacte logische taal: die van de propositielogica.

2.1 Wat is propositielogica?

Propositie Een propositie is een uitspraak die waar of onwaar kan zijn. Voorbeelden zijn ware uitspraken als ‘Er is geen grootste priemgetal’ en onware als ‘Kopenhagen ligt in Nederland’. Afgezien van filosofische spitsvondig-heden (hoe kunnen we bewijzen dat Kopenhagen niet in Nederland ligt?), is het waarheidsgehalte van deze proposities onomstreden.

Bij minder algemene uitspraken speelt de context vrijwel altijd een rol. Of ‘Het regent’ waar is, hangt duidelijk af van de situatie waarin we ons bevin-den. Toch noemen we ook ‘Het regent’ een propositie, want het is in elke situatie óf waar óf onwaar. Dat is zelfs het geval als we niet in staat zijn het waarheidsgehalte van een uitspraak hier en nu te bepalen. ‘Het regent morgen’, ‘De snel stijgende olieprijzen zijn de oorzaak van de crisis’ en ‘Er bestaan zwarte gaten’ zijn dus wel degelijk proposities. Waar het om gaat, is dat deze uitspraken in elke situatie waar of onwaar zijn, en niet zowel waar als onwaar.

Als de enige eis aan proposities is dat ze in iedere omstandigheid een waar-heidswaarde (waar of onwaar) moeten hebben, dan lijkt dit zo algemeen dat we ons kunnen afvragen wat dan in hemelsnaam géén proposities zijn. Andere zinstypen zoals vraagzinnen en zinnen in de gebiedende wijs druk-

12

Page 22: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

ken in de regel geen propositie uit. De volgende voorbeelden, twee gewone zinnen, een wiskundig probleem en een programmaopdracht, zijn geen proposities:

– Hoe laat is het?– Kijk uit bij het oversteken!– Zijn er natuurlijke getallen x, y, z, n met n > 2 waarvoor + =n n nx y z ?– Als x > 0 , dan x := x + 1.

Bij vragen kunnen de antwoorden wel waar of onwaar zijn, maar de vragen zelf niet. Het laatste voorbeeld is misschien wel verrassend: de vorm lijkt immers veel op die van een gewone als-dan-uitspraak. Maar voor een programmaopdracht geldt niet dat die waar of onwaar is. Een programma-opdracht is een instructie om de computer iets te laten doen, en als zodanig vergelijkbaar met de gewone gebiedende wijs (‘Doe ...!’). De voorwaarde van een als-dan-opdracht is wél een propositie, en de instructie na ‘dan’ wordt alleen uitgevoerd als de voorwaarde waar is. Dit betekent dat wan-neer deze opdracht deel uitmaakt van een ‘lus’ in het programma, de waarheidswaarde tijdens de uitvoering van het programma kan veran-deren - dat is juist de bedoeling van de voorwaarde. Uiteindelijk heeft de moderne logica iets te zeggen over al deze genres, maar we beginnen bij de bron: waarheidsdragende zinnen.

Het is niet de taak van de logica om de werkelijkheid te bestuderen en zo de waarheidswaarde van een propositie in een bepaalde situatie te achter-halen, zo dit al mogelijk is. De logica houdt zich ermee bezig of de waar-heidswaarde is af te leiden uit die van andere proposities. Kenmerkend voor de propositielogica is dat de waarheidswaarde van een uitspraak is af te leiden uit de waarheidswaarden van haar delen. Met een mooi woord wordt de propositielogica daarom wel waarheidsfunctioneel genoemd.

2.2 Hoe analyseren we natuurlijke taal formeel?

In de propositielogica kunnen we uitspraken analyseren die zijn opge-bouwd met behulp van het woordje niet en voegwoorden (en, of, als, mits, ...). In het begin van dit hoofdstuk zagen we daarvan al diverse voor-beelden (de woorden waar het hier om gaat zijn gecursiveerd):

De afstandsbediening is kapot of de tv werkt niet goed.

Het schilderij hangt hier niet als het gestolen is.

Zoals gezegd is de taal van alledag echter vaak dubbelzinnig en te vaag om dergelijke proposities goed mee te analyseren. We vervangen woordjes zoals ‘niet’ en ‘of’ daarom door symbolen die we een heel precieze bete-kenis gaan geven.

13

Page 23: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Negatie In plaats van ‘Het schilderij hangt hier niet.’ schrijven we:

¬ Het schilderij hangt hier.

Het symbool ¬ (het logische ‘niet’) gaat anders dan het ‘niet’ in gewone taal vooraf aan de uitspraak waar het betrekking op heeft. De propositie ‘Het schilderij hangt hier’ korten we vervolgens af tot de letter p, zodat we ten slotte uitkomen op de uitdrukking ¬p. Het symbool ¬ noemen we het negatieteken. De uitdrukking ¬p noemen we de negatie van p.

Disjunctie In plaats van: ‘De afstandsbediening is kapot of de tv werkt niet goed.’ schrijven we:

De afstandsbediening is kapot ∨ ¬ de tv werkt goed.

Het symbool ∨ (het logische ‘of’) staat hier op de plaats waar het gewone ‘of’ ook staat. De overgebleven uitspraken ‘De afstandsbediening is kapot’ en ‘De tv werkt goed’ korten we af tot respectievelijk p en q, zodat we ten slotte uitkomen op p ∨ ¬q.

Het symbool ∨ is de schreefloze letter ‘v’, afkomstig van het Latijnse woord ‘vel’ voor ‘of’. Het symbool ∨ wordt het disjunctieteken genoemd. Door ∨ worden twee proposities verbonden: het resultaat (zoals p ∨ ¬q) heet een disjunctie en de proposities die door ∨ verbonden worden (zoals p en ¬q in p ∨ ¬q), heten disjuncten. Hierna zullen we zien dat we met ∨ de zogenaam-de inclusieve disjunctie op het oog hebben: p ∨ q is dan ook het geval als zowel p als q het geval zijn.

Conjunctie De uitspraak ‘Gabriela tennist en Judith schaakt’ kan in propositielogica worden weergegeven door p ∧ q, waarbij p staat voor ‘Gabriela tennist’ en q voor ‘Judith schaakt’.

Keren we het disjunctieteken om, dan krijgen we ∧, het logische ‘en’. Het symbool ∧ wordt het conjunctieteken genoemd. Door ∧ worden twee propo-sities verbonden: het resultaat (zoals p ∧ q hiervoor) heet een conjunctie en de proposities die door ∧ verbonden worden, heten conjuncten.

Het ‘en’ uit de gewone taal bevat eigenaardigheden die we niet in de pro-positielogica willen opnemen. Zo betekent ‘Ze kwam binnen en ze deed het licht uit’ iets anders dan ‘Ze deed het licht uit en ze kwam binnen’. Het ‘en’ uit de gewone taal betekent vaak dat de gebeurtenis uit de tweede zinshelft later plaatsvindt dan die uit de eerste zinshelft. Dat soort bijzonderheden kunnen we niet uitdrukken in de propositielogica.

14

Page 24: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

Implicatie De uitspraak ‘Als er stroom loopt, (dan) wordt de draad warm’ kan in propositielogica worden weergegeven als p → q, waarbij p staat voor ‘Er loopt stroom’ en q voor ‘De draad wordt warm’.

Het symbool → wordt het implicatieteken genoemd. Door → worden twee proposities verbonden: het resultaat (zoals p → q hiervoor) heet een implicatie.

Equivalentie De uitspraak ‘A ⊂ B desda A ∩ B = A’ wordt in propositielogica weer-gegeven als p ↔ q, waarin p staat voor ‘A ⊂ B’ en q voor ‘A ∩ B = A’. De afkorting ‘desda’ staat voor ‘dan en slechts dan’, een standaardterm in wiskundige bewijzen.

Het symbool ↔ wordt het equivalentieteken genoemd. Door ↔ worden twee proposities verbonden: het resultaat (zoals p ↔ q hiervoor) noemen we een equivalentie.

De speciale symbolen van de propositielogica (¬, ∧, ∨, →, ↔) worden con-nectieven (logische voegwoorden) genoemd. In de volgende tabel vatten we de schrijfwijze, de uitspraak en de naam van de connectieven samen. Er zijn ook andere notaties in omloop, zoals de u misschien wel bekende & voor ∧, en ⊃ voor →, maar de symbolen in de tabel zijn het meest gangbaar.

TABEL 2.1 Connectieven in de propositielogica connectief uitspraak naam

¬ niet negatieteken ∧ en conjunctieteken ∨ of disjunctieteken → als ..., (dan) implicatieteken ↔ desda equivalentieteken

Naast de connectieven bevatten de uitdrukkingen van de propositielogica letters en haakjes. De letters geven (niet verder deelbare) proposities aan, en heten daarom propositieletters. We gebruiken hier meestal de letters p, q, r, ... voor, soms vergezeld van een index ( 1p , 7q , ...). Bij de vertaling van concrete uitspraken uit de wiskunde of de gewone taal in propositielogica moeten we wel steeds aangeven welke propositieletter bij welke propositie hoort. Daarnaast zijn er haakjes nodig, omdat anders bijvoorbeeld p ∨ ¬q ∧ p op meerdere manieren gelezen zou kunnen worden, en dat willen we natuurlijk niet. Met haakjes erbij hebben we dit probleem niet: p ∨ (¬q ∧ p) en (p ∨ ¬q) ∧ p zijn wel goede uitdrukkingen. Misschien denkt u dat ook ¬p ∨ q geen goede uitdrukking is, maar hier werkt een spelregel die zegt dat negatietekens sterker binden dan de overige connectieven, net zoals in de gewone rekenkunde machtsverheffen voorafgaat aan de overige

15

Page 25: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

bewerkingen. Dus als we toch haakjes hadden willen zetten, dan bedoelden we met ¬p ∨ q alleen (¬p) ∨ q en niet ¬(p ∨ q).

2.3 Propositielogische formules

Wiskundigen voeren vaak notaties in die worden toegevoegd aan gewone natuurlijke taal, zodat een soort technisch jargon ontstaan, net zoals in onze eerdere voorbeelden van taal met symbolen. Logici gaan meestal nog een stapje verder, en introduceren geheel ‘formele talen’ die op zichzelf bestu-deerd kunnen worden. Voor de propositielogica werkt dit als volgt.

Logica en De formules p ∨ ¬q en q → ¬p zijn correct opgebouwd, maar een uitdruk-grammatica king als p ∨ ¬q ∧ p was dat niet. Ook allerlei onzinrijtjes als p ∨ ¬ en pq

willen we uitsluiten. De verzameling formules van de propositielogica kan formeel worden gedefinieerd in een zogenaamde inductieve definitie. Daar-mee kunnen we dan precies uit elkaar houden wat wel en wat niet correcte formules zijn.

Inductieve Een inductieve definitie is een manier om een verzameling objecten tedefinitie construeren uit een aantal bouwstenen of basiselementen. Zo’n inductieve

definitie bestaat uit drie onderdelen: basisstap, inductiestap, afsluitende stap. Eerst moeten we in zo’n definitie aangeven wat de eenvoudigste elementen uit de verzameling zijn. Dit noemen we de basisstap van de inductieve defi-nitie. Daarnaast moeten we aangeven hoe we uit sommige elementen andere kunnen construeren. Dit heet de inductiestap. De truc van een inductieve definitie is dat die ‘sommige elementen’ niet per sé basiselementen hoeven te zijn! We kunnen bijvoorbeeld de verzameling van de natuurlijke getallen met zo’n inductieve definitie definiëren. Dit gaat als volgt: 0 is een natuurlijk getal. Als n een natuurlijk getal is, dan is n + 1 ook een natuurlijk getal. Hoe zien we nu in dat, bijvoorbeeld, 3 een natuurlijk getal is? Eerst moeten we 3 schrijven als 1 + 1 + 1. Dit mag: we beschouwen ‘3’ gewoon als de afkorting van 1 + 1 + 1. Dan redeneren we als volgt: 1 + 1 + 1 is een natuurlijk getal, als 1 + 1 een natuurlijk getal is (een ‘+ 1’ minder); 1 + 1 is een natuurlijk getal als 1 een natuurlijk getal is (nog een ‘+ 1’ minder); 1 is een natuurlijk getal als 0 een natuurlijk getal is (nog een ‘+ 1’ minder, en voor 0 + 1 schrijven we 1). En ja hoor, 0 is een natuurlijk getal want dat hebben we net afgesproken! Dus 3 is ook een natuurlijk getal. De afsluitende stap ten slotte zegt dat ‘niets anders dan wat met de basisstap en de inductiestap geconstrueerd kan worden in de verzameling zit’.

Formules De verzameling formules van de propositielogica kan worden vastgelegd in zo’n inductieve definitie: we weten wat de eenvoudigste formules zijn (de propositieletters) en hoe we van formules naar ingewikkelder formules kunnen komen (door formules middels connectieven te verbinden).

16

Page 26: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

In de volgende definitie gebruiken we naast propositieletters (p, q, r, ... ), connectieven (¬, ∧, ...) en haakjes ook de Griekse letters ϕ (fi) en ψ (psi). Deze Griekse letters duiden willekeurige formules aan, ook wel formule-variabelen genoemd.

DEFINITIE 2.1 Formules van de propositielogica – Elke propositieletter (p, q, r, ...) is een formule.– Als ϕ een formule is, dan is ¬ϕ ook een formule.– Als ϕ en ψ formules zijn, dan zijn (ϕ ∧ ψ) , (ϕ ∨ ψ) , (ϕ → ψ) en (ϕ ↔ ψ)

ook formules.– Er zijn geen andere formules.

De eerste regel uit de definitie is de basis, de tweede en derde zijn de induc-tiestappen en in de laatste regel wordt de uitsluiting geformuleerd. Alle formules die geen losse propositieletters zijn, zijn samengestelde formules.

Als we goed naar de definitie kijken, zien we dat eerdere formules zoalsp ∨ ¬q eigenlijk niet helemaal correct zijn: er had (p ∨ ¬q) moeten staan. Haakjes die helemaal aan de buitenkant van de formule staan en bij elkaar horen, worden meestal weggelaten. De rol van haakjes is namelijk om ambigue interpretatie van rijtjes symbolen uit te sluiten. In dit geval is geen verwarring mogelijk.

VOORBEELD 2.1 Van de volgende rijtjes symbolen zijn de linker allemaal formules en de rechter geen formules: q ¬ ¬p → p q ∧ q (q) ∧ (q) p → (q ∨ ¬p) p ↔ q ∧ r ¬¬(p ∨ (q ↔ ¬(p ∧ q))) ¬p ∨ q) ◊

Het wybertje ‘◊’ in de rechterkantlijn geeft het einde van het voorbeeld aan.

Deelformule Als we nog eens kijken hoe een formule volgens de definitie is opgebouwd, dan zien we hoe hiervoor eerst andere formules moeten worden gemaakt. Al deze formules treden op in de uiteindelijk geproduceerde formules, en om die reden worden ze deelformules genoemd (een andere gangbare term hiervoor is subformules). Bijvoorbeeld, de vijf deelformules van de formule (p ∧ q) → r zijn: p, q, r, p ∧ q, en (p ∧ q) → r. Een formule is dus ook een deelformule van zichzelf.

17

Page 27: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

De formulering ‘Een deelformule van een formule ϕ is een stuk (een deel-rijtje) van ϕ dat zelf een formule is’ is niet juist. Bijvoorbeeld, de formule p ∨ q is een deelrijtje van de formule ¬p ∨ q, maar geen deelformule van ¬p ∨ q.

Bereik van een Een ander begrip dat direct ontleend kan worden aan de definitie vanconnectief formules, is het bereik van een connectief. Het bereik van een connectief

bestaat uit het deel (of de delen) van de formule waar het connectief betrek-king op heeft. Bijvoorbeeld, het bereik van ∧ in r ∨ (¬q ∧ p) bestaat uit de formules ¬q en p, en het bereik van ∨ bestaat uit de formules r en ¬q ∧ p.

2.4 Waarheidstabellen

In de vorige paragraaf hebben we de vorm van de propositielogische for-mules bekeken, nu gaan we hun betekenis onderzoeken. Net als voor de zinnen in de gewone taal is die betekenis voor logische formules gelegen in de waarheidswaarde: we weten wat een formule betekent als we kunnen zeggen in welke situaties de formule waar is. Maar hoe wordt de waar-heidswaarde van een formule nu berekend?

Om vlot met waarheidswaarden te kunnen rekenen, is het handig ‘waar’ weer te geven door 1 en ‘onwaar’ door 0, net als in digitale computers, waarvan de bits ook met nullen en enen worden voorgesteld. De bereke-ning van de waarheidswaarde van samengestelde formules vindt plaats in de vorm van tabellen, de zogenaamde waarheidstabellen. We laten nu de connectieven één voor één de revue passeren om hun effect op de waar-heidswaarde vast te stellen.

Negatie De formule ¬p is waar wanneer p onwaar is, en omgekeerd. Omdat pro-posities óf waar óf onwaar zijn, volgt hier meteen uit wanneer ¬p onwaar is: als p waar is. We vatten dit samen in de volgende waarheidstabel. p ¬p

1 0 0 1

Dit gedrag van de negatie vertoont grote overeenkomst met dat van het woordje ‘niet’ in de gewone taal. ‘Het regent niet’ is immers precies dan waar als ‘Het regent’ onwaar is. Voor de logische negatie geldt hetzelfde, en dat blijft zo als we de negatie voor een samengestelde formule zetten. Meer in het algemeen is dus voor een willekeurige ϕ de formule ¬ϕ waar precies dan als ϕ onwaar is.

18

Page 28: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

Hierdoor krijgt de waarheidstabel voor negatie de volgende vorm: ϕ ¬ϕ

1 0 0 1

VOORBEELD 2.2 Met de waarheidstabel van de negatie kunnen we de waarheidswaarden van sommige samengestelde formules uitrekenen. De waarheidstabel voor de formule ¬¬p is: p ¬p ¬¬p

1 0 10 1 0

Deze tabel komt als volgt tot stand. De waarheidswaarde van ¬¬p wordt bepaald door de waarheidswaarde van p: we zetten p linksboven in de tabel. Nu kan p waar of onwaar zijn: deze waarden zetten we in de linker-kolom onder p. Vervolgens berekenen we de waarheidswaarden van de deelformule ¬p. De waarheidstabel voor ¬ leert dat ¬p waarheidswaarde 0 (onwaar) heeft als p waarheidswaarde 1 heeft, en 1 (waar) als p waarheids-waarde 0 heeft. Deze waarden schrijven we in de middelste kolom, onder ¬p. Ten slotte verkrijgen we hieruit, weer met de waarheidstabel voor ne-gatie, de waarheidswaarden van de hele formule, nu in de rechterkolom. ◊

Conjunctie De formule p ∧ q is alleen waar als zowel p als q waar zijn. Algemener: een conjunctie ϕ ∧ ψ is waar als zowel ϕ als ψ waar zijn, en in alle andere geval-len onwaar. Dit wordt weergegeven door de volgende waarheidstabel (ϕ en ψ zijn weer willekeurige formules): ϕ ψ ϕ ∧ ψ

1 1 1 1 0 0 0 1 0 0 0 0

In gewone taal heeft ‘en’ vaak een vergelijkbaar effect. ‘Marie werkt en Kees zorgt voor de kinderen’ is waar als ‘Marie werkt’ en ‘Kees zorgt voor de kinderen’ beide waar zijn, en ook alleen dan waar.

19

Page 29: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

VOORBEELD 2.3 Hoe vinden we nu met behulp van de waarheidstabel van ∧ de waarheids-tabel voor een ingewikkelder formule als, zeg, p ∧ ¬q? De formule p ∧ ¬q bevat twee verschillende propositieletters, p en q: die zetten we weer linksboven in de tabel. Elk van die propositieletters kan twee waarheids-waarden krijgen, dus er zijn in totaal 2 × 2 = 4 combinaties van waarheids-waarden mogelijk. Hierdoor krijgen we een tabel met vier rijen van waar-heidswaarden. Voor elke deelformule gaan we nu de waarheidswaarde berekenen, te beginnen met de kleinste deelformules. Dat zijn de propo-sitieletters, waarvan we de waarheidswaarden al kennen. Daarna komt de deelformule ¬q. Dat komt neer op het ‘omdraaien’ van de waarheids-waarde van q. Ten slotte vinden we de waarheidswaarden van de hele formule door (rij voor rij) de waarheidswaarden die onder p en onder ¬q staan te combineren, met behulp van de waarheidstabel van ∧. De waar-heidstabel voor p ∧ ¬q wordt dus: p q ¬q p ∧ ¬q

1 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0

Het resultaat is dat p ∧ ¬q waar is als p waar en q onwaar is. In alle andere gevallen is p ∧ ¬q onwaar. ◊

Disjunctie De waarheidstabel voor een disjunctie ϕ ∨ ψ is: ϕ ψ ϕ ∨ ψ

1 1 1 1 0 1 0 1 1 0 0 0

Het logische ‘of’ is de zogenaamde inclusieve disjunctie, die we al zijn tegengekomen in gevallen als ‘De afstandsbediening of de tv is kapot’. In de gewone taal wordt de inclusieve disjunctie ook wel door ‘en/of’ uitge-drukt. Hierbij kan het een of het ander het geval zijn, of beide. De exclusieve disjunctie (‘óf ... óf ...’), die we zagen in een zin als ‘Voor je verjaardag krijg je een racefiets of autorijlessen’, waarbij of het een of het ander het geval is, maar niet beide, kan overigens ook in de propositie-logica worden weergegeven.

20

Page 30: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

Wanneer de formules langer worden, groeit het aantal deelformules ook, zodat de methode om alle deelformules apart in een kolom te zetten van de waarheidstabel, erg bewerkelijk kan worden. Handiger is het dan een com-pactere notatie te gebruiken. In plaats van de deelformules steeds opnieuw op te schrijven, plaatsen we de enen en nullen onder het connectief dat bereik heeft over de rest van deze deelformule. De volgorde waarin de waarheidswaarden zijn berekend, geven we voor de duidelijkheid met kleine cursieve cijfertjes aan.

VOORBEELD 2.4 De waarheidstabel voor (p ∧ ¬q) ∨ q op de nieuwe manier is: p q (p ∧ ¬ q) ∨ q

1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 0

1 3 2 1 4 1 ◊

Implicatie De waarheidstabel voor een implicatie ϕ → ψ ziet er zó uit: ϕ ψ ϕ → ψ

1 1 1 1 0 0 0 1 1 0 0 1

Een implicatie vertoont overeenkomst met als-dan-zinnen uit de gewone taal. De zin ‘Als het regent, dan worden de straten nat’ is duidelijk onwaar als het enerzijds regent en anderzijds de straten niet nat worden. Daarom geven we ϕ → ψ de waarheidswaarde 0 in het geval ϕ waar en ψ onwaar is. Dit is ook het enige geval waarin de implicatie onwaar wordt. Als ϕ en ψ beide waar zijn, dan is de implicatie waar, zoals aan het voorbeeld te zien is. Lastiger is het geval waarin ϕ onwaar is. Als ϕ onwaar is, dan is de impli-catie altijd waar, onafhankelijk van de waarheid van ψ. De implicatie kan dan nooit onwaar zijn, want een tegenvoorbeeld kunnen we in dat geval niet vinden: voor een tegenvoorbeeld moet ϕ waar en ψ onwaar zijn.

Dat een implicatie ϕ → ψ waar is als ϕ onwaar is stuit veel mensen tegen de borst (en al heel lang). Dit komt omdat het een conflict kan opleveren met de gewone taal, waarin we gewend zijn ‘als ..., dan ...’ in een oorzaak-gevolg-situatie te gebruiken. Als de oorzaak onwaar is, lijkt het irrelevant

21

Page 31: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

om over het gevolg na te denken, en in zo’n geval vinden we de implicatie dus onwaar! ‘Als de maan van groene kaas is, dan zakken de beurskoersen’ is onzin, en zou daarom niet waar zijn. De beurskoersen blijven niettemin zakken. In de propositielogica noemen we zo’n implicatie daarom wel waar.

Logici zijn overigens nog lang niet uitgedacht over andere vormen van implicatie, want een zekere spanning met de natuurlijke taal is vaak een bijzonder effectieve bron van interessante onderzoeksvragen.

VOORBEELD 2.5 De waarheidstabel voor de formule (p → q) → (¬p → ¬q) is: p q (p → q) → (¬ p → ¬ q)

1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0

1 2 1 4 2 1 3 2 1

Deze formule is dus alleen onwaar als p onwaar is en q waar. ◊

Equivalentie We willen uiteraard dat een equivalentie ϕ ↔ ψ juist dan waar is als ϕ en ψ dezelfde waarheidswaarde hebben, dat wil zeggen óf allebei waar óf allebei onwaar. Hiermee ligt de waarheidstabel voor equivalentie voor de hand: ϕ ψ ϕ ↔ ψ

1 1 1 1 0 0 0 1 0 0 0 1

In gewone taal wordt ‘als’ ook vaak in de betekenis van ‘desda’ gebruikt, bijvoorbeeld in ‘Je mag tv kijken als je huiswerk af is’. Volgens sommigen heeft ook ‘mits’ deze betekenis. Wanneer we expliciet willen aangeven dat we met een equivalentie en niet met een implicatie te maken hebben, moeten we onze toevlucht nemen tot min of meer moeizame constructies als ‘precies dan als’ en ‘dan en slechts dan als’ (desda). Die laatste formu-lering is in de wiskunde heel gebruikelijk.

22

Page 32: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

VOORBEELD 2.6 De waarheidstabel voor de formule ¬(p ∧ q) ↔ (¬p ∧ ¬q) is: p q ¬ (p ∧ q) ↔ (¬ p ∧ ¬ q)

1 1 0 1 1 1 1 0 1 0 0 11 0 1 1 0 0 0 0 1 0 1 00 1 1 0 0 1 0 1 0 0 0 10 0 1 0 0 0 1 1 0 1 1 0

3 1 2 1 4 2 1 3 2 1 ◊

2.5 De kracht van de propositielogica

De propositielogica is hiervoor omschreven als een spel met waarheids-waarden en als een taaltje gebaseerd op (preciseringen van) woorden als ‘niet’ en ‘of’. Dat lijkt allemaal nogal bescheiden. Hoewel we in hoofdstuk 4 inderdaad een krachtiger logica zullen leren kennen, de predikaatlogica, moet hier toch op een paar sterke punten gewezen worden. In de eerste plaats is de propositielogica de basis voor veel logische systemen en als zodanig al heel belangrijk. Voorts is de propositielogica sterker dan we misschien zouden denken. Dat blijkt als we proberen nog andere (‘ster-kere’) connectieven toe te voegen.

Logica als Als we een situatie uit het dagelijks leven beschrijven in propositielogischeclassificeren termen, dan zijn we soms geneigd dat alleen te zien als een andere weergave

dan die in beweringen in natuurlijke taal. Maar we kunnen onze forma-lisatie ook op zich laten staan als een manier om verschillende situaties te classificeren - bij iedere situatie ‘van een bepaalde klasse of type’ hoort dan een aparte formele beschrijving. Op de voorgrond staat dan welke waarde-ring van propositieletters door zo’n formele beschrijving vastgelegd wordt. De propositielogica is met name belangrijk omdat classificatie van situaties voorkomt in elke vorm van redeneren en ordening van informatie.

Andere In de voorgaande paragrafen hebben we een aantal connectieven bestu-connectieven deerd. Zijn ze dit nu allemaal? Zonder twijfel zijn ¬, ∧, ∨, → en ↔ de meest

bekende connectieven van de propositielogica. Daarnaast worden er voor diverse doeleinden nog wel eens andere connectieven van stal gehaald. Een voorbeeld daarvan is de exclusieve disjunctie. Hiervoor schrijven we ‘eor’. De formule ϕ eor ψ drukt uit dat óf ϕ óf ψ waar is, maar dat ze niet allebei waar zijn. Zoals gezegd is dit anders dan de disjunctie ∨, waarbij een van beide disjuncten waar kan zijn, maar ze ook allebei waar mogen zijn.

23

Page 33: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Bij eor hoort dus de volgende waarheidstabel: ϕ ψ ϕ eor ψ

1 1 0 1 0 1 0 1 1 0 0 0

Het is nu opmerkelijk, dat we deze exclusieve disjunctie ook kunnen beschrijven in termen van twee formulevariabelen ϕ en ψ en de connec-tieven ¬, ∧ en ∨, die we al hadden, namelijk als (ϕ ∧ ¬ψ) ∨ (¬ϕ ∧ ψ). Een waarheidstabel van deze formule is: ϕ ψ (ϕ ∧ ¬ ψ) ∨ (¬ ϕ ∧ ψ)

1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0

1 3 2 1 4 2 1 3 1

En uiteraard vinden we in de kolom van het hoofdconnectief ∨ de nullen en enen op dezelfde plaats als in de waarheidstabel voor eor. Het nieuwe con-nectief eor is dus niet echt nodig. Dit is een illustratie van een veel algeme-ner feit. Het komt hierop neer dat alle mogelijke waarheidstabellen al bij een of andere formule horen die we kunnen formuleren met de connec-tieven ¬, ∧, ∨, → en ↔. Iets preciezer gezegd: alle mogelijke verdelingen van waarheidswaarden treden op als laatst verkregen kolom in de waar-heidstabel van een formule die alleen van de standaardconnectieven gebruik maakt (en uiteraard van propositieletters en haakjes). We hoeven zelfs niet van alle standaardconnectieven gebruik te maken: met alleen ¬ en ∨ kan het bijvoorbeeld ook. De andere connectieven dienen dan uitsluitend voor ons gemak.

Kan het ook met slechts één connectief? Ja, dat kan! Met het connectief genaamd ‘nand’, dat de volgende waarheidstabel heeft, kunnen alle andere connectieven worden gedefinieerd. Kunt u dit ook?

24

Page 34: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 2 Propositielogica, waarheid en classificeren

ϕ ψ ϕ nand ψ

1 1 0 1 0 1 0 1 1 0 0 1

Uit de tabel blijkt dat ϕ nand ψ staat voor ‘niet zowel ϕ als ψ‘; nand is dan ook een samentrekking van het Engelse ‘not’ (niet) en ‘and’ (en).

De propositielogica is een alomtegenwoordig en rijk logisch systeem, en in hoofdstuk 7 zullen we zelfs zien dat er nog steeds fundamentele open vra-gen zijn rond de werking van het ‘waarheidsrekenen’ dat we hier hebben uitgelegd.

Dit systeem wordt dan ook universeel toegepast. Met name is het de basis van het ontwerpen van en redeneren over Boolese schakelingen en binair tellen en rekenen, en als zodanig een bouwsteen van iedere computer.

Samenvatting

Een formele taal is van belang om precisie te krijgen in formuleren en ver-werken van informatie, voor het geven van een glasheldere grammatica. Dit leidt tot een helder wiskundig systeem waarvan de soms verrassende eigenschappen op zichzelf bestudeerd kunnen worden. Dit is een belangrijk methodologisch idee, dat ook in andere disciplines, zoals de wiskunde, de informatica en de taalkunde, grote invloed heeft gekregen.

De taal van de propositielogica wordt gevormd door formules. Zulke for-mules zijn opgebouwd uit propositieletters (p, q, ...), haakjes en connectie-ven. De connectieven zijn: connectief uitspraak naam

¬ niet negatieteken ∧ en conjunctieteken ∨ of disjunctieteken → als ..., (dan) implicatieteken ↔ desda equivalentieteken

Behalve het negatieteken, dat maar met één formule combineert tot een nieuwe formule ¬ϕ, combineren de connectieven altijd twee formules:

25

Page 35: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

(ϕ ∧ ψ) noemen we een conjunctie, (ϕ ∨ ψ) een disjunctie, (ϕ → ψ) een implicatie en (ϕ ↔ ψ) een equivalentie. Formules die optreden bij de inductieve opbouw van een formule, noemen we deelformules van die formule. De deelformules van een formule ϕ die door een connectief worden gecombineerd tot een nieuwe deelformule van ϕ, vormen het bereik van dat connectief.

De betekenis van de formules is gelegen in hun waarheidstabellen. Waarheidstabellen classificeren situaties. Die waarheidstabellen zijn op systematische wijze op te stellen wanneer de waarheidstabellen van de connectieven bekend zijn. Deze zijn: ϕ ψ ¬ϕ ϕ ∧ ψ ϕ ∨ ψ ϕ → ψ ϕ ↔ ψ

1 1 0 1 1 1 11 0 0 0 1 0 0 0 1 1 0 1 1 00 0 1 0 0 1 1

Opgaven

OPGAVE 2.1 Welke van de volgende rijtjes symbolen zijn formules en welke niet? Als een rijtje geen formule is, geef dan aan waarom. Als een rijtje wel een formule is, schrijf dan op hoe deze formule moet worden uitgesproken.– ∧ p ∧ q – p ∨ p – (p → q) ↔ ¬(¬q → ¬p) – p ∧ ∨ q

OPGAVE 2.2 Maak de waarheidstabellen voor de formule (p → q) ∨ (q → p) en voor de formule ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q).

OPGAVE 2.3 Gegeven zijn de volgende proposities:– p: Jan gaat naar het feest.– q: Marie gaat naar het feest.Zet nu de volgende uitspraken om in formules van de propositielogica:– Marie noch Jan gaat naar het feest.– Of Marie óf Jan gaat naar het feest.– Jan gaat naar het feest, tenzij Marie er naar toe gaat.

OPGAVE 2.4 Gegeven is dat de volgende uitspraak in een bepaalde situatie waar is:‘Als Jan gaat, gaat Marie in ieder geval, en Piet gaat alleen als Jan niet gaat.’Wie gaan er nu? Zet de uitspraak eerst om in een formule en stel de waarheidstabel van deze formule op.

26

Page 36: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

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 redene-ren te analyseren, ze bestuderen ook de eigenschappen van die systemen op zich. De propositielogica is daarvan een uitstekend voorbeeld, want we kunnen dit systeem gebruiken om nu stelselmatige wetmatigheden aan het licht te brengen.

Wat maakt bijvoorbeeld de formule ¬(p ∧ ¬p) zo bijzonder? Dat is vooral het feit dat de formule niet onwaar kan worden, anders gezegd: dat de formule waar is, of p nu waar is of niet. Dit kunnen we aflezen uit de waar-heidstabel van de formule. Deze eigenschap komt bij veel formules voor en is van groot belang, zowel voor de theorie als voor diverse toepassingen.

Een andere wetmatigheid heeft te maken met redeneringen. Een redenering van de vorm ‘uit p ∨ ¬q en q kan men p afleiden’ vonden we correct (gel-dig), en we kunnen uitzoeken welke eigenschap van de waarheidstabellen van de formules in kwestie hiervoor verantwoordelijk is.

Door op zo’n wiskundige manier te denken kunnen we dus precies defi-niëren wat geldigheid is, maar we kunnen hiermee ook allerlei mooie patronen zien in geldig redeneren die anders onzichtbaar zouden blijven. Voorbeelden die we zullen zien zijn de dualiteit van conjunctie en disjunc-tie in de aanwezigheid van negatie, en het systematisch aan elkaar schake-len van implicaties.

3.1 Tautologie

Door middel van waarheidstabellen kunnen we onderzoeken onder welke voorwaarden een formule waar is. Twee gevallen springen er duidelijk uit: formules die altijd waar zijn en formules die altijd onwaar zijn. Met ‘altijd’ bedoelen we: bij elke toekenning van waarheidswaarden aan propositie-letters.

27

Page 37: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

VOORBEELD 3.1 De formule p ∨ ¬p is waar, ongeacht de waarheidswaarde van p. Dit is direct te zien aan de waarheidstabel: p p ∨ ¬ p

1 1 1 0 10 0 1 1 0

1 3 2 1

De waarheidswaarden van de hele formule staan in de kolom onder ∨, die in stap 3 berekend worden. In deze kolom staan alleen enen, zodat de for-mule altijd waar is. Elke uitspraak van deze vorm is dus altijd waar. Vanaf nu geven we trouwens de stappen waarin de waarheidstabel wordt opge-steld (de onderste rij in de tabel) niet meer aan. ◊

VOORBEELD 3.2 De formule (p ∧ (p → q)) → q is waar, welke waarheidswaarde we ook voor p en q kiezen. p q (p ∧ (p → q)) → q

1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1 0 ◊

Zo’n toekenning van waarheidswaarden aan propositieletters heet een ‘waardering’. Een waardering w is een functie van propositieletters naar waarheidswaarden, dat wil zeggen w: {p, q, r, ...} → {0, 1}. En een waar-dering die een formule waar maakt noemen we een model voor die formule. Je zou ook kunnen zeggen dat die waardering ‘model staat’ voor die for-mule. Een formule is vervulbaar als deze ten minste één model heeft.

DEFINITIE 3.1 Een tautologie is een formule van de propositielogica die waar is voor elke waardering.

Bij iedere rij in een waarheidstabel hoort dus een waardering. De formules in de laatste twee voorbeelden, die voor iedere waardering waar zijn, zijn tautologieën. Bij een tautologie is iedere waardering ook model voor die formule.

Om na te gaan of een formule een tautologie is, dienen we dus een waar-heidstabel voor de formule op te stellen, en vervolgens te kijken of de kolom onder het connectief met het grootste bereik alleen maar enen bevat.

28

Page 38: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 3 Wie A zegt moet B zeggen

De tegenhanger van een tautologie is een formule die voor iedere waar-dering onwaar is. Dit heet een contradictie.

VOORBEELD 3.3 De formule p ∧ ¬p is onwaar, ongeacht de waarheidswaarde van p. p p ∧ ¬ p

1 1 0 0 10 0 0 1 0 ◊

In de hoofdkolom van de waarheidstabel van een contradictie staan dus alleen maar nullen. Het is duidelijk dat een formule niet zowel een contra-dictie als een tautologie kan zijn. Er is wel een verband: ¬ϕ is een contra-dictie, precies dan als ϕ een tautologie is, en ϕ is een contradictie, precies dan als ¬ϕ een tautologie is. Er bestaan ook formules die geen van beide zijn. Een eenvoudige propositieletter p voldoet daar al aan! Een ander voorbeeld is als volgt.

VOORBEELD 3.4 De formule p ∧ ¬q is waar voor één waardering, en onwaar voor de overige waarderingen. p q p ∧ ¬ q

1 1 1 0 0 11 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 ◊

Bepaalde vormen van tautologieën keren steeds weer terug. Het is immers alleen de vorm van de propositie die haar geldig maakt. Daarom zijn naast p ∨ ¬p ook q ∨ ¬q en ((p ∧ q) ∨ r) ∨ ¬((p ∧ q) ∨ r) tautologieën. Kortom, alle formules van de vorm ϕ ∨ ¬ ϕ zijn tautologieën. Deze wet heet het principe van uitgesloten derde. In het Latijn is dit: ‘tertium non datur’, hetgeen bete-kent “een derde wordt niet gegeven”. Andere tautologieën zijn:

– ϕ ↔ ¬¬ϕ – (ϕ ∧ ¬ϕ) → ψ – (ϕ ∧ (ϕ → ψ)) → ψ – ¬(ϕ ∧ ψ) ↔ (¬ϕ ∨ ¬ψ) – ¬(ϕ ∨ ψ) ↔ (¬ϕ ∧ ¬ψ) – (ϕ → ψ) ↔ (¬ψ → ¬ ϕ)

Dit kunt u desgewenst met waarheidstabellen aantonen.

29

Page 39: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

We hoeven nu niet meer een omvangrijke waarheidstabel voor bijvoorbeeld ((p ∧ q) → (¬r ∨ s)) ↔ ¬¬((p ∧ q) → (¬r ∨ s)) op te stellen; het volstaat om te herkennen dat deze formule de vorm ϕ ↔ ¬¬ϕ heeft.

Verum en falsum Het is handig om een hele korte formule te hebben die een tautologie is. Soms wordt het speciale symbool ⊤ ingevoerd als afkorting voor p ∨ ¬p. Dit ⊤ staat voor, in het Engels: ‘true’. In het Latijn spreken we van ‘verum’. Voor contradicties geldt net zoiets. De formule die altijd onwaar is wordt weergegeven met het symbool ⊥. Dit staat voor, in het Engels, ‘false’; of, zo u wilt, in het Latijn, ‘falsum’. Visueel kunnen we hier een ‘omgekeerde ⊤’ in zien: de waarheid op zijn kop, dus.

3.2 Logisch gevolg

Met de hier ontwikkelde begrippen zijn we nu in staat om een precieze logische definitie te geven van wat we intuïtief een correcte redenering noemen. Welke eigenschap van de waarheidstabellen van de betrokken formules is hiervoor verantwoordelijk? Om dit te achterhalen, beschouwen we een eenvoudige redenering: uit ‘Jan is een goede schaker en Karin een goede dammer’ kan worden geconclu-deerd: ‘Jan is een goede schaker’. Het uitgangspunt is ‘Jan is een goede schaker en Karin een goede dammer’ en de conclusie is ‘Jan is een goede schaker’. Hier is geen speld tussen te krijgen: de redenering is correct. Zij nu p: ‘Jan is een goede schaker’ en q: ‘Karin is een goede dammer’. We maken vervolgens de waarheidstabellen van uitgangspunt (p ∧ q) en conclusie (p): p q p ∧ q p

1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 ↑ ↑

We scheiden het uitgangspunt (of de uitgangspunten) van de conclusie door een onderbreking in de tabel. Vergelijken we de aangegeven kolom-men, dan valt op dat het uitgangspunt en de conclusie niet altijd waar zijn, en niet dezelfde waarheidswaarde hoeven te hebben, maar dat, en dit is essentieel:– als het uitgangspunt waar is, dan is ook de conclusie waar.We spreken van logisch gevolg of van ‘geldige gevolgtrekking’.

30

Page 40: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 3 Wie A zegt moet B zeggen

DEFINITIE 3.2 Logisch gevolgDe formule ψ is een logisch gevolg van 1ϕ , ..., nϕ als elke waardering die alle

1ϕ , ..., nϕ waar maakt, ook ψ waar maakt. We schrijven hiervoor 1ϕ , ..., nϕ ⇒ ψ. Als ψ niet een logisch gevolg van 1ϕ, ..., nϕ is, schrijven we 1ϕ , ..., nϕ ⇒/ ψ.

VOORBEELD 3.5 De redenering in het vorige voorbeeld kunnen we weergeven als p ∧ q ⇒ p, dat wil zeggen: p is een logisch gevolg van p ∧ q. Immers, er was blijkens de tabel maar één waardering die p ∧ q waar maakte, en die maakt inderdaad de conclusie p ook waar. In dit voorbeeld is n = 1 en is 1ϕ de formule p ∧ q. ◊

VOORBEELD 3.6 We herhalen de redenering van het begin van hoofdstuk 2:

‘De afstandsbediening is kapot of de tv werkt niet goed. Maar de tv werkt wel goed. Dus de afstandsbediening is kapot.’

We kiezen nu p: ‘De afstandsbediening is kapot’ en q: ‘De tv werkt goed’. We gaan nu kijken of p een logisch gevolg is van p ∨ ¬q en q samen. p q p ∨ ¬ q q p

1 1 1 1 0 1 1 11 0 1 1 1 0 0 10 1 0 0 0 1 1 00 0 0 1 1 0 0 0

Uit de tabel blijkt dat de beide uitgangspunten alleen tegelijk waar (onder-streepte enen) zijn als p en q waar zijn. Met andere woorden: we hoeven slechts naar de eerste rij waarheidswaarden te kijken, en daar is de con-clusie ook waar. Kortom: p ∨ ¬q, q ⇒ p. In dit voorbeeld is n = 2, 1ϕ de formule p ∨ ¬q en 2ϕ de formule q. ◊

Merk op dat in de definitie van geldig gevolg staat: elke waardering die de uitgangspunten waar maakt, moet de conclusie waar zijn. Het is niet voldoende dat er een waardering bestaat die zowel uitgangspunt als conclusie waar maakt.

VOORBEELD 3.7 Uit ‘Er komen meer wegen in Nederland precies dan als Nederland geasfal-teerd raakt’ is het niet correct te concluderen dat er meer wegen in Neder-land komen. Formeel: p ↔ q ⇒/ p, dat wil zeggen: p is geen logisch gevolg van p ↔ q. Er is wel een waardering die het uitgangspunt en de conclusie waarmaakt, namelijk de waardering die p en q allebei waarmaakt. Maar er is ook een waardering die p ↔ q waarmaakt, maar niet de conclusie, name-lijk de waardering die p en q allebei onwaar maakt. ◊

31

Page 41: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Als twee formules uit elkaar volgen spreken we van logische equivalentie: als ϕ ⇒ ψ en ψ ⇒ ϕ dan schrijven we ϕ ⇔ ψ , en we noemen de formules ϕ en ψ dan logisch equivalent.

Er is een nauwe relatie tussen implicatie en logisch gevolg. De formule ( 1ϕ∧ ... ∧ nϕ ) → ψ is een tautologie precies dan als 1ϕ , ..., nϕ ⇒ ψ. Bijvoorbeeld, de tautologie ((p → q) ∧ (q → r)) → (p → r) correspondeert met de gevolgtrekking p → q, q → r ⇒ p → r. Toch mogen de tekens → en ⇒ niet door elkaar worden gehaald. Het wezenlijke verschil is dat → deel uitmaakt van de propositielogische taal, en ⇒ niet. Schrijven we ϕ ⇒ ψ, dan stelt dit dat ψ inderdaad volgt uit ϕ, terwijl als we ϕ → ψ opschrijven, deze formule best onwaar kan zijn. Net zoiets geldt voor het verschil tussen het equivalentiesymbool ↔ en het begrip logische equivalentie.

VOORBEELD 3.8 Logische equivalenties zijn nuttig voor het zoveel mogelijk vereenvoudigen van een formule. Dit kan ook bij het programmeren van pas komen. Om computertijd en programmeertijd te besparen, doen we er goed aan eerst zoveel mogelijk een programma te vereenvoudigen. Zo kunnen we

als niet ((x = 1 of y < 0) en (y < 0 of niet x = 1))

dan x := x + y

zonder probleem vervangen door het simpeler (>= betekent ≥)

als y >= 0 dan x := x + y

We kunnen namelijk door middel van logische equivalentie uitrekenen dat

niet ((x = 1 of y < 0) en (y < 0 of niet x = 1)) ⇔niet ((x = 1 of y < 0) en (niet x = 1 of y < 0)) ⇔niet ((x = 1 en niet x = 1) of y < 0) ⇔niet (y < 0) ⇔(y >= 0)

Met x := x + y wordt aangegeven dat aan de variabele x een nieuwe waarde wordt toegekend, namelijk de som van de waarden die x en y tot op dat moment hadden. ◊

32

Page 42: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 3 Wie A zegt moet B zeggen

DEFINITIE 3.3 Een aantal bekende vormen van gevolgtrekkingen zijn: naam vorm van de gevolgtrekking ex falso ϕ, ¬ϕ ⇒ ψ modus ponens ϕ, ϕ → ψ ⇒ ψ modus tollens ϕ → ψ, ¬ψ ⇒ ¬ϕ contrapositie ϕ → ψ ⇒ ¬ψ → ¬ϕ reductio ad absurdum als ϕ, ¬ψ ⇒ ⊥ , dan ϕ ⇒ ψ hypothetisch syllogisme ϕ → ψ, ψ → χ ⇒ ϕ → χ disjunctief syllogisme ϕ → ψ, ¬ϕ → ψ ⇒ ψ

Deze regels worden (vaak stilzwijgend) gebruikt bij wiskundige bewijzen. Ex falso is een gangbare afkorting van ‘ex falso sequitur quodlibet’ (Latijn: uit een contradictie volgt alles wat u maar wilt). Reductio ad absurdum (Latijn: het reduceren tot een absurde - tegenstrijdige - bewering) is niet een logisch gevolg, maar een relatie tussen logische gevolgen.In de tabel hebben we een derde Griekse letter ingevoerd voor willekeurige formules: χ, spreek uit ‘chi’.

VOORBEELD 3.9 We kunnen nu de vorm herkennen van de bewijzen uit hoofdstuk 1. In stelling 1.2 bewezen we dat de wortel van 2 geen breuk is. Laat p staan voor de bewering ‘de wortel van twee is een breuk’. Het bewijs verliep als volgt: we namen aan dat de wortel van twee een breuk was, p dus, en leidden daaruit een tegenspraak af: ⊥. Daarmee toonden we aan dat de wortel van 2 niet een breuk was: ¬p. Dit is een voorbeeld van een ‘reductio ad absur-dum’. Deze heeft de vorm “als ϕ, ¬ψ ⇒ ⊥, dan ϕ ⇒ ψ”. In dit geval kunnen we voor ϕ de ‘de getaltheorie’ nemen (die we verder niet zullen detailleren; hieronder valt bijvoorbeeld dat we een deling kunnen uitvoeren, en facto-ren 2 tegelijk uit de teller en de noemer kunnen verwijderen). Voor ψ nemen we ¬p. Voor ¬ψ krijgen we dan ¬¬p, en dit is equivalent met p. De concrete redenering wordt daarmee: “uit ϕ, p ⇒ ⊥, volgt ϕ ⇒ ¬p”. ◊

VOORBEELD 3.10 In stelling 1.3 uit hoofdstuk 1 bewezen we dat er irrationale getallen x en y bestaan waarvoor yx rationaal is. Laat p staan voor de bewering ‘ 2( 2 ) is rationaal’ en laat q staan voor de bewering ‘er zijn irrationale getallen x en y waarvoor yx rationaal is’. Het bewijs verliep als volgt. We weten dat 2( 2 ) ofwel rationaal is, of niet. Dit is van de vorm p ∨ ¬p (en zelfs exclusieve disjunctie, maar dat maakt hier niet uit). Uit p volgt q, want dan nemen we x = y = 2 . Maar uit ¬p volgt eveneens q, want dan nemen we x = 2( 2 ) en y = 2 . Hiermee was het bewijs klaar, dat wil zeggen: hieruit volgde q. Er is hier dus sprake van een instantie van het disjunctief syllogisme, namelijk: p → q, ¬p → q ⇒ q. ◊

33

Page 43: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

3.3 Van gevolgtrekking tot informatieverwerking

De propositielogica werd oorspronkelijk ontworpen als rekensysteem voor geldig redeneren. Maar zoals vaak gebeurt met wetenschappelijke theorie-en, blijkt hun reikwijdte achteraf veel groter dan aanvankelijk werd ge-dacht, of zelfs bedoeld. Zoals we meteen aan het begin van hoofdstuk 1 al zagen, vloeit informatie op veel meer manieren dan alleen het maken van gevolgtrekkingen. We krijgen informatie binnen door observatie en com-municatie, en trekken daaruit dan pas conclusies. Dat verwerken van binnenkomende informatie op zich kan eveneens worden gemodelleerd in de propositielogica, namelijk door middel van ‘updates’ op verzamelingen modellen. Propositielogica is dus niet alleen een theorie van gevolgtrekken, maar ook van informatieverwerking. In deze paragraaf schetsen we hoe dit in zijn werk gaat. In een gevolgtrekking 1ϕ , ..., nϕ ⇒ ψ trekken we een conclusie uit verza-meling aannames. De volgorde van die aannames doet er eigenlijk weinig toe. Gezien het verband met de tautologie ( 1ϕ ∧ ... ∧ nϕ ) → ψ mag de volg-orde er zelfs niet toe doen, omdat in een conjunctie de volgorde van de conjuncten irrelevant is. Maar die aannames moeten we eerst wel binnen krijgen. Dit proces kunnen we nu heel natuurlijk weergeven als toene-mende inperking van mogelijkheden, dat wil zeggen: van de mogelijke waarderingen die echt het geval kunnen zijn. We beginnen met alle waarderingen. Formule 1ϕ beperkt deze verzameling al wat, namelijk tot de modellen van 1ϕ . Als nu 2ϕ eveneens vereist is, beperken we ons nog wat meer, namelijk tot de modellen van 1ϕ die eveneens modellen van 2ϕ zijn. Enzovoorts. Als we in dit proces een iϕ tegen het lijf lopen die alle resterende modellen elimineert, weten we ‘dat we te ver zijn gegaan’: niet alle systeemeisen kunnen tegelijk vervuld worden. We zullen onze eisen dus ergens moeten herzien. Als we daar-entegen wel alle eisen 1ϕ , ..., nϕ kunnen vervullen, kunnen we daarna verifiëren of een gewenste systeemeigenschap ψ geldt door na te gaan of ψ opgaat in alle resterende mogelijkheden. Dit geeft een verband tussen modeleliminatie en gevolgtrekking. Als we slechts een enkele mogelijkheid overhouden, dan is dat te zien als het bereiken van totale informatie over de situatie waar het ons om te doen was.Dit idee van informatieverwerving als ‘modeleliminatie’ is heel algemeen, en het komt in allerlei wetenschappen voor.

Meer algemeen is een dynamisch perspectief op informatieverwerking en gevolgtrekkingen ook van toepassing op de predikaatlogische modellen die we in de komende twee hoofdstukken gaan introduceren. De methode van modeleliminatie zullen we met name zien terugkeren bij de bestudering van kennis en informatie in taalgebruik en communicatie, het onderwerp van de kennislogica in hoofdstuk 6. In dat geval blijkt de volgorde waarin we de informatie verwerken er ineens wel toe te doen, en geldt dus niet

34

Page 44: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 3 Wie A zegt moet B zeggen

meer voor alle 1ϕ en 2ϕ dat eerst 1ϕ verwerken en dan 2ϕ verwerken hetzelfde oplevert als eerst 2ϕ verwerken en dan 1ϕ verwerken.

VOORBEELD 3.11 We verwerken eerst de informatie p ∨ ¬q. Deze formule heeft drie model-len. Daarna wordt bekend dat p ↔ q. We houden nog twee van drie modellen over. Ten slotte wordt bekend dat p. Hiermee resteert nog één model. Uit deze drie formules volgt dat p ∧ q. p q p ∨ ¬q p ↔ q p p ∧ q

1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 ◊

3.4 Feitelijk redeneren

Hoe verhoudt de logica zich tot de realiteit van ons gedrag? Behalve de leer van correcte informatieve handelingen is er dan in elk geval ook de analyse van incorrecte redeneringen. Er zijn immers allerlei redeneringen die in natuurlijke taal wel correct lijken, maar dat toch niet zijn. Een goed logisch systeem moet ook fouten kunnen analyseren, en voorspellen waar deze optreden, de zogenaamde drogredenen (in het Engels: ‘fallacies’). Met name de argumentatietheorie houdt zich bezig met de analyse van drogredenen. We volstaan met een aantal voorbeelden.

VOORBEELD 3.12 Bevestiging van het gevolgWe gaan weer terug naar het voorbeeld in het begin van het hoofdstuk 2:

‘Het schilderij hangt hier niet als het gestolen is. Het schilderij hangt hier niet. Dus is het gestolen.’

Deze ongeldige redenering heeft de vorm p → ¬q, ¬q ⇒/ p. De redenering is ongeldig omdat de waardering die p en q onwaar maakt, de uitgangspun-ten waarmaakt maar niet de conclusie. De redenering lijkt geldig omdat de-ze zowel op ‘modus ponens’ lijkt als op ‘modus tollens’ (zie definitie 3.3). ◊

VOORBEELD 3.13 Verborgen aanname“De tweede voornaam van Barack Obama is Hussein. Hij is dus moslim! Je moet dus niet op hem stemmen bij de presidentsverkiezingen.” Deze redenering bevat twee verborgen aannames. De eerste is “Iemand die Hussein als voornaam heeft is een moslim.” Deze aanname is niet gerecht-vaardigd, want dit hoeft niet het geval te zijn. En president Obama is in feite geen moslim. De tweede verborgen aanname is “Als iemand moslim is

35

Page 45: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

dan kan hij/zij geen kandidaat zijn voor de presidentsverkiezingen” of (het blijft gissen ...) “Als iemand moslim is dan zou hij/zij geen kandidaat mogen zijn voor de presidentsverkiezingen”. Het eerste is wederom onwaar, omdat in de Amerikaanse grondwet is vastgelegd dat geloofsover-tuiging politiek niet in de weg mag staan. Het tweede lijkt ons ook onwaar - de vraag is natuurlijk of de meerderheid van de Amerikaanse bevolking daar nu, in 2009, zo over denkt. We wachten tot de presidentsverkiezingen in 2020, en de eerste islamitische Amerikaanse presidentskandidaat. ◊

VOORBEELD 3.13 CirkelredeneringDe cirkelredenering staat bekend onder de Latijnse naam ‘petitio principii’. De algemene vorm van een cirkelredenering is 1ϕ → 2ϕ , 2ϕ → 3ϕ , ...,

nϕ → 1ϕ ⇒/ 1ϕ , en het kortst door de bocht is hier 1ϕ → 1ϕ ⇒/ 1ϕ : uit de triviale implicatie dat een bewering zichzelf impliceert volgt de bewering zelf. Bijvoorbeeld: “Ik ben de baas omdat ik het hier voor het zeggen heb.” Of anders deze: “Waar je die kerktoren ziet staan moet het centrum van Venlo wel zijn, want dat is echt zo’n centrumkerk.” In het Engels staat deze drogreden bekend als ‘Begging the Question’. ◊

Overigens willen we bepaald niet zeggen dat fouten en drogredenen ken-merkend zijn voor wat een logicus ziet als hij kijkt naar feitelijk redeneren van mensen. De laatste jaren groeit juist een interessant grensgebied tussen de logica en de cognitieve psychologie, waarbij gezocht wordt naar rijkere formele modellen van ons redeneren, dat veel meer omvat dan alleen overgangen van aannames naar conclusies. Logische systemen worden zelfs hier en daar gebruikt in het moderne hersenonderzoek, als bron van toetsbare hypotheses over de echte ‘werkplaats’ van ons redeneren, de menselijke hersenen.

Samenvatting

Een tautologie is een formule van de propositielogica die waar is voor elke waardering. Een waardering die een formule waar maakt is een model van die formule. Een contradictie is een formule die onwaar is voor elke waar-dering. Een formule is vervulbaar als deze een model heeft. Een formule ψ is een logisch gevolg van formules 1ϕ , ..., nϕ als elke waardering die alle 1ϕ, ..., nϕ waar maakt, ook ψ waar maakt. We schrijven 1ϕ , ..., nϕ ⇒ ψ. De for-mule ψ heet de conclusie van de gevolgtrekking en de formules 1ϕ , ..., nϕ de uitgangspunten of aannames. Als twee formules uit elkaar volgen, dat wil zeggen, zowel ϕ ⇒ ψ als ψ ⇒ ϕ , dan noemen we ze logisch equivalent en we schrijven hiervoor ϕ ⇔ ψ.Verzamelingen waarderingen fungeren ook als informatietoestanden, en een update met nieuwe informatie ϕ vindt plaats door krimp van zo’n ver-zameling tot de waarderingen daarbinnen die aan ϕ voldoen.

36

Page 46: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 3 Wie A zegt moet B zeggen

Opgaven

OPGAVE 3.1 Ga voor elk van de volgende formules na of het een tautologie of een contradictie is.– p ↔ ¬p – p → (q → p) – ¬((p → q) → p)

OPGAVE 3.2 Bewijs met een waarheidstabel dat (p ∧ q) → p een tautologie is. Welk logisch gevolg hangt samen met deze tautologie? Hoe is dit gevolg ook direct in te zien?

OPGAVE 3.3 Toon door middel van waarheidstabellen aan dat p → q, ¬q ⇒ ¬p.

OPGAVE 3.4 Los opgave 2.4 op door de twee gegeven beweringen op te vatten als ach-tereenvolgende updates op de beginverzameling van alle waarderingen. Hoeveel waarderingen zijn er over na de informatie “Als Jan gaat, dan gaat Marie”? En hoeveel als daarna de informatie komt dat “Piet gaat alleen als Jan niet gaat”?

OPGAVE 3. 5 Wat is er mis met de volgende redenering: “Papa, waarom gaat de zon onder?” “Omdat de zon om de aarde draait, jongen.” “En waarom is dat dan?” “Ja, anders zou ‘ie toch stilstaan boven ons, niet?”

37

Page 47: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

38

Page 48: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

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 redeneerpatronen vonden die te maken hebben met de manier waarop wij in natuurlijke taal objecten beschrijven, en hun eigenschappen en relaties. Dan gaan andere uitdruk-kingen een sleutelrol spelen dan connectieven als “niet” of “en”, met name de kwantoren “alle” en “sommige”. Maar net als in hoofdstuk 2 komt deze noodzaak tot uitbreiding het scherpst naar voren als we kijken naar wis-kundig redeneren, en dus beginnen we ook weer daar om te zien wat voor rijker logisch systeem we nu nodig hebben.

In de wiskunde doen we graag algemene uitspraken over objecten uit een oneindige verzameling en van de logica verlangen we dat we deze uitspra-ken heel precies kunnen weergeven, en er de juiste gevolgen uit af kunnen leiden. De propositielogica is hiervoor niet altijd geschikt. Bijvoorbeeld de uitspraak:

‘elk even getal groter dan 2 is de som van twee priemgetallen’ (het zoge-naamde vermoeden van Goldbach)

kan niet goed worden weergegeven in propositielogica. Wat bedoelen we hier met ‘goed weergeven’? Om dat te zien, doen we een klein ‘gedachte-experiment’: stel dat we wel een geschikte formule uit de propositielogica hadden, hoe zou die er uit moeten zien? Aangezien er in de uitspraak geen voegwoorden te onderscheiden zijn, zouden we de uitspraak als een propositieletter moeten weergeven, zeg door ‘p’. Beschouw nu de uitspraak:

‘1998 is de som van twee priemgetallen’

Dit volgt uit het vermoeden van Goldbach, dat wil zeggen, als het vermoe-den van Goldbach juist is, dan is 1998 inderdaad te schrijven als de som van twee priemgetallen. Maar ‘1998 is de som van twee priemgetallen’ is een andere uitspraak dan het vermoeden van Goldbach. Er zit niets anders op dan hiervoor een andere propositieletter te kiezen, zeg q. Maar dan doet zich het probleem voor dat p ⇒/ q, dat wil zeggen: q is geen logisch gevolg van p, want p kan waar zijn terwijl q onwaar is. Het antwoord op de vraag of q een logisch gevolg is van p, staat namelijk los van de relatie tussen de

39

Page 49: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

uitspraken waar p en q vertalingen van zouden moeten zijn: de symbolen p en q zijn bij wijze van spreken ‘losgeweekt’ van de getaltheoretische con-text. De conclusie is dus dat p geen goede weergave is van het vermoeden van Goldbach, en eigenlijk lag dat ook wel voor de hand: de interne structuur van de uitspraak is niet in de formule p terug te vinden.

Een andere poging om ‘Goldbach’ in propositielogica weer te geven is: laat pi staan voor ‘i is de som van twee priemgetallen’. Dan zouden we het vermoeden van Goldbach door een oneindig lange conjunctie kunnen weergeven: p4 ∧ p6 ∧ p8 ∧ p10 ∧ .... Dit zou inderdaad p1998 tot gevolg hebben. Maar een oneindig lange conjunctie is geen ‘formule’ volgens definitie 2.1 van de taal van de propositielogica. We kunnen namelijk eenvoudig inzien dat iedere formule een eindig aantal symbolen bevat. Lange conjuncties mag, maar oneindige niet. Dus ook deze weg loopt in eerste instantie dood.

Het systeem van de predikaatlogica, waarmee we in de komende hoofd-stukken kennismaken, heeft een veel grotere uitdrukkingskracht dan de propositielogica, waar ze een verfijning en uitbreiding van is. Het vermoe-den van Goldbach en zijn gevolgen kunnen we in predikaatlogica wél goed weergeven. We maken eerst kennis met de taal van de predikaatlogica en met een methode om situaties aan te geven waarin een predikaatlogische formule waar is. In het volgende hoofdstuk kijken we naar het interpre-teren van predikaatlogische formules, naar predikaatlogisch gevolg, en naar toepassingen van de predikaatlogica in de informatica.

4.1 Bouwstenen van de predikaatlogica

In de propositielogica konden we een eenvoudige uitspraak als ‘Judith schaakt’ alleen maar weergeven door een propositieletter. In de predi-kaatlogica kunnen we de interne structuur van zulke uitspraken zichtbaar maken.

VOORBEELD 4.1 ‘Judith schaakt’ wordt in predikaatlogica weergegeven als S(j). Hierin staat S voor de eigenschap ‘schaken’ die toekomt aan het object ‘Judith’, dat met j is aangeduid (‘object’ wordt hier in algemene zin gebruikt: daaronder vallen ook menselijke individuen). De eigenschap staat voorop, het object er tussen haakjes achter. ◊

De predikaatlogica bevat uitdrukkingen die predikaten (dat wil zeggen: eigenschappen van objecten en relaties tussen objecten) aangeven: dat noemen we predikaatsymbolen. Daarnaast zien we namen voor objecten: de constanten. In het voorbeeld is S dus een predikaatsymbool en j een con-stante. Voor predikaatsymbolen gebruiken we hoofdletters A, ..., Z of spe-ciale symbolen zoals ‘=’. Voor constanten worden kleine letters a, ..., t en ook wel getallen gebruikt. De letters u, ..., z gebruiken we als variabelen.

40

Page 50: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 4 Predikaatlogica, modellen en programma’s

We kiezen over het algemeen letters die makkelijk te onthouden zijn, bij-voorbeeld de beginletter van het met het predikaatsymbool overeenkom-stige woord. Maar logisch gezien is er geen enkel verband tussen een letter en de daarmee bedoelde eigenschap (en eigenlijk is dit evenmin zo als we getallen gebruiken als constante symbolen), dus dit verband moeten we expliciet aangeven door middel van een zogeheten vertaalsleutel.

VOORBEELD 4.2 De uitspraken:– Marie is wiskundige– 5 is een priemgetalkunnen in predikaatlogica worden weergegeven door respectievelijk:– W(m) – P(5) Daarbij is gebruik gemaakt van de volgende vertaalsleutel:– m: Marie– 5: het getal vijf– W: is wiskundige– P: is een priemgetalIn het vervolg laten we het vermelden van de vertaalsleutel vaak achter-wege wanneer deze erg voor de hand ligt. De predikaatsymbolen in dit voorbeeld zijn dus W en P en de constanten zijn m en 5. Ook zullen we meestal zeggen dat we de constante 5 vertalen als het getal 5, als ‘zichzelf’, als het ware; ook al is daar formeel een verschil tussen. ◊

Ook relaties, zowel in wiskundige als in andere zin, kunnen we logisch aanduiden met predikaatsymbolen. Het volgende voorbeeld laat zien dat we dan ook weer moeiteloos van wiskundige taal op natuurlijke taal kunnen overstappen.

VOORBEELD 4.3 De uitspraken:– Jan houdt van Marie– 5 is groter dan 3kunnen in predikaatlogica worden vertaald als:– H(j, m) – G(5, 3) Merk op dat ook hier de predikaatsymbolen voorop staan, gevolgd door de objecten tussen haakjes en door komma’s gescheiden. De weergave G(5, 3) wijkt echter wel erg van de wiskundige praktijk af. In plaats van G gebrui-ken we dan altijd het symbool ‘>’; en dat wordt gewoon tussen de constan-ten in geschreven, zodat we de volgende bekende notatie gebruiken:– 5 > 3 ◊

Ook andere gangbare relaties zoals gelijkheid ‘=’, kleiner dan ‘<’ en groter dan of gelijk aan ‘≥’, worden door de bekende symbolen weergegeven en tussen de constanten geschreven in plaats van ervoor.

41

Page 51: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Predikaatsymbolen zoals P en W in voorbeeld 4.2 worden door slechts één constante gevolgd: zulke predikaatsymbolen worden éénplaatsig genoemd. De predikaatsymbolen in voorbeeld 4.3 hebben twee constanten bij zich: we noemen deze tweeplaatsig. Eigenschappen worden dus in de regel door 1-plaatsige predikaatsymbolen weergegeven, binaire relaties door 2-plaatsige. Hier houdt het niet mee op: er zijn ook 3-plaatsige, 4-plaatsige en in het algemeen n-plaatsige predikaat-symbolen.

VOORBEELD 4.4 De uitspraken:– 1/2 ligt tussen 0 en 1– Marie geeft Jan ‘De Aanslag’– punt D heeft dezelfde afstand tot P, Q en Rkunnen in predikaatlogica worden weergegeven door:– T(1/2, 0, 1) – G(m, j, a) – A(d, p, q, r) ◊

Naast constanten, die elk een bepaald vast object aanduiden, willen we ook graag over symbolen beschikken die verschillende objecten kunnen aandui-den.

VOORBEELD 4.5 De uitspraken:– x is groter dan 3.– Marie houdt van hem.kunnen worden weergegeven door:– x > 3 – H(m, x) In beide gevallen hangt het van de situatie af wat ‘x’ (of ‘hem’) is. Bijvoor-beeld, als x = 5, dan krijgen we 5 > 3 , maar als x = 10, dan krijgen we 10 > 3.

Variabelen Net als in de wiskunde noemen we x een variabele. De letters y en z, en soms ook u en v, worden eveneens gebruikt als variabele, eventueel verge-zeld van een accent (x’) of een index (x0). Zo’n ‘variabele constante’ x (een naamgeving waar we niet omheen kunnen, ook al lijkt het tegenstrijdig) lijkt dus wat op de propositionele formulevariabelen zoals ϕ en ψ. Er is echter een belangrijk verschil: variabele constanten zoals x gaan echt deel uitmaken van de predikaatlogische taal. Terwijl formulevariabelen niet meer dan ‘plaatsvervangende’ formules zijn, die we later nog kunnen concretiseren om er echte formules van te maken.

In de predikaatlogica hebben we geen propositieletters. Het is wel van belang dat we beschikken over haakjes en connectieven. Met behulp van de connectieven ¬, ∧, ∨, → en ↔ kunnen we nu ook ingewikkelder uitspraken weergeven in predikaatlogica. Dit zou je ook ‘vertalen’ kunnen noemen.

42

Page 52: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 4 Predikaatlogica, modellen en programma’s

VOORBEELD 4.6 De uitspraken:– Jan houdt van Marie, maar Marie niet van Jan– x is groter dan 0 of y is kleiner dan 1– als x groter is dan 3 en een priemgetal is, dan is x onevenkunnen worden vertaald als:– H(j, m) ∧ ¬H(m, j) – x > 0 ∨ y < 1 – (x > 3 ∧ P(x)) → O(x) De laatste uitspraak gaat dus over een specifieke, zij het nog onbekende waarde voor x. Ze wordt ook vaak algemener opgevat, namelijk als: ‘voor elke x geldt, dat als x groter is dan 3 en een priemgetal, dan is x oneven’. Dat bedoelen we hier niet, maar dat kunnen we wel in predikaatlogica uitdruk-ken, en daar vervolgen we nu mee. ◊

Universele Algemene feiten van het soort ‘voor elke x geldt dat als x een priemgetalkwantor groter dan 3 is, dan is x oneven’ zijn heel precies uit te drukken in predi-

kaatlogica. De formule (x > 3 ∧ P(x)) → O(x) voldoet echter niet, want daarin heeft x nog steeds een specifieke (maar een ‘verzwegen’) waarde. Wat we expliciet moeten aangeven, is dat we hier alle mogelijke waarden voor x op het oog hebben. Dit doen we door de zogenaamde kwantor ∀ (spreek uit: ‘voor elke ...’ of ‘voor alle ...’) en de betreffende variabele voor de formule te zetten, resulterend in:

∀x (x > 3 ∧ P(x)) → O(x)

Het symbool ∀ wordt (al dan niet in combinatie met een variabele) de universele kwantor of al-kwantor genoemd.

VOORBEELD 4.7 Om de uitspraak ‘Alle wiskundigen schaken’ in predikaatlogica weer te geven, herschrijven we de uitspraak in vormen die het mogelijk maken de tot nu toe geïntroduceerde begrippen te gebruiken. We gaan daarbij stukje bij beetje te werk. De stukjes die aangepakt worden, zijn steeds onder-streept.

Alle wiskundigen schaken∀x (als x wiskundige is, dan schaakt x )∀x (x is wiskundige → x schaakt)∀x (W(x) → S(x)) ◊

Ook voor meer ingewikkelde gevallen kunnen we deze methode gebrui-ken, maar nog belangrijker is dat je een patroon in de predikaatlogische formules ontdekt. We vervolgen met nog een ander voorbeeld.

VOORBEELD 4.8 De uitspraken:– alle natuurlijke getallen zijn groter dan of gelijk aan 0– elk natuurlijk getal is groter dan elk negatief geheel getal

43

Page 53: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

kunnen worden weergegeven door de volgende formules:– ∀x (N(x) → x ≥ 0) – ∀x (N(x) → ∀y ((Z(y) ∀y < 0) → x > y)) We zien dat de universele kwantor hier in beide gevallen met een impli-catie optreedt. Voor ‘x is een natuurlijk getal’ kunnen we natuurlijk ook x ∈ ¥ schrijven, en voor ‘x is een geheel getal’: x ∈ ¢ . Die meer vertrouwde schrijfwijzen komen op hetzelfde neer. ◊

Het patroon ∀x (... → ...) komt ontzettend vaak voor. Dat is geen toeval, want vaak willen we iets uitdrukken als ‘voor alle dingen die aan een bepaalde eis voldoen, geldt dat ...’. Die eis komt dan links van het impli-catieteken te staan. Dit is geen wet van Meden en Perzen: formules als ∀x W(x) en ∀x ∀y R(x, y) zijn zonder meer correct en kunnen heel zinvolle uitspraken zijn.

Existentiële Een ander type uitspraak is van de vorm ‘Er is een ...’. De predikaatlogicakwantor is daarom uitgerust met een tweede kwantor, de existentiële kwantor.

Daarbij moet ∃x (spreek uit: ‘er is een x ‘) worden opgevat als ‘voor min-stens één x’.

VOORBEELD 4.9 De uitspraken:– Jan houdt van iemand– Marie is groter dan haar vaders vader– 2 is het enige even priemgetalkunnen worden weergegeven door de volgende formules:– ∃x H(j, x) – ∃x (V(x, m) ∧ ∃y (V(y, x) ∧ m > y)) – E(2) ∧ P(2) ∧ ¬∃x (x ≠ 2 ∧ E(x) ∧ P(x)) Informeel gesproken is bij de tweede uitspraak x Maries vader en y Maries opa van vaderskant. Wat we hier niet hebben uitgedrukt, is dat Marie maar één vader heeft, enzovoorts. We kunnen dit wel uitdrukken, namelijk zoals in de derde formule, maar het wordt dan een tamelijk ingewikkelde for-mule. Bij de derde uitspraak moeten we bedenken dat deze neerkomt op ‘2 is een even priemgetal en er zijn geen andere even priemgetallen’. Net als in de propositielogica geldt hier dat er equivalente formules gegeven kunnen worden; zo kunnen we voor de laatste formule ook de vertaling ∀x ((E(x) ∧ P(x)) ↔ x = 2) geven. ◊

Ook in dit voorbeeld zien we een patroon opduiken: de existentiële kwan-tor gaat vaak vergezeld van een conjunctie. En hoewel ook hier geldt dat ∃ best zonder ∧ kan optreden (zoals in ∃x V(x)), zien we inderdaad het patroon ∃x (... ∧ ...) heel regelmatig terugkeren.

Net zoals bepaalde uitspraken vaak universeel worden opgevat, zien we dat andere zoals ‘Marie houdt van hem’ door sommigen eerder existentieel worden opgevat, dat wil zeggen: gelezen worden als ‘er is iemand waar Marie van houdt’. Ook ‘x is groter dan 3 en y is kleiner dan 4’ zal soms

44

Page 54: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 4 Predikaatlogica, modellen en programma’s

existentieel worden gelezen. Toch is het duidelijk dat we dit niet altijd willen: denk bijvoorbeeld aan een probleem dat we aan het oplossen zijn waarbij we de te zoeken grootheden x en y genoemd hebben. We willen dan wel degelijk de waarden van x en y achterhalen, en niet alleen maar beweren dat zulke waarden bestaan.

Zonder overdrijving kunnen we stellen dat het vooral de kwantoren zijn die de predikaatlogica haar uitdrukkingskracht verlenen. We laten de kracht van de predikaatlogica nog even zien aan de hand van het vermoe-den van Goldbach (zie ook het begin van dit hoofdstuk).

VOORBEELD 4.10 Het vermoeden van Goldbach kunnen we weergeven door:

∀x ((E(x) ∧ x > 2) → ∃y ∃z (P(y) ∧ P(z) ∧ S(x, y, z)))

We hebben hier van een nieuw 3-plaatsig predikaatsymbool S gebruik gemaakt, waarbij S(x, y, z) staat voor ‘x is de som van y en z ‘. ◊

Dit voorbeeld illustreert dat we in predikaatlogica inderdaad aardig wat wiskunde kunnen weergeven. Goldbach’s vermoeden is een openstaand probleem uit de getaltheorie, en we zouden kunnen denken dat we mis-schien met logica kunnen uitzoeken of het vermoeden waar is of niet. Wie dat denkt, komt bedrogen uit. De formule geeft weliswaar de globale logische structuur van het vermoeden weer, maar de predikaatsymbolen die erin voorkomen, hebben nog geen specifieke eigenschappen: voor de logica zou E net zo goed kunnen staan voor ‘een getal zijn dat met het cijfer 1 begint’.

VOORBEELD 4.11 De uitspraak ‘Ze kwam binnen en deed het licht uit’ kan niet goed door propositielogica worden weergegeven. Een conjunctie p ∧ q doet geen recht aan de tijdsordening. Het betekent namelijk iets anders dan, andersom, ‘Ze deed het licht uit en kwam binnen’. Om dezelfde reden doet ook een verta-ling in predikaatlogica als B(x) ∧ L(x) er geen recht aan. Het effect van de tijdsordening kunnen we verwerken door B en L tweeplaatsig te maken, B(x, y) te laten betekenen ‘x komt binnen op tijdstip y’, en L(x’, y’) te laten betekenen ‘x’ doet het licht uit op tijdstip y’’. Voor het gemak gebruiken we de variabelen t0, t1 en t2. Laat < een ordening op tijdstippen zijn. De uit-spraak ‘Ze kwam binnen en deed het licht uit’ is dan te vertalen als:

∃t1 ∃t2 (t1 < t2 ∧ t2 < t0 ∧ B(x, t1) ∧ L(x, t2))

Hierbij geeft de variabele t0 het ‘nu’ van de uitspraak weer. ◊

45

Page 55: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

4.2 Formules van de predikaatlogica

Net als bij de propositielogica, kunnen we nu alle eerdere notaties samen-voegen tot een welgedefinieerde formele taal. We bespreken hier enkele belangrijke aspecten van de ‘grammatica’ van dit systeem, die een aantal interessante verschijnselen vertoont.

Zowel variabelen als constanten noemen we termen. Daar valt nog meer onder, zoals ‘1 + 1’ in 1 + 1 = 2 en zowel ‘f(x)’ als ‘x2’ in f(x) = x2, maar daar-aan gaan we grotendeels voorbij. We hebben nu alles in gereedheid om een inductieve definitie te geven van predikaatlogische formules.

VOORBEELD 4.12 Deze definitie ligt voor de hand als we kijken naar de opbouw van een uitdrukking als ¬∃x (P(x) ∧ ∀y (P(y) → y ≤ x)):

P(x), P(y), y ≤ x P(y) → y ≤ x ∀y (P(y) → y ≤ x) P(x) ∧ ∀y (P(y) → y ≤ x) ∃x (P(x) ∧ ∀y (P(y) → y ≤ x)) ¬∃x (P(x) ∧ ∀y (P(y) → y ≤ x))

Met de predikaatsymbolen P en ≤ en de variabelen x en y maken we eerst de eenvoudige formules van de eerste regel. Vervolgens kunnen we die formules combineren met connectieven en kwantoren, zodat we ten slotte op de beoogde formule uitkomen. ◊

DEFINITIE 4.1 De formules van de predikaatlogica worden als volgt gedefinieerd:– Als P een n-plaatsig predikaatsymbool is en t1, ..., tn zijn termen, dan is P(t1, ..., tn) een formule.– Als ϕ een formule is, dan is ¬ϕ een formule.– Als ϕ en ψ formules zijn, dan zijn (ϕ ∧ ψ) , (ϕ ∨ ψ) , (ϕ → ψ) en (ϕ ↔ ψ) formules.– Als ϕ een formule is en v een variabele, dan zijn ∀v ϕ en ∃v ϕ formules– Er zijn geen andere formules.

De basisstap van deze definitie, die predikaatsymbolen combineert met termen, levert zogenaamde atomaire formules. E(3) en x < y zijn voorbeelden van atomaire formules. Atomaire formules zijn enigszins vergelijkbaar met de propositieletters uit de propositielogica: ze zijn de kleinste predikaat-logische formules. Net als in de natuurkunde kunnen we deze ‘atomen’ wel verder splitsen, alleen hebben we dan geen atomen meer maar termen en predikaatsymbolen. Een aantal gangbare predikaatsymbolen schrijven we zoals gezegd niet ‘voorop’, maar ‘middenin’. Een speciaal geval hiervan is

46

Page 56: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 4 Predikaatlogica, modellen en programma’s

het identiteitsteken ‘=’. Voor elk paar termen t en t’ is dus t = t’ een formule. Verder zullen we ook symbolen als < en ≥ blijven gebruiken.

De formules die we met de overige stappen kunnen maken, zijn samen-gestelde formules. Aan de stappen voor de connectieven zien we duidelijk dat de predikaatlogica een uitbreiding is van de propositielogica. Merk ook nog op dat de stap voor de kwantoren geen enkele beperking stelt op de formule ϕ: ∀x P(3) is een goede formule, ook al komt x niet in P(3) voor.

VOORBEELD 4.13 Termen en functiesIn voorbeeld 4.10 hebben we het predikaatsymbool S gebruikt waar we eerder het teken ‘+’ verwacht hadden. In de rekenkunde combineert ‘+’ twee getallen tot een nieuw getal, maar we hebben hier nog geen manier aangegeven om twee constanten of variabelen op een dergelijke manier te verbinden. Bijvoorbeeld P(x, y) drukt een relatie tussen x en y uit, en geen bewerking op x en y. Om bewerkingen als optellen direct in predikaatlogica weer te geven, kunnen we ook ‘+’ in de logische taal opnemen; ‘+’ heet dan een functiesymbool. Net als bij de predikaatsymbolen kennen we een-plaatsige, tweeplaatsige, en in het algemeen n-plaatsige functiesymbolen. Het symbool ‘+’ is een tweeplaatsig functiesymbool, en 2 zijn een-plaatsige functiesymbolen.

‘Marie is groter dan haar vaders vader’ uit voorbeeld 4.9 kunnen we ook weergeven als m > f(f(m)), met f voor: ‘de vader van’.

Het vermoeden van Goldbach kunnen we ook weergeven door:

∀x ((E(x) ∧ x > 2) → ∃y ∃z (P(y) ∧ P(z) ∧ x = y + z))

Merk op dat als we in de logica 1 + 1 schrijven, dit niet gelijk is aan 2: het eerste is een rijtje van drie symbolen, en het laatste bestaat uit slechts een enkel symbool. Het gaat er vooralsnog niet om hoe we dit soort rijtjes sym-bolen interpreteren. Ook uitdrukkingen als y + z, f(f(m)), en 24 heten in de predikaatlogische taal termen, en anders dan variabelen en constanten zijn het samengestelde termen. We kunnen de taal van de predikaatlogica eenvoudig hiermee uitbreiden, maar in het vervolg gebruiken we termen alleen informeel. ◊

Hiermee is de taal van de predikaatlogica voldoende omschreven. Net als voor de propositielogica bestaan ook voor de predikaatlogica de begrippen ‘deelformule’ en ‘bereik’. Een formule is een deelformule van een formule als die bij de opbouw van die formule gebruikt is; elke formule is tevens een deelformule van zichzelf. In de definitie van predikaatlogische formule zijn de ϕ’s en ψ’s in de diverse stappen dus steeds deelformules. Het bereik van een kwantor is, net als bij de connectieven, het deel van de formule waarop het betrekking heeft.

47

Page 57: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

VOORBEELD 4.14 De deelformules van ¬∃x (P(x) ∧ ∀y (P(y) → y ≤ x)) zijn: – ¬∃x (P(x) ∧ ∀y (P(y) → y ≤ x))– ∃x (P(x) ∧ ∀y (P(y) → y ≤ x))– (P(x) ∧ ∀y (P(y) → y ≤ x))– P(x)– ∀y (P(y) → y ≤ x)– P(y) → y ≤ x– P(y)– y ≤ xMerk op dat, bijvoorbeeld, P(y) geen deelformules heeft: y is wel een deel van P(y), maar dit is een term waarmee het predikaat P(y) is opgebouwd. ◊

VOORBEELD 4.15 Het bereik van de kwantor ∀x is onderstreept:∀x ( P ( x ) → ∃ y R ( x , y )) ∀x P ( x ) → ∃y R(z, y) ◊

Vrije en gebonden In een formule als ∀x x2 > y spelen de variabelen x en y een totaal verschil-variabelen lende rol. De formule drukt uit dat alle kwadraten groter zijn dan een

bepaalde waarde y. Die waarde van y mogen we (als er verder geen beperkingen zijn) vrij kiezen; x daarentegen heeft hier geen specifieke waarde: het moet gewoon voor alle getallen zo zijn.

Een variabele v die in een formule voorkomt, is vrij als deze niet binnen het bereik van ∀v of ∃v ligt. Een variabele die niet vrij is, heet gebonden. Dus in de formule ∀x x2 > y is y vrij en x gebonden.

Meerdere Bij veel formules komt een kwantor binnen het bereik van een anderekwantoren kwantor voor. In welke volgorde dat gebeurt, kan veel uitmaken voor de

betekenis van de formule.

VOORBEELD 4.16 Een manier om uit te drukken dat er geen grootste priemgetal bestaat, is

∀x (P(x) → ∃y (P(y) ∧ y > x))

en de uitspraak dat er wel een kleinste priemgetal bestaat, kan worden uitgedrukt door

∃y (P(y) ∧ ∀x (P(x) → x ≥ y)) ◊

VOORBEELD 4.17 De formule ∃x ∀y x < y drukt uit dat er minstens één x is die kleiner is dan iedere y; x hangt hier dus niet van y af, maar y wel van x. Daarentegen drukt ∀y ∃x x < y uit dat er voor alle y een x te vinden is die kleiner is dan y. Hier hangt x dus juist wel van y af. In natuurlijke taal is soms onduidelijk welke van beide bedoeld wordt, en dat kan een groot verschil uitmaken. Een standaardvoorbeeld in de logische literatuur is ‘every man loves a

48

Page 58: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 4 Predikaatlogica, modellen en programma’s

woman’ (inderdaad, bijna alle logici uit de 20ste eeuw zijn mannen). Dit kan zowel betekenen dat, gegeven een man, er een vrouw is waar die man van houdt; maar het kan ook betekenen dat er een unieke vrouw is waar alle mannen van houden. En daarvoor is het typische voorbeeld in de jaren 1950: Marilyn Monroe. Dit klinkt allemaal wel oubollig maar pas deze analyse nu maar eens toe op ‘Ieder kind wil een spelcomputer voor Sinter-klaas’, ‘Iedereen kan premier van Nederland worden’, of ‘Iedere student wil een diploma’. ◊

De predikaatlogische taal is al zoveel sterker dan de propositielogische taal dat het voor veel doeleinden in wiskunde en informatica volstaat. In het volgende hoofdstuk zullen we hiervan verschillende voorbeelden laten zien.

Nogmaals Leerboeken spreken vaak van ‘vertalen’ van natuurlijke taal in predikaat-formele taal en logica, alsof de logische taal een soort concurrent van de gewone zou zijn.natuurlijke taal Dit is echter in het geheel niet de bedoeling van het instrumentarium dat

hier is ontwikkeld. Predikaatlogische formules geven een deel van de logische structuur van gewone taal weer, maar zeker niet alles. Ze fungeren eerder als een aangescherpt ‘model’ van wat een bewering informatief zegt, of, zoals de Amsterdamse logicus Frank Veltman het soms uitdrukt, een ‘cartoon’. Wel is waar dat, zo bezien, een rijker systeem als predikaatlogica een veel rijkere vergelijking mogelijk maakt tussen logische theorie en de feitelijke praktijk van menselijk taalgebruik en redeneren.

Samenvatting

De taal van de predikaatlogica kan spreken over objecten, hun eigenschap-pen, en hun onderlinge relaties. Ze heeft de volgende grammatica, die al veel interessanter is dan die van de propositielogica, en die invloed heeft op de syntaxis van natuurlijke talen en programmeertalen. Formules zijn opgebouwd uit predikaatsymbolen (zoals P, Q, ..., = , < ), haakjes, variabelen en constanten (en complexer termen die we grotendeels buiten beschouwing laten), connectieven en kwantoren. Er zijn twee (soor-ten) kwantoren in de predikaatlogica: kwantor uitspraak naam

∀ voor elke universele kwantor ∃ er is een existentiële kwantor

Als ϕ een formule is, dan zijn ∀x ϕ en ∃x ϕ eveneens formules. Het bereik van een kwantor bestaat uit die deelformule waarmee die kwantor combi-neert tot een formule. Een variabele x komt vrij voor in een formule als die

49

Page 59: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

niet binnen het bereik van een kwantor ∀x of ∃x ligt. Een variabele die niet vrij is, is gebonden.De volle kracht van de predikaatlogica wordt pas ontketend als we kwantoren herhalen, met patronen zoals “voor alle ... er is een...”.

Opgaven

OPGAVE 4.1 Welke van de volgende uitdrukkingen zijn formules en welke niet? Indien niet een formule, geef dan aan waarom. Indien het wel een formule is, geef aan wat de formule uitdrukt.– ∃x ∀y x = y – ∀x x ≥ y → ∃z y = z – ∀x ∧ ∃z R(x, z) – ∀x x ∧ ∃z z > y – ∀x ∀y ∃z (x > y ∨ y > z)

OPGAVE 4.2 Gegeven is een verzameling V waarop een kleiner-of-gelijk-relatie ≤ is gedefinieerd. Geef de volgende uitspraken weer in predikaatlogische formules met als predikaatsymbolen alleen V en ≤.– Er is een kleinste element in V. – Er is geen grootste element in V.– Er is een maximaal element in V (dat wil zeggen: een element dat niet kleiner is dan enig ander element).

OPGAVE 4.3 Geef in de volgende formules het bereik aan van ∀y, en geef aan welke va-riabelen vrij en gebonden zijn. (Uitdrukkingen als y + z en y + x zijn zoals gezegd eveneens termen, maar anders dan constanten en variabelen samen-gestelde termen.)– ∀x ∀y ∃z y + z = x – ∀y ∃z y + z = x – ∀y ∃z y < z ∧ y > x – P(y) → ∀y ∃z y < z

50

Page 60: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

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 omstandig-heden 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 predikaat-logische 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 infor-matief 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.

51

Page 61: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

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 waarheidsta-bellen van de connectieven nog steeds een rol spelen, kunnen we de waar-heidswaarden 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 waar-heidswaarden van de deelformules. Wel kunnen we situaties aangeven waarin formules waar zijn. We illustreren dit aan de hand van een een-voudig 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 aange-duide 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 kun-nen 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 propo-sitielogica 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 propositie-logica. 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 for-mules 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

52

Page 62: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 5 Predikaatlogica en informatica

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 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 predikaat- en 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.

Waarheid in een Een atomaire formule zoals R(a,b) is waar in een model als, gegeven de predikaatlogisch vertaalsleutel voor a, b en R, de met R in het model corresponderende model 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.

VOORBEELD 5.2 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 linker-object 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 zich-zelf 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.

53

Page 63: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

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) on-waar 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 toe-kennen, 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 inter-pretatie 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.

54

Page 64: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 5 Predikaatlogica en informatica

– ∀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 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 for-mule, 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 pro-positielogica: een formule is vervulbaar als ze een model heeft.

VOORBEELD 5.5 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.

55

Page 65: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Vat in dit model het predikaatsymbool P op als de verzameling priem-getallen {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 vermoe-den 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 uitdrukkin-gen 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, bijvoor-beeld, alle vier de volgende formuleringen precies hetzelfde uitdrukken, namelijk dat er geen grootste priemgetal is (zie het voorbeeld aan het begin 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:

56

Page 66: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 5 Predikaatlogica en informatica

∀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 verande-ringen te beschrijven, zowel informatieveranderingen (die in het volgende hoofdstuk aan bod komen) als feitelijke veranderingen in de wereld (waar-bij de waardering van atomaire beweringen telkens verschuift). Een mooi en belangrijk voorbeeld daarvan zijn rekenprocessen, waarbij geheugen-toestanden van een computer stapsgewijs veranderen door het uitvoeren van opeenvolgende instructies van een programmeur. Tijdens de uitvoe-ring 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 computer-programma 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} ◊

57

Page 67: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Correctheids- Dit heet een correctheidsbewering; de stukken tussen de accolades wordenbewering 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 pro-gramma 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.

VOORBEELD 5.9 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 whisky-glas, 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 hulpvariabele handig. begin

z := x;

x := y;

y := z

einde

Het uiteindelijke effect van dit programmaatje kan nu als volgt gespecificeerd worden: {x = a, y = b}

begin

z := x;

x := y;

y := z

einde

{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

58

Page 68: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 5 Predikaatlogica en informatica

waarden a en b hebben, dan zijn die waarden achteraf inderdaad omgewis-seld. 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 in-zien. Om ruimte te besparen, schrijven we het effect van een programma-regel steeds achter de opdracht: {x = a, y = b}

begin

z := x; {x = a, y = b, z = a}

x := y; {x = b, y = b, z = a}

y := z {x = b, y = a, z = a}

einde

{x = b, y = a}

VOORBEELD 5.11 Het volgende programma heeft niet hetzelfde omwisseleffect als dat van voorbeeld 5.10. begin

x := y;

y := x

einde

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 correct-heidsbewering: {x = a, y = b}

begin

x := y; {x = b, y = b}

y := x {x = b, y = b}

einde

{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:

59

Page 69: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

begin

x := x + y;

y := x - y;

x := x - y

einde

Stel x = 3 en y = 5. Eerst tellen we y bij x op: 3 + 5 = 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 pro-gramma te kunnen bewijzen. In deze methode leiden we correctheids-beweringen van hele programma’s af door de correctheidsbeweringen van opvolgende opdrachten aan elkaar te koppelen, zoals we bij de voorbeel-den hiervoor al informeel hebben gedaan.

Predikaatlogica en Tijdens de uitvoering van een computerprogramma speelt dus ten eersteprogramma- een rol welke beweringen over de toekenning van waarden aan variabelencorrectheid 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 programmaverwer-king 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.

60

Page 70: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 5 Predikaatlogica en informatica

Samenvatting

Voor het bepalen van de waarheidswaarde van een formule spelen in de predikaatlogica modellen dezelfde rol als waarderingen in de propositie-logica. 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 waar-aan 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.

Opgaven

OPGAVE 5.1 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))

OPGAVE 5.2 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.

61

Page 71: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

OPGAVE 5.3 Geef bij het volgende programma de specificaties die gelden na iedere op-dracht. Wat is de specificatie die geldt na uitvoering van dit programma en wat is de correctheidsbewering? {x = a, y = b, z = c}

begin

u := x;

x := y;

y := z;

z := u

einde

OPGAVE 5.4 Bewijs de correctheid van het volgende omwisselprogramma uit voorbeeld

5.12. {x = a, y = b}

begin

x := x + y;

y := x - y;

x := x - y

einde

{x = b, y = a}

62

Page 72: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

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. De hande-lende persoon zelf bleef daarbij grotendeels buiten zicht. Maar de laatste decennia is zich een wending aan het voltrekken waarbij informatieverwer-kende processen en de daarbij betrokken actoren zelf tot onderwerp van logische theorie worden. De oorsprong van deze wending ligt deels in de filosofie, in de studie van kennis en rationeel handelen, deels ook in de informatica en kunstmatige intelligentie, waar ‘computers’ langzamerhand minder belangrijk zijn dan netwerken van ‘agents’ die samenwerken en allerlei intelligent gedrag vertonen. Dit hangt ook nog eens samen met een stroming in de cognitiewetenschap. Traditioneel wordt gedacht dat het ‘rationele’ of ‘intelligente’ van mensen schuilt in hun vermogens tot rede-neren, of andere vermogens die men in isolement kan uitoefenen. Maar het lijkt er steeds meer op dat het wezenlijk biologisch onderscheidende ken-merk van menselijke intelligentie ons vermogen is tot coördinatie en interactie met anderen, of dat nu samenwerking of tegenwerking betreft. Zelfs in de wiskunde zijn de ‘piekmomenten’ argumentatie en discussie tijdens een research seminar. Intelligente interactie is bepaald geen eenvoudig verschijnsel, en vele aspec-ten ervan zijn dan ook nog heel slecht begrepen. Niettemin zullen we in de volgende hoofdstukken laten zien hoe de logica heel goed in staat is een bijdrage te leveren aan de analyse van bredere scenario’s met complexe ‘meetings of the minds’.

Een correcte redenering als ‘uit p en p → q volgt q’ lezen we als ‘als p waar is en als p → q waar is, dan is q ook waar’. Maar ‘waar’ voor wie? Er moet toch een denkende persoon achter zitten die deze redenering als het ware in zijn hoofd maakt. We kunnen het dus ook lezen als ‘als ik p weet is en als ik p → q weet, dan weet ik ook q’. En als u p niet weet, maar alleen p → q weet, dan kunt u niet die conclusie q trekken - maar ik dus wel. Veel logische processen betreffen meer dan een persoon; zelfs redeneren doe je vaak in gezelschap, en dan heet het argumentatie. We kunnen dan over elkaars kennis gaan redeneren, bijvoorbeeld wanneer ik u vertel ‘U weet niet dat ik in Nieuw-Zeeland woon!’ En na u dit verteld te hebben, weet u het wel. Is dat niet paradoxaal?

Dit hoofdstuk gaat over de logica van kennis, inclusief kennisverandering als gevolg van communicatieve handelingen zoals het ‘vertellen’ waarvan hiervoor sprake was. Het belangrijke verschil met de voorgaande systemen

63

Page 73: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

is dat we deze kennis ook in de logische taal uit moeten gaan drukken. Dit kan in de modale kennislogica. Vanwege het aspect van het redeneren over de kennis van anderen is dit een heel belangrijke generalisatie van de logi-sche systemen die we totnutoe gezien hebben. Een van de thema’s die we in dit hoofdstuk zullen zien terugkomen, is hoe achtereenvolgende infor-matieverwerkende stappen steeds opnieuw de logische specificatie van een systeem kunnen inperken of zelfs veranderen.

De personen waarvan we de kennis beschrijven noemen we actoren (in het Engels: agent). Bij actoren kan men zich personen maar ook processoren voorstellen. Met kennislogica kan men zogenaamde multi-actorsystemen (‘multi-agent systems’) specificeren. Een multi-actorsysteem is een aantal communicerende computer- of informatiesystemen die - om het even netjes te zeggen - doelgerichte en autonome interactie hebben met elkaar en met een welgedefinieerde omgeving. Daarin spelen kennis en geloof van de actoren een grote rol, noties die meer filosofisch dan wiskundig klinken, maar die heel goed logisch zijn te beschrijven.

VOORBEELD 6.1 Een multi-actorsysteem voor voetbal bestaat uit 22 ‘actoren’ (spelers). Een voetballer kan alleen spelers in zijn gezichtsveld waarnemen. Speler a neemt aan dat speler b, een tegenstander, zich achter hem bevindt, omdat dit in de vorige toestand van het spel het geval was, voordat a de bal toe-gespeeld kreeg. Dit is een redelijke aanname, waarvan a weet dat deze onwaar kan zijn geworden. In werkelijkheid bleek b zich inmiddels elders op het veld te bevinden, buiten a’s gezichtsveld. De spelsituatie waarin b achter a is, is voor a niet te onderscheiden van de situatie waarin b niet achter hem is. Speler a ziet speler c - uit zijn eigen team - voor zich, en speelt c de bal toe om te verhinderen dat b de bal neemt. Wat blijkt: de toegespeelde speler krijgt de bal wel, alleen was het niet c maar d - gelukkig van hetzelfde team: a geloofde dat het c was, maar moet nu zijn kennis herzien. In een ander scenario mist speler c de bal, omdat a en c geen oog-contact hadden tijdens het schot van a: ze hadden geen gemeenschappelijke kennis van de situatie die tot dit schot leidde. ◊

De studie van multi-actorsystemen is een snel groeiend vakgebied op zich. De kennislogica waarmee we de kennis van dergelijke actoren kunnen spe-cificeren presenteren we in dit hoofdstuk.

6.1 Taal en betekenis van de kennislogica

Logica en communicatie is vaak heel concreet te bestuderen in situaties die we allemaal goed kennen, zoals kaartspelletjes waarbij onze informatie gaandeweg verandert.

64

Page 74: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 6 Kennis en communicatie

VOORBEELD 6.2 U houdt drie kaarten in handen. De kaarten zijn rood, wit, en blauw. Nu draait u ze om. De achterkanten zijn, zoals bij speelkaarten te doen gebrui-kelijk, niet van elkaar te onderscheiden. U schudt de kaarten, en trekt een kaart. Dit is de rode kaart. Van de andere twee kaarten legt u er één links voor u op tafel, en de andere kaart rechts voor u. Welke van de twee is nu de witte kaart, en welke de blauwe? Laat p staan voor de propositie ‘de linkerkaart is de witte kaart’. Dan zijn er twee mogelijkheden: p is waar, of p is onwaar. In het laatste geval is de kaart links voor u de blauwe kaart, en de rechterkaart de witte kaart. U kunt deze twee situaties niet van elkaar onderscheiden, ook al (wat u niet weet) is de werkelijke situatie dat de linkerkaart wit is. ◊

Een mogelijke situatie kunnen we identificeren met een propositielogische waardering. Er zijn dus twee mogelijke situaties. Als p waar is hebben we de waardering w zodat w(p) = 1 en als p onwaar is hebben we de waarde-ring w’ zodat w’(p) = 0. Voordat u onder de kaarten op tafel gekeken hebt, kan het dus zo zijn dat de linkerkaart wit is, maar dat u het toch voor voor-stelbaar houdt dat deze blauw is. Met andere woorden: u vindt dat best mogelijk. De uitspraak ‘het is mogelijk dat de linkerkaart op tafel blauw is’, heeft als bijzondere eigenschap dat ze waar is onafhankelijk van de waar-heid van ‘de linkerkaart op tafel is blauw’; of anders gezegd, de waarheid ervan is geen functie van de waarheid van de bewering ‘de linkerkaart op tafel is blauw’. ‘Het is mogelijk dat’ is dus niet een propositioneel connec-tief zoals ‘en’, ‘of’, en ‘als, ..., dan’. Voor die connectieven geldt immers dat we weten of de hele bewering waar is, wanneer we weten of de subformu-les die door het connectief verbonden worden waar zijn. Voor propositielo-gische connectieven is er een waarheidsfunctie. De logica waarin we ‘het is mogelijk dat’ expliciet in de taal modelleren, is een zogenaamde modale logica, en ‘het is mogelijk dat’ noemen we een modaliteit of modale operator.

Er zijn meerdere modale logica’s. Wij presenteren de zogenaamde kennis-logica of epistemische logica. In al die modale logica’s speelt het een essentiële rol dat gegeven de werkelijke situatie meerdere situaties mogelijk kunnen zijn. Die mogelijke situaties noemen we ook wel voorstelbaar.

Voorstelbaar We kunnen de onzekerheid over de werkelijke situatie in voorbeeld 6.2 weergeven als een binaire relatie tussen situaties. De werkelijke situatie is w. Vanuit die situatie kunt u zich voorstellen dat w’ de situatie is. ‘Gegeven w, is w’ voorstelbaar’ kunnen we zien als ‘het paar (w, w’) is in de relatie R’, waarbij R een tweeplaatsige relatie is. Deze relatie heet de voorstelbaarheids-relatie. De relatie R bevat nog meer paren van situaties. U sluit immers ook niet uit dat w zelf het geval is. Dus het paar (w, w) zit ook in de relatie R. Evenzo, als w’ het geval was geweest, zijn zowel w als w’ voorstelbaar: (w’, w) en (w’, w’) zitten ook in R.

65

Page 75: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

We kunnen een en ander weergeven op dezelfde manier als in een model voor de predikaatlogica. Alleen zijn de objecten nu waarderingen, en staan ze niet voor individuen of getallen, zoals Jan, Piet, 1, 2 en 3. In een plaatje is het als volgt:

‘Voorstelbaar’ moeten we hier vrij nauw opvatten. Het betekent dus eerder ‘voorstelbaar gegeven mijn beperkte waarneming en onvolledige kennis van de wereld om mij heen’ dan ‘in principe denkbeeldig in mijn fantasie’.

VOORBEELD 6.3 Ik kan me niet voorstellen dat mijn gebrilde gesprekspartner tegenover me geen bril op heeft: ik zie immers dat hij wel een bril draagt. Maar van de mij onbekende binnenkomer die achter mij met een luide roep “Hi, mate” het café binnenwandelt, kan ik me zowel voorstellen dat zij een bril draagt, als dat zij geen bril draagt. ◊

Onzekerheid over de feitelijke situatie beschrijven we vaak met beweringen waarin ‘weten’ of ‘niet weten’ gebruikt wordt: ‘ik weet niet of de witte kaart links of rechts ligt’, ‘ik weet dat een van beide kaarten voor me wit is’, en ‘ik weet niet of de binnenkomer een bril draagt’. Deze modaliteit gaan we nu in logische taal weergeven. Voor ‘ik weet dat ϕ’ schrijven we Kϕ. De letter K komt van het Engelse ‘Know’. We kunnen deze logische operatie weer in combinatie met de reeds bekende propositionele connectieven gebruiken. Bijvoorbeeld ¬Kϕ voor ‘het is niet zo dat ik ϕ weet’, dat wil zeggen, ‘ik weet niet dat ϕ’. Ten slotte staat ¬K¬ϕ voor ‘ik weet niet dat ϕ niet zo is’ waarvoor we meestal zeggen ‘ik houd voor mogelijk dat ϕ’ of ‘ik kan me voorstellen dat ϕ’. Een zin als ‘ik weet niet of de binnenkomer een bril draagt’ is eigenlijk een afkorting van ‘ik weet niet dat de binnenkomer een bril draagt en ik weet ook niet dat de binnenkomer niet een bril draagt’, dat wil zeggen, als p voor brildragen staat: ¬Kp ∧ ¬K¬p.

DEFINITIE 6.1 Taal en betekenis van de kennislogicaAan de inductieve definitie van de taal van de propositielogica voegen we nog één inductieve clausule toe: als ϕ een formule is, dan is Kϕ dat ook.

Dit definieert de taal van de kennislogica. Deze taal kunnen we interprete-ren op modellen waarvan de afzonderlijke elementen (‘situaties’) voor pro-positielogische waarderingen staan. Tussen deze situaties is een voorstel-baarheidsrelatie gegeven. Een bewering Kϕ is waar in een gegeven situatie als ϕ waar is in alle vanuit de gegeven situatie voorstelbare situaties.

66

Page 76: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 6 Kennis en communicatie

VOORBEELD 6.4 In voorbeeld 6.2 gaven we de bewering ‘de linkerkaart is wit’ weer door p. Neem verder aan dat de linkerkaart ook echt wit is. Stel dat ‘ik’ de actor is. We kunnen nu de volgende beweringen onderschei-den (over de situatie w):– Ik weet dat de linkerkaart wit is: Kp. Dit is onwaar als de werkelijke situatie w is, want ik kan me een situatie w’ voorstellen waarin de linkerkaart blauw is (dus ¬p waar).– Ik weet niet of de linkerkaart wit is: ¬Kp ∧ ¬K¬p. Dit is waar als de werkelijke situatie w is. Ik kan me van daaruit een situatie w’ voorstellen waarin de linkerkaart blauw is, maar ik kan me ook een situ-atie w voorstellen waarin de linkerkaart wit is.– Ik ben me ervan bewust dat ik niet weet of de linkerkaart wit is: K(¬Kp ∧ ¬K¬p).Ook dit is waar in situatie w. Namelijk omdat de door de eerste K-operator gebonden bewering ¬Kp ∧ ¬K¬p waar is in iedere vanuit w voorstelbare situatie, namelijk zowel in w (zie de vorige bewering) als in w’ (en dit gaat net zo ...). ◊

VOORBEELD 6.5 We gaan weer voetballen. Ik heb geen ogen in mijn achterhoofd. Ik denk zeker te weten dat van het andere team Jan achter mij staat. Maar in feite staat Nicolien achter me. Laat ‘Jan staat achter me’ worden gerepresenteerd door de propositie p. Dan kunnen we deze situatie weergeven als volgt:

Propositie p is alleen waar in w’. De werkelijke situatie is w: p is onwaar. De enige voorstelbare situatie is die in w’: er is een pijl van w naar w’, en geen andere pijl vanuit w. Dus ik ‘weet’ dat Jan achter me staat. In dat geval spreken we liever van ‘denken te weten’, of ‘geloven’. Want in werkelijk-heid staat Nicolien achter me. Dit kan ik me echter niet voorstellen. Tevens hebben we een pijl van w’ naar zichzelf in de figuur. Deze is er, omdat ik, ondanks dat mijn kennis dus eigenlijk foutief is, mij bewust ben van wat ik geloof en niet geloof: de bewering KKp is eveneens waar in situatie w. Dit geeft weer dat ik weet dat ik weet dat Jan achter me staat, oftewel, in ter-men die we intuïtief voor zo’n scenario gebruiken, ik ben me ervan bewust dat ik geloof dat Jan achter me staat. Als je iets weet, dan ‘hoort’ het waar te zijn, daarom spreken we hier liever van ‘menen te weten’ of ‘geloven’. ◊

6.2 Kennislogica voor meer dan een actor

We kunnen kennislogica bestuderen voor een enkele persoon. Maar de kracht van dit systeem schuilt er nu juist in dat we ook het samenspel van meerdere personen kunnen beschrijven. En juist dit laatste is essentieel om communicatie te begrijpen. Door u een vraag te stellen geef ik u doorgaans de informatie dat ik het antwoord niet weet. En zelfs, dat ik het u vraag

67

Page 77: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

betekent dat ik denk dat u het antwoord weet: mijn kennis over uw kennis is dus van wezenlijk belang om ons gedrag te regelen. In de cognitiewetenschap heet dit belangrijke verschijnsel ‘theory of mind’, het vermogen je in de informatie van een ander te verplaatsen. Daarbij komen zelfs hogere ‘stapelingen’ voor dan 2, zoals we spoedig zullen zien.

Nu de formele details voor kennis van meerdere actoren. Als we de kennis-operator K indiceren, waarbij Kiϕ betekent: ‘persoon/processor i weet dat ϕ’, kunnen we de eventueel van elkaar verschillende kennis van meerdere actoren beschrijven. Met iedere kennisoperator Ki correspondeert dan een voorstelbaarheids-relatie Ri. Met ‘stapeling’ van verschillende operatoren Ki kunnen we uit-drukken dat processoren kennis over elkaar hebben. Bijvoorbeeld, Ka¬Kbp wil zeggen dat processor a weet dat processor b propositie p (zoals ‘de lokale variabele x heeft waarde 3’) niet weet, terwijl Ka(Kbp ∨ Kb¬p) tot uit-drukking brengt dat a weet of b p weet. Dit soort interactie is van belang in informaticatoepassingen, waar men kennislogica gebruikt om te redeneren over het effect van communicatieprotocollen tussen processoren.

Hoe kan een kennislogisch model voor meerdere actoren er uitzien? Bijvoorbeeld, als processor a toegang heeft tot alle informatie van processor b, komt dit overeen met het axioma Kbϕ → KaKbϕ. Een andere, niet ongebruikelijke situatie is die waarin ieder proces alleen zijn eigen toestand kent (bijvoorbeeld, de waarde van een variabele die in dat proces is opgeslagen of berekend wordt), en dat dit gemeenschappelijke kennis is voor alle processen. Zoiets staat wel bekend als distributief systeem.

VOORBEELD 6.6 Distributieve systemenEr zijn twee processoren a en b. Propositieletter p beschrijft dat de waarde van processor a gelijk aan 1 is, en ¬p dat deze waarde 0 is. Propositieletter q beschrijft de toestand van processor b. Beide processoren kennen alleen hun eigen toestand. Dit komt overeen met het volgende model. Hierin hebben we de situaties namen gegeven die al ‘verraden’ wat daar de waardering is: we schrijven 10 wanneer p waar en q onwaar is, enzovoorts. Als we een verbinding labelen met a of b, bedoelen we dat het begin- en eindpunt van deze pijl in de relatie Ra dan wel Rb zit. In plaats van een pijl van 00 naar 10 en een pijl van 10 naar 00 tekenen we een pijl met twee gepunte uiteinden. In plaats van een a-pijl van 10 naar zichzelf en een b-pijl van 10 naar zich-zelf tekenen we maar een pijl van 10 naar zichzelf, die voor beide staat.

68

Page 78: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 6 Kennis en communicatie

In situatie 11 van het model geldt bijvoorbeeld dat Kap (processor a weet dat zijn toestand 1 is), dat Ka¬Kbp (a weet dat b dat niet weet), en dat ¬Ka¬Kbq (a houdt voor mogelijk dat b weet dat q waar is). Dat de processen a en b hun eigen toestand kennen wordt uitgedrukt door p → Kap en ¬p → Ka¬p, en door q → Kaq en ¬q → Ka¬q. U kunt ook nagaan dat het model het schema ¬Ka¬Kbϕ → Kb¬Ka¬ϕ waar maakt. ◊

VOORBEELD 6.7 KaartverdelingenDrie spelers 1, 2 en 3 trekken elk een kaart uit een pak van drie kaarten rood, wit en blauw. Met rwb geven we de kaartverdeling weer waarbij speler 1 rood heeft, speler 2 wit, en speler 3 blauw, enzovoorts. Er zijn zes mogelijke kaartverdelingen. Dit zijn dus de verschillende mogelijke situ-aties. Spelers kunnen alleen hun eigen kaart inzien. Van de anderen zien ze dat die ook maar één kaart hebben, en ze weten dat dat niet hun eigen kaart kan zijn. De kennis van de spelers is weer te geven in het model hierna. Al-le situaties zijn voorstelbaar als ze werkelijk het geval zijn, voor alle spelers: de reflexieve pijlen hebben we daarom niet weergegeven.

Stel propositieletter r1 staat voor ‘speler 1 heeft de rode kaart’, enzovoorts. In situatie rwb geldt bijvoorbeeld dat K1r1 (speler 1 kent zijn eigen kaart) en dat K1(w2 ∨ b2) (speler 1 weet dat 2 de witte of de blauwe kaart heeft). Overal in het model geldt dat r1 → ¬K3K1(w2 ∨ b2) (als 1 de rode kaart heeft, dan weet 3 niet dat 1 weet dat 2 de witte of de blauwe kaart heeft).

Dit voorbeeld is een generalisatie van het drie-kaartenvoorbeeld in voor-beeld 6.2, waarbij de kenner speler 1 is, de kaart linksvoor op tafel de kaart is die door speler 2 wordt vastgehouden, en de kaart rechtsvoor door speler 3 wordt vastgehouden. De tafel kan niet denken, maar de spelers wel! De propositie p die in dat voorbeeld stond voor ‘de linkerkaart voor mij is wit’ hebben we nu gerepresenteerd als w2. Het bovenste deel rwb ←1→ rbw van de figuur geeft precies de situatie in voorbeeld 6.2 weer. ◊

69

Page 79: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

6.3 Communicatie

In een gegeven situatie waarin we kennis gemodelleerd hebben kan nieuwe informatie binnenkomen, hetzij van buiten af, hetzij door communicatie van de actoren onderling. Een speciale vorm van communicatie is een zo-genaamde publieke bekendmaking. We nemen daarvoor aan dat de nieuwe informatie hardop uitgesproken wordt in aanwezigheid van alle actoren die we in het systeem gemodelleerd hebben, zodat ze het allemaal horen, en van elkaar weten dat ze het allemaal horen, enzovoort. Een ander voorbeeld van een dergelijke gebeurtenis is als we allemaal tegelijk een observatie doen, bijvoorbeeld dat de zon ondergaat boven de Noordzee. Deze nieuwe informatie verwerken we door de gegeven situatie aan te passen. De aanpassing bestaat uit een mechanisme dat we al hebben gezien in hoofdstuk 3 over propositielogica: we verwijderen alle situaties uit het model waarin de verstrekte informatie onwaar is. We spreken ook wel van een ‘update’ van het model. We kunnen verschillende updates ook achtereenvolgens uitvoeren, wat steeds opnieuw weer tot kennisverande-ring kan leiden. Leren gebeurt in vele stappen.

VOORBEELD 6.8 In situatie rwb van het model van voorbeeld 6.7 zegt speler 1: “Ik heb rood.” Dit komt overeen met een update op r1. We beperken het model nu tot de situaties waarin 1 rood heeft. Dit zijn alle situaties in het model waar r1 waar is: rwb en rbw. Het resultaat is als volgt. We tekenen de reflexieve pijlen deze keer wel, voor alle duidelijkheid.

In deze structuur geldt dat zowel 2 als 3 nu weten wat de kaartverdeling is. Er is nu immers geen alternatief meer. Speler 2 heeft de kaartverdeling ge-leerd omdat situatie bwr nu niet meer mogelijk is. Speler 3 heeft de kaart-verdeling geleerd omdat situatie wrb nu niet meer mogelijk is. ◊

Oppervlakkig gezien lijkt ‘publiekelijk zeggen dat ϕ geldt’ nogal veel op ‘waarmaken dat ϕ’. Maar dat is niet zo. Het volgende voorbeeld laat dit zien: een bewering ϕ kan waar zijn, en onwaar worden omdat je zegt dat het waar is. Dit klinkt raar. Het komt omdat je ook dingen mag zeggen over je eigen kennis en die van andere spelers.

VOORBEELD 6.9 In situatie rwb van het model van voorbeeld 6.7 zegt speler 1: “Speler 2 weet niet dat ik rood heb.” Zo’n mededeling is alleen informatief als speler 1 hiermee eigenlijk bedoelt: “Ik heb rood en speler 2 weet dit niet.” Dit is dus een update op r1 ∧ ¬K2r1. Deze bewering is alleen waar in rwb en in rbw. Het resulterende model is dus opnieuw het model hiervoor. Hierna geldt dat speler 2 wel weet dat 1 rood heeft: K2r1.

70

Page 80: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 6 Kennis en communicatie

Na uitvoer van de update geldt dus het tegendeel van de uitgesproken bewering r1 ∧ ¬K2r1, want ¬(r1 ∧ ¬K2r1) is logisch equivalent met ¬r1 ∨ ¬K2r1), en dat volgt uit K2r1. ◊

We zien dus dat informatieoverdracht in communicatie verrassende eigen-schappen heeft. Maar om die systematisch bij te houden dient dan ook juist ons logische systeem. We besluiten met nog een voorbeeld van update tussen meerdere actoren.

VOORBEELD 6.10 Ten slotte het resultaat als in de beginsituatie speler 1 zegt “Ik heb de witte kaart niet.” Deze bewering is waar in de situaties rwb, rbw, brw, en bwr. Het resulterende model is nu:

In dit model geldt dat in situatie rwb speler 3 wél weet wat de kaartverde-ling is, maar dat speler 2 dat nog steeds niet weet. Dit is begrijpelijk, want omdat speler 2 de witte kaart heeft, was de uitspraak van speler 1 voor hem niet zo informatief: dat wist ‘ie al! Maar speler 2 heeft toch iets geleerd, bij-voorbeeld dat speler 3 nu weet wat de kaartverdeling is. ◊

Samenvatting

In de kennislogica beschrijven we de kennis van verschillende actoren of processen over de feiten en over elkaar. De kennislogica is een uitbreiding van de propositielogica. In de logische taal is er nu ook een constructie Kϕ die staat voor ‘de actor weet dat ϕ’, die het mogelijk maakt kennis van verschillende actoren gezamenlijk te beschrijven. De kennislogica wordt geïnterpreteerd op relationele structuren die bestaan uit mogelijke situaties. Iedere situatie wordt gekarakteriseerd door een waardering. Vanuit een gegeven situatie kunnen andere situaties voorstelbaar zijn. De formule Kϕ is waar in een gegeven situatie als ϕ waar is in alle vanuit die situatie voor-stelbare situaties. Met name kan deze logica ook situaties beschrijven met ‘gestapelde kennis’, waarbij verschillende actoren verschillende informatie over elkaar hebben: hetgeen de basis is van succesvolle menselijke commu-nicatie en interactie. We kunnen met dit soort modellen ook informatieve handelingen beschrijven die kennis veranderen, met name bekendmakin-

71

Page 81: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

gen (‘updates’), die alle situaties elimineren waarin de meegedeelde formu-le onwaar is.

Opgaven

OPGAVE 6.1 Geef de volgende beweringen weer in logische taal, en laat zien dat ze in toestand rwb van voorbeeld 6.7 waar zijn. Met ‘kan zich voorstellen’ bedoe-len we ‘weet niet dat niet’.– Speler 1 weet niet dat speler 2 wit heeft.– Speler 1 weet niet of speler 2 wit heeft.– Speler 1 kan zich voorstellen dat speler 3 zich kan voorstellen dat speler 1 niet de rode kaart heeft.

OPGAVE 6.2 Gegeven is het model voor drie spelers 1, 2, en 3 die ieder een van de kaar-ten r, w en b vasthouden.– Bereken dat K1(K2r2 ∨ K2w2 ∨ K2b2) overal geldt (speler 1 weet dat speler 2 zijn eigen kaart kent).– Als bij de kaartverdeling rwb speler 1 zegt dat hij wit niet heeft, dan weet daarna 3 wel maar 2 nog steeds niet dat 1 rood heeft; speler 1 kan zich echter voorstellen dat 2 dat wel weet. Laat door toepassing van definitie 6.1 zien dat in de resulterende structuur (zie voorbeeld 6.10) de volgende for-mules inderdaad allemaal waar zijn: K3r1, ¬K2r1, ¬K1¬K2r1.

OPGAVE 6.3 Er zijn twee actoren a en b, waarvan a een stip op het voorhoofd heeft.Als je een stip op het voorhoofd hebt, kun je dat niet bij jezelf zien maar wel bij anderen. Eerst zegt een buitenstaander: “Ten minste een van jullie is bestipt.” Dan zegt a dat hij weet dat hij bestipt is. Maak een model voor de situatie waaruit dit volgt. De begintoestand bestaat uit vier verschillende situaties, namelijk voor alle combinaties van bestipt en niet bestipt zijn voor de twee actoren.Stel dat in dit geval zowel a als b bestipt zijn. Nadat de buitenstaander zegt: “Ten minste een van jullie is bestipt,” zegt a: “Ik weet niet of ik bestipt ben.” Daarna zegt b dat hij weet dat hij bestipt is. Leg uit waarom de bewe-ringen naar waarheid gemaakt konden worden en bereken de achtereen-volgende updates.

72

Page 82: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

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 met deze informatieve functie is rekenen, en daarom gaan we deze connec-tie in dit hoofdstuk eens wat preciezer aan het licht brengen. Niet alleen omdat het onderwerp praktisch van belang is in de informatietechnologie, maar ook omdat dit samenhangt met diepe vragen over complexiteit van processen van de meest uiteenlopende aard.

Redeneren en rekenen liggen dicht bij elkaar. De twintigste-eeuwse contac-ten tussen logica en informatica gaan terug op een oudere historische traditie van redeneermachines. Zo werken de digitale circuits van een moderne computer in wezen volgens de negentiende-eeuwse propositie-logica van George Boole. Maar naast dit rekenaspect is er nog een tweede kant aan het contact tussen logica en informatica. De logische talen die we gezien hebben geven manieren om diverse soorten van informatie exact uit te drukken: propositioneel, met kwantoren, en modaal (en er zijn nog vele andere mogelijkheden). Daarmee wordt die informatie voor berekening vatbaar. In dit hoofdstuk staat dat genre van berekening centraal.

In de informatica gaat het om het juiste samenspel tussen de geschikte weergave of representatie van informatie (in getalstructuren, gegevens-banken, of andere vormen) en efficiënte berekening met die gegevens, met andere woorden om de interactie tussen, in het Engels: ‘representation + computation’. En in ons cognitief gedrag vindt een vergelijkbaar samenspel plaats van informatieverwerking met een beperkte hoeveelheid tijd en aandacht. Deze balans kan men goed bestuderen in het gedrag van logische systemen, die een evenwicht moeten vinden tussen logische uitdrukkingskracht en rekencomplexiteit. In het algemeen geldt: hoe rijker de taal, hoe moeilijker het rekenproces voor de centrale logische taken. De bedoeling van dit hoofdstuk is om enig inzicht te geven in deze balans, die vooral typerend is voor logische systemen die ontwikkeld zijn in de buurt van de informatica.

In paragraaf 7.1 introduceren we de relevante logische taken: bewijzen, vervullen, evalueren en vergelijken. In de paragrafen 7.2 en 7.3 geven we enige voorbeelden van de complexiteit van taken in de standaard logische systemen die we gezien hebben.

73

Page 83: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

7.1 Bewijzen, vervullen, evalueren en vergelijken

In dit boek zijn heel uiteenlopende logische taken besproken. Het bereke-nen van een waarheidswaarde van een formule in een gegeven model is zo’n taak, maar ook het vinden van een model voor een gegeven stel for-mules. We zetten een aantal van deze taken nog eens iets uitvoeriger op een rij. Om te beginnen hebben we bewijstaken.

Bewijstaken Veel theoretische en praktische problemen komen erop neer dat bepaald(theorem proving) moet worden of een bewering uit een andere volgt. We kunnen dit bijvoor-

beeld zien bij het automatisch vinden van wiskundige stellingen die volgen uit gegeven axioma’s. Zo kunnen we een bewijs van de stelling van Pytha-goras (hoofdstuk 1) in principe mechanisch vinden gegeven een aantal basisaannames (de postulaten van Euclides) en de afleidingsregel ‘modus ponens’ (ϕ, ϕ → ψ ⇒ ψ). Dit soort logische geldigheidsvragen wordt gesteld binnen het kader van een formeel bewijssysteem en de gangbare term hiervoor is stellingbewijzen (in het Engels: ‘theorem proving’). Aan de complexiteit van bewijzen besteden we geen aandacht, behoudens een voorbeeld.

VOORBEELD 7.1 Als p bekend is dan kunnen we met twee implicaties p → q en q → r, en de ‘modus ponens’-regel bewijzen dat r. Eerst volgt uit p en p → q dat q, en uit q en q → r volgt dan r. Dat zijn maar twee stappen, lekker snel dus en niet zo complex. Een probleem in zo’n bewijs is dat q niet voorkomt in de aan-name p en ook niet in de te bewijzen conclusie r, en dat het daarom toch heel complex kan worden, namelijk omdat we uit meerdere beschikbare implicaties nu juist p → q en q → r moeten selecteren, en niet twee van tien-duizenden andere beschikbare implicaties p → q1, p → q2, ... De complexiteit van bewijzen heeft dus niet alleen te maken met de lengte van het bewijs dat we uiteindelijk vinden, maar ook (en zelfs vooral) met de duur van de zoektocht naar zo’n bewijs. Een ander kort bewijs is dat van p ∧ r ⇒ p ∨ q: uit p ∧ r volgt p, en uit p volgt de zwakkere disjunctie p ∨ q. In dit bewijs is de tussenstap p een deelformu-le van het uitgangspunt en een deelformule van de te bewijzen conclusie. Als we bij het zoeken naar bewijzen zo’n restrictie kunnen aannemen, is het zoeken veel sneller te verrichten. Zulke bewijzen heten ‘cut-free’ (zonder snede), de stap p → q, q → r ⇒ p → r waarin propositieletter q links wel staat maar rechts niet kunnen we zien als het ‘wegsnijden’ van q. ◊

Vervulbaar- In gewone conversatie ‘bewijzen’ we zelden formeel. Het gaat er dan meerheidstaken om, consistente informatie te verstrekken. Dit ‘consistency management’(satisfiability) heeft als logische kernvraag of een gegeven verzameling beweringen een

model heeft. Dit is de zogenaamde vervulbaarheid van die verzameling, in het Engels: ‘satisfiability’. Dezelfde vraag doet zich in een ander jasje voor bij ontwerpen, bijvoorbeeld het ontwerp van een digitaal circuit dat moet

74

Page 84: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 7 Complexiteit van berekeningen

voldoen aan vooraf gegeven Boolese specificaties, of dat van een multi-actorsysteem dat moet voldoen aan vooraf gegeven kennislogische eisen.

Evaluatietaken In wezen eenvoudiger dan vervulbaarheidstaken, maar ook zeer nuttig, (model checking) zijn evaluatietaken (ook wel bekend onder de naam verificatietaken). Hoe

bepalen we de waarheidswaarde van een formule in een model? Dit is de controle of een gegeven structuur voldoet aan zekere eisen die we van tevoren hebben gesteld. In het Engels: ‘model checking’. Het checken van specificaties voor een gegeven proces is van deze aard, evenals het bepalen van eigenschappen van een circuit van Boolese schakelingen.

VOORBEELD 7.2 Logische taken kunnen ook tezamen voorkomen in eenzelfde situatie. Zo moet in de rechtszaal de aanklager bewijzen dat de beklaagde schuldig is: een bewijstaak voor een conclusie uit de voorliggende gegevens. Maar de verdediger heeft slechts de vervulbaarheidstaak om een scenario te schetsen dat past bij die gegevens, maar waarin zijn cliënt onschuldig is. Ook evalua-tietaken kunnen voorkomen, namelijk bij het vaststellen van het toelaatbare bewijsmateriaal. ◊

Vergelijkings- Er zijn nog heel andere genres taken. Heel belangrijk zijn bijvoorbeeld ver-taken (model gelijkingstaken. Wanneer zijn twee Boolese circuits equivalent, of twee mo-comparison) dellen voor de predikaatlogica, of twee multi-actorsystemen - in die zin dat

ze dezelfde formules van de relevante taal waar maken? Dit soort informa-tie is cruciaal bij het vereenvoudigen van voorgestelde machines of infor-matieprocessen.

VOORBEELD 7.3 De onderstaande figuur bevat twee verschillende modellen, die toch de-zelfde informatie uitdrukken, namelijk dat zowel actor a als actor b niet weet of p (en dat ze dit ook van elkaar weten, enzovoort).

We kunnen dit inzien door bijvoorbeeld in de p-situatie linksboven te be-ginnen, en dan met een a-pijl naar de ¬p-situatie rechtsboven te gaan. In de rechterfiguur kunnen we zo’n overgang simuleren door in de p-situatie onder te beginnen, en naar de ¬p-situatie boven te gaan met een a-pijl. Dit kunnen we vanuit iedere situatie doen, voor a-pijlen en b-pijlen, waarbij we bovendien ervoor blijven zorgen dat de waarheidswaarde van p blijft cor-responderen: of allebei waar, of allebei onwaar. Evenzo kunnen we een stap die we eerst rechts maken links simuleren. Zo’n simulatie twee kanten op heet een bisimulatie. Als dit kan, dan volgt hieruit dat iedere kennislo-

75

Page 85: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

gische formule die rechts waar is, ook links waar is, en andersom. De modellen hebben dus dezelfde informatie-inhoud: we kunnen ze niet van elkaar onderscheiden in de taal van de kennislogica. ◊

7.2 Hoe moeilijk zijn logische taken?

Onze volgende vraag betreft de moeilijkheid van deze logische taken. Een evaluatietaak in de propositielogica, dat wil zeggen het uitrekenen van een waarheidswaarde in een waarheidstabel, lijkt op het eerste gezicht een-voudig, en gelukkig is dat ook inderdaad zo. Een rij in een waarheidstabel komt overeen met een propositielogische waardering. In die rij vullen we één voor één de waarheidswaarden in voor alle subformules van een gege-ven formule. Dit kost ons evenveel ‘tijd’ (stappen) als het aantal subformu-les van die formule. En het aantal subformules is weer ongeveer gelijk aan de lengte van die formule: het aantal symbolen. Men zegt wel dat deze eva-luatietaak in de orde van grootte is van de lengte van de formule. Evaluatie in de propositielogica kost dus zogenaamde lineaire tijd, gemeten in de lengte van de invoerformule.

Daarentegen is het is veel lastiger om te bepalen of een formule een model heeft (satisfiability), omdat we nu in het ergste geval alle rijen in de waar-heidstabel zullen moeten nagaan. Dit is een exponentieel aantal, namelijk alle combinaties van nullen en enen voor de propositieletters in de formule.

VOORBEELD 7.4 We kijken nog eens naar de waarheidstabel voor de formule p ∧ ¬q van voorbeeld 3.4 p q p ∧ ¬ q

1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0

Hierin komen twee propositieletters voor. Deze formule is vervulbaar want er is een waardering waarvoor de formule waar is, namelijk als p waar is en q onwaar. Om te bepalen of een formule waarin twee propositieletters voor-komen vervulbaar is, moeten we in het ergste geval vier rijen (namelijk twee tot de macht van deze twee propositieletters) van de waarheidstabel onderzoeken. Maar voor deze formule zijn we bij de tweede rij al klaar! Complexiteitsanalyses gaan altijd uit van het ergste dat ons kan overko-men. In de praktijk kan het meevallen.

Om te bepalen dat de waardering waarin p waar en q onwaar is, een model is van de formule (‘model checking’) moeten we één keer de waarde van

76

Page 86: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 7 Complexiteit van berekeningen

een negatie bepalen, namelijk de negatie van q, en één keer de waarde van een conjunctie, die van p en ¬q. De lengte van een formule is het aantal symbolen waar de formule uit bestaat. De formule p ∧ ¬q bestaat uit vier symbolen, of zes, als we de haakjes van de conjunctie meetellen, als in (p ∧ ¬q). Een formule kan natuurlijk nooit meer logische connectieven hebben dan het aantal symbolen. In het ergste geval is het aantal symbolen de lengte van de formule min één, zoals in ¬¬¬¬¬¬p. Daarom kost een evaluatietaak in de propositielogica lineaire tijd. ◊

VOORBEELD 7.5 Nu willen we bepalen of de formule p1 ∧ p2 ∧ ... ∧ p99 ∧ (p100 ∧ ¬p100) vervul-baar is. Hierin komen 100 propositieletters voor. Als we blind gaan zoeken, moeten we dus een waarheidstabel met 2100 rijen gaan aflopen; 2100 is onge-veer 1030 (want 210 = 1024) dus met een minuut rekentijd per rij komen we dan met gemak boven de ouderdom van het heelal uit. Niettemin ziet u meteen dat de formule onvervulbaar is, vanwege de contradictie p100 ∧ ¬p100

aan het eind. En dit ‘zien’ is ook met geringe mechanische moeite uit te voeren. Er zijn vele methoden om sneller vervulbaarheid te bepalen. Dit is zelfs een belangrijk specialisme in de informatica (Boolean satisfiability checking, SAT checking). ◊

Soortgelijke vragen rijzen bij de rijkere taal van de predikaatlogica. Hoe moeilijk is het bijvoorbeeld om voor een formule ∀x ∃y R(x, y) met twee kwantoren te bepalen of deze waar is in een gegeven model van n objecten? Op het eerste gezicht is het antwoord hierop: dit duurt n2 stappen. In het ergste geval moeten we namelijk alle (n) objecten één voor één voor x invullen, en voor elk daarvan weer alle (n) objecten proberen als mogelijke y. In het algemeen verwachten we dus exponentiële tijd voor de evaluatie van een formule met kwantoren, als we het model en die formule als invoerparameters nemen: namelijk het aantal objecten van het model tot de macht van de grootste ‘nesting’ van kwantoren in de formule. Maar ook hier kunnen verrassingen optreden die tot lagere complexiteit leiden! Het nu volgende voorbeeld bevat zo’n verrassing.

VOORBEELD 7.6 Vind de beroemdheidDit instructieve voorbeeld is van Anne Kaldewaij. Een ‘beroemdheid’ is iemand die niemand anders kent, maar wel door ieder ander wordt gekend. Hoe bepalen we zo snel mogelijk of een groep een beroemdheid heeft, en wie dat is? Het gaat hier om de vraag of in een gegeven model de predikaatlogische formule ∃x ∀y (y ≠ x → (K(y, x) ∧ ¬K(x, y))) waar is. Omdat er een stapeling van twee kwantoren is, zou men verwachten dat dit kwadratische tijd kost. Het kan echter lineair! We geven daartoe aan iedereen een rood balletje, voor ‘potentiële beroemdheid’. Nu herhalen we de volgende procedure:

Zolang er nog minstens twee mensen met rode balletjes zijn, pak er dan twee, zeg x en y, en kijk of x de persoon y kent. Zo ja, neem dan x het rode

77

Page 87: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

balletje af, zo nee, neem y het balletje af. De unieke overblijver met een balletje wordt nu nog even getest op de eigenschap beroemdheid te zijn.

Dit hele proces loopt hoogstens drie keer door het domein: namelijk twee keer om de overblijver met het rode balletje te bepalen (twee objecten kie-zen, net zo vaak als het aantal objecten), en één keer om voor alle anderen te testen of zij die overblijver kennen en de overblijver hen niet kent. Daar-mee is de complexiteit lineair. ◊

Van de complexiteit van vergelijkingstaken geven we geen concreet voor-beeld. We formuleren nog eens de drie besproken typische taken van een logische taal:– Model checking (verificatie/evaluatie): Gegeven een model en een formule, is de formule waar in het model?– Satisfiability (vervulbaarheid): Gegeven een formule, is er een model dat de formule waarmaakt?– Model comparison (vergelijking):Gegeven twee modellen, maken deze dezelfde formules waar?

Als we de precieze rekencomplexiteit van al deze taken kennen, dan heb-ben we een redelijk ‘profiel’ van het computationele gedrag van zo’n lo-gisch systeem. We zullen alleen wat voorbeelden geven van de complexiteit van dit soort kwesties voor de logische talen van dit boek. Maar voordat we dat kunnen doen, moeten we natuurlijk wel iets preciezer zijn over wat we bedoelen met rekencomplexiteit! Dit is op zich al een belangrijk vakspecia-lisme in de praktische en theoretische informatica.

7.3 Computationale complexiteit

Een taak is effectief opgelost als je er een algoritme voor kunt schrijven, misschien als programma in een of andere programmeertaal. Bij een JA/NEE-vraag ‘P?’ wordt de bewering P als invoer aan een mechanische procedure gegeven die na een eindig aantal stappen steeds het juiste ant-woord geeft. Een voorbeeld van zo’n vraag is: kunnen we uit een begin-situatie een gewenste eindsituatie bereiken via een eindig aantal stappen? Heel veel taken in de informatica, zoals het bevragen van gegevensbanken, of zoektaken in de kunstmatige intelligentie, komen neer op het bepalen van dergelijke ‘bereikbaarheid’ van een doel uit een beginpunt.

VOORBEELD 7.7 Graph reachability (bereikbaarheid in een graaf)Gegeven is een eindige gerichte graaf G en twee knopen s (‘beginknoop’) en t (‘eindknoop’). Is er een pad van s naar t? Deze vraag is te beantwoorden met het volgende algoritme: R wordt de verzameling rode knopen. Kleur om te beginnen alleen s rood. B wordt de verzameling blauwe knopen. Deze is in eerste instantie leeg.

78

Page 88: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 7 Complexiteit van berekeningen

Herhaal nu de volgende procedure: pak een rode knoop uit R, verf deze blauw (voeg deze aan B toe), en vervang die knoop in R door al zijn (direc-te) opvolgers in de graaf, ‘tenzij je ze al gehad hebt’, dat wil zeggen: tenzij ze al rood of blauw zijn. Met andere woorden: verf alle niet gekleurde op-volgers rood. Als er niet zulke opvolgers zijn, dan krimpt R dus. Stop als R leeg is. Als t nu blauw is, dan is t bereikbaar uit s, en anders niet.

Dit algoritme is correct en eindigt in kwadratische tijd ten opzichte van het aantal knopen van de graaf. Dit kunnen we als volgt inzien. Stel n is het aantal knopen in de graaf. Ten hoogste iedere knoop verkleurt een keer van rood naar blauw, ieder van die knopen heeft ten hoogste alle andere kno-pen als opvolger, en aan het eind moeten we nog even de verzameling B doorlopen, die ten hoogste alle knopen bevat. In totaal zijn dit hooguit n(n – 1) + n stappen. Omdat voor grote n de lineaire factoren verwaarloos-baar zijn ten opzichte van kwadraten, en n en n – 1 dan bijna hetzelfde zijn, zeggen we: de orde van grootte is n2. ◊

De kunst van efficiënt programmeren loopt via dergelijke slimme represen-taties met lage complexiteit. Vergelijk dit ook met voorbeeld 7.6 van ‘vind de beroemdheid’.

Graden van groei Als een antwoord op een JA/NEE-vraag ‘P?’ altijd in eindig veel stappen puur mechanisch bepaald kan worden noemen we het probleem beslisbaar. Het is dan immers te ‘beslissen’ (uit te maken) of het antwoord op deze vraag JA dan wel NEE is. De complexiteit van zo’n beslisbare procedure is een functie van de lengte van de invoer van die procedure (zoals bij een propositielogische formule: het aantal symbolen). Daarbij speelt het aantal rekenstappen een belangrijke rol. Dit wordt de tijdscomplexiteit van het probleem genoemd. We hebben al gezien dat het aantal rekenstappen lineair kan zijn in de invoer, en ook dat het een groter polynoom kan zijn dan lineair, bijvoor-beeld kwadratisch, zoals in voorbeeld 7.7. Beide noemen we van polyno-miale complexiteit. Als de rekencomplexiteit polynomiaal is ten opzichte van de invoer noemen we een probleem in de klasse P (waarbij P inderdaad voor polynomiaal staat). Als x de invoerlengte is, dan is bijvoorbeeld ax + b lineair en ax3 derdegraads, en beide zijn polynomen, dus deze problemen zitten allebei in P. Als de rekencomplexiteit daarentegen exponentieel is als functie van de invoerlengte vinden we het ‘heel complex’. Deze klasse noemen we Exptime: deze exponentiële tijd ziet er ten minste uit als ax. Oudere lezers herinneren zich nog de groeigrafieken van de ‘Club van Rome’ in de zeventiger jaren, die aangaven hoe vervuiling en andere doemscenario’s op deze akelig snelle manier toenamen. En het kan zelfs nog erger dan Exptime, zoals bijvoorbeeld in x! en in 22

x . Er zitten ook nog complexiteitsklassen tussen polynomiaal en exponentieel, maar daar gaan we niet op in.

79

Page 89: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

VOORBEELD 7.8 Graph reachability, GR, is in P, omdat voor een gegeven graaf G de proce-dure altijd eindigt na hooguit een aantal stappen van een kwadratische orde van grootte (namelijk n(n – 1) + n). ◊

Een logische analogie kan helpen deze begrippen nog iets beter te begrij-pen. Hiervoor zagen we al dat propositielogische evaluatie in P zit. Testen op propositielogische vervulbaarheid leek exponentiële complexiteit te heb-ben maar zit in feite in een lagere complexiteitsklasse, tussen P en Exptime in. Zelfs als een taak in P zit, blijft een algoritme van lineaire tijd prettiger dan één van kwadratische tijd, enzovoorts: een polynoom van lagere graad is altijd weer beter dan een van hogere graad. De kunst van het program-meren bestaat doorgaans uit het geschikt kiezen van datastructuren en instructies, om zo laag mogelijk in rekencomplexiteit uit te komen.

Problemen in P gelden als doenlijk (in het Engels: ‘tractable’) en alles daar-buiten als ondoenlijk (‘intractable’), hetgeen overigens niemand verhindert allerlei speciale gevallen toch op de computer op te lossen.

Onbeslisbaarheid Het kan dus, zoals we al zagen, nog veel erger qua complexiteit. En som-mige problemen zijn helemaal niet met een algoritmische methode op te lossen: deze heten onbeslisbaar. Wie zou niet graag willen kunnen vermijden dat zijn computer vastloopt? Dit is het Stopprobleem: ‘Bepaal bij een wille-keurig programma en willekeurige invoer, of het programma voor die invoer termineert.’ In het Engels is het probleem bekend als het ‘Halting problem’.Het is nu een feit dat dit Stopprobleem onbeslisbaar is. Dit feit werd bewe-zen door Alan Turing in 1936. Er zijn dus geen wondermiddelen die auto-matisch ongewenst gedrag van onze computers detecteren. Nog zo’n onbe-slisbare vraag is bijvoorbeeld die naar de equivalentie van twee gegeven programma’s, bijvoorbeeld in een eenvoudige imperatieve programmeer-taal: geven ze op alle invoer dezelfde waarden? De oudste voorbeelden van onbeslisbare problemen komen uit de logica.

VOORBEELD 7.9 Predikaatlogica is onbeslisbaarIn de propositielogica hebben we een beslissingsprocedure om te bepalen of een gegeven formule een tautologie is, of niet: maak de waarheidstabel, loop alle waarderingen langs en bepaal de waarde van de hele formule voor die waardering, en als er overal énen staan, is het een tautologie. Maar in de predikaatlogica bestaat zo’n procedure niet. (We laten details achter-wege.) Het resultaat dat de predikaatlogica onbeslisbaar is danken we aan Alonzo Church, die hiertoe gebruik maakte van de beroemde Stelling van Gödel. Hoe zit het dan met bijvoorbeeld onze kennislogica, die qua kracht in lag tussen de propositielogica en de predikaatlogica? Deze blijkt weer beslisbaar, maar wel met een wezenlijk complexer algoritme dan voor de propositielogica. ◊

80

Page 90: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 7 Complexiteit van berekeningen

De algemene moraal is deze: niet elk eenvoudig formuleerbaar probleem inzake redeneren, rekenen of informatieverwerking heeft een mechanische oplossing! Ook hier merken we weer op dat de praktijk toch enig optimis-me wettigt. Zelfs onbeslisbare problemen kunnen systematisch worden aangepakt. Er zijn namelijk allerlei bewijsmethodes voor de predikaat-logica, waarmee we ‘meestal’ wel uit de voeten kunnen.

In dit verband maken we nog een opmerking. Onze voorbeelden in dit hoofdstuk geven slechts bovengrenzen: hoeveel tijd- of ruimtestappen hebben we hoogstens nodig, in het ergste geval? Om een probleem precies te plaatsen in de complexiteitshiërarchie moeten we ook een ondergrens geven: hoeveel stappen kan de oplossing minstens vergen, wat is de mini-male complexiteit? Maar in het algemeen wordt het gedrag van een algo-ritme in de praktijk bepaald door rekentijd op willekeurige invoer, zodat we eerder zouden moeten spreken over een gemiddelde complexiteit. Deze verdere kwesties laten we hier terzijde.

Tegen deze achtergrond eindigen we met een meer theoretische kwestie. Hoe moeilijk is het vervulbaarheids- of geldigheidsprobleem van de propo-sitielogica nu werkelijk? Moet het exponentieel, of wordt er wellicht toch nog een slim algoritme gevonden dat het in polynomiale tijd afkan? Deze vraag staat bekend als het ‘P = NP’ probleem, dat voorkomt op de lijst van ‘Tien Meest Beroemde Open Vragen van de Wiskunde’, in 2000 gepubli-ceerd door het Cray Institute. Het is opmerkelijk dat een zo eenvoudig lo-gisch systeem als de propositielogica, in wezen al bekend sinds de Klassie-ke Oudheid, nog zulke nieuwe vragen weet op te werpen.

Samenvatting

Een probleem is beslisbaar als een antwoord op een JA/NEE-vraag ‘P?’ altijd in eindig veel stappen puur mechanisch bepaald kan worden. De complexi-teit van zo’n beslissingsprocedure is een functie van de lengte van de in-voer van die procedure. Daarbij speelt het aantal rekenstappen (tijdscom-plexiteit) een rol. Wat betreft het aantal rekenstappen is lineair minder complex dan (vanaf tweedegraads) polynomiaal, en polynomiaal minder complex dan exponentieel. Al deze genres complexiteit komen voor in de propositielogica, en overigens ook in de kennislogica van hoofdstuk 6. Sommige belangrijke problemen zijn zelfs onbeslisbaar, dat wil zeggen dat geen enkel programmeerbaar algoritme, hoe ingewikkeld ook, ze kan oplossen. Bijvoorbeeld, het is onbeslisbaar of bij een willekeurig program-ma en willekeurige invoer, het programma voor die invoer termineert. Dit staat bekend als het Stopprobleem. Maar ook logische geldigheid in syste-men als de predikaatlogica is van deze hoge complexiteit.

81

Page 91: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Opgaven

OPGAVE 7.1 Voer het ‘graph reachability’ algoritme van voorbeeld 7.7 uit voor de volgende graaf. Als beginknoop s neemt u knoop 1 in de figuur. Als eindknoop t neemt u knoop 4.

OPGAVE 7.2 Voer het ‘vind de bekendheid’ algoritme van voorbeeld 7.6 uit voor de volgende graaf.

82

Page 92: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

H O O F D S T U K 8

Spel en logica van interactie

Spelen zijn een typisch menselijke activiteit, lopend vanaf kaartspelen of voetbal tot spelpatronen in algemeen economisch en sociaal gedrag. De Nederlandse historicus Johan Huizinga schreef er een beroemd boek over, met de mooie titel Homo Ludens. Maar ook wiskundigen zijn reeds vele malen in de geschiedenis door spelen geïnspireerd tot het opstellen van belangrijke theorieën. Zo komt het begrip waarschijnlijkheid uit de zestiende-eeuwse studie van kansspelen en weddenschappen. In de 20ste eeuw ontstond de ‘speltheorie’ als algemene analyse van rationeel gedrag van personen in interactie. Er zijn ook vele relaties tussen logica en speltheorie, waarvan we er een zullen bespreken aan het eind van dit hoofdstuk.Daarmee is dit laatste thema in dit boek een vooruitblik op een bredere rol van de moderne logica als studie van intelligente interactie tussen mensen die communiceren, debatteren, en samen actie ondernemen om hun doelen te bereiken.

8.1 Winnende strategieën

VOORBEELD 8.1 Het BlokkadespelGegeven is een netwerk met plaatsen (aangegeven door punten) en paden (verbindingen tussen punten), en met een of andere startplaats. Er zijn twee spelers. ‘Loper’ is eerst aan zet, en moet proberen alle plaatsen in het net-werk te bezoeken langs openstaande paden, waarbij hij telkens een pad kiest vanuit zijn laatste plaats. ‘Remmer’ mag na elke stap van Loper een willekeurig pad verwijderen uit het netwerk. En zo verder, om en om. Het spel stopt als een speler geen zet meer kan doen. In dat geval heeft Loper gewonnen als elke plaats is bezocht, anders wint Remmer.U kunt zich voorstellen dat Loper de gemiddelde NS-reiziger is, die pro-beert een reis langs verschillende stations te maken, en dat Remmer de NS-bedrijfsvoering voorstelt, die probeert zo efficiënt mogelijk verbindingen buiten werking te stellen.

83

Page 93: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Laten we eens zo’n spel bekijken:

Een mogelijk spelverloop is: Loper loopt van - naar Remmer verwijdert een lijn van - naar

1 - 3 3 - 2 3 - 4 4 - 2 4 - 3 1 - 2

Het is duidelijk dat Loper verliest, want 2 is nu onbereikbaar geworden. Maar bekijk nu eens het volgende verloop: Loper loopt van - naar Remmer verwijdert een lijn van - naar

1 - 2 2 - 3 2 - 4 4 - 3 4 - 3 In dit geval heeft Loper gewonnen! In de meeste spelen kunnen beide spe-lers winnen of verliezen, afhankelijk van hoe ze spelen. Maar dit is niet alles. Want dit spel is welbeschouwd essentieel in het voordeel van Rem-mer. We zeggen dan ook: ‘Remmer kan altijd winnen, hoe Loper ook speelt!’ Immers, als Loper naar 3 gaat, dan heeft Remmer genoeg tijd om in drie beurten punt 2 te ‘isoleren’. Maar als Loper eerst naar punt 2 gaat, dan werkt het volgende. Laat Remmer in zijn eerste twee beurten de verbin-dingen tussen 3 en 4 weghalen. Dit dwingt Loper terug te keren op weg naar 3 of 4, en Remmer heeft dan tijd om één van deze twee plaatsen te isoleren. ◊

Strategie en De handelwijze van Remmer hiervoor, die op elk mogelijk gedrag van dewinnende strategie tegenpartij een passend antwoord geeft, heet een strategie. In het algemeen

is een strategie een serie zetten, of acties, waarbij elke volgende zet een der mogelijke keuzes is die de speler kan maken in de gegeven spelsituatie op dat moment. Een strategie die garandeert dat een speler altijd wint (hoe de ander ook speelt) heet een winnende strategie (of winstrategie).

84

Page 94: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

VOORBEELD 8.2 Om nader te begrijpen wat een winstrategie is gaan we na welke speler een winnende strategie heeft in een Blokkadespel dat als volgt begint:

In dit geval heeft nu juist Loper een winnende strategie! We schetsen de redenering. Om te winnen, moet Loper eerst naar 2 gaan. Aldaar afkappen van een 2 - 3 of 2 - 4 helpt Remmer niet: Loper kan toch naar 3 en 4 komen. Weghalen van de twee 3 - 4 paden boven, zoals eerder, helpt dit keer echter ook niet - want dit laat Loper net genoeg tijd om eerst naar 4 te gaan en dan via 2 ook nog naar 3 te komen. ◊

Nulsom–spel Volgens een stelling uit 1913 van de wiskundige Zermelo is er in elk eindig spel van het zogenaamde type ‘nul-som’ - en elke versie van Blokkade is zo’n spelsoort - één speler met een winnende strategie. Een nulsom-spel is een spel waarbij voor elke eindtoestand geen twee verliezers of twee winnaars zijn. Er is één winnaar en één verliezer. Zo’n spel noemen we gedetermineerd als we voordat we beginnen te spelen al kunnen bepalen wie er kan winnen.

STELLING 8.1 Stelling van ZermeloElk eindig nulsom-spel is gedetermineerd.

Deze verrassend sterke stelling is redelijk eenvoudig te bewijzen. We illus-treren de stelling aan de hand van een spelboom voor het Nim-spel. Een spelboom is een boom die: (i) als wortel de beginsituatie van een spel heeft, (ii) die in iedere knoop waarin speler i aan de beurt is m kinderen heeft die staan voor de speltoestanden die resulteren uit alle mogelijke zetten voor die speler, (iii) en die als bladeren de eindtoestanden van het spel heeft.

85

Page 95: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

VOORBEELD 8.3 Het Nim-spelHet spel begint met een aantal stapeltjes lucifers. Er zijn twee spelers, A en B. Speler A begint. De speler die de beurt heeft, kiest één van de stapeltjes uit, waarna er minstens één lucifer van dat stapeltje moet worden wegge-nomen. De laatste speler die een lucifer wegneemt is de winnaar. De alge-mene manier om de winnende strategie te bepalen is om de volledige spelboom langs te gaan. Hier is bijvoorbeeld de spelboom van de begin-situatie 1 - 2 - 1.

In elke toestand is aangegeven wie aan de beurt is, en dus wordt in elke eindtoestand de beurtspeler ook de verliezer. De eindtoestanden die voor A gewonnen zijn kleuren we zwart en de eindtoestanden die vóór B gewonnen zijn kleuren we wit. Nu kunnen we ook de toestanden voor de eindtoestanden inkleuren als indicator van de speler die kan winnen: de speler met de winstrategie. Als er voor de beurtspeler in de voorlaatste toestand een winnende eind-toestand is dan heeft hij als winstrategie de specifieke zet die tot die eind-toestand leidt. We kleuren die toestand overeenkomstig. Mocht er voor hem geen enkele winnende eindtoestand zijn dan kleuren we de gegeven voorlaatste toestand als wintoestand voor de tegenspeler. Met deze kleur-ing kunnen we nu deze voorlaatste toestand in feite opvatten als een eind-toestand met een winnaar en een verliezer (gegeven dat ze geen domme zetten doen). Zo kunnen we vervolgen en de gehele spelboom inkleuren door volgens hetzelfde procedé stap voor stap naar boven toe de toestanden in te kleu-ren. De kleur van de begintoestand geeft dan de speler aan die een win-nende strategie heeft. In dit geval is dat speler A: deze kan immers ervoor kiezen het stapeltje met twee lucifers weg te halen, waarna we in de meest rechtse vervolgsituatie eronder terechtkomen.

De strategie voor de winnende speler, na kleuring van de spelboom, is om te kiezen voor een vervolgtoestand met zijn eigen kleur als hij aan de beurt is. We hebben dus niet alleen bepaald wie kan winnen, maar we hebben te-gelijkertijd ook nog een keer de winstrategie geconstrueerd. ◊

86

Page 96: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

De stelling van Zermelo heeft maar weinig directe praktische betekenis. Het probleem is natuurlijk de omvang van de spelboom, en het terugreke-nen vanuit de eindtoestanden is doorgaans ondoenlijk.Zermelo was zelf voornamelijk geïnteresseerd in spelen als schaken waarbij ook remise mogelijk is. In deze spelen garandeert zijn stelling dat één van beide spelers een strategie heeft om niet te verliezen. Het verschil tussen theorie en praktijk voor het schaakspel is immens. Een eeuw na het oor-spronkelijke resultaat is nog steeds niet bekend welke speler deze niet-verliezende strategie heeft. Er zijn ruwweg twintig mogelijkheden per zet, en het totaal aantal mogelijk toegestane posities van de schaakstukken op het schaakbord is ongeveer 10120. Dit getal komt ongeveer overeen met het aantal elementaire deeltjes in het zichtbare heelal!Niettemin is de denktrant in het hier gegeven bewijs wel richtinggevend voor de tegenwoordig gebruikte geoptimalizeerde methoden om spelen op te lossen.

VOORBEELD 8.4 In het Nim-spel is evenwel een elegante short-cut te geven om te bepalen wie er zal winnen. Laat n1, n2, … de aantallen lucifers zijn in stapeltjes. Het idee is nu deze getallen binair te schrijven en wel onder elkaar. Stel we beginnen met drie stapels met n1 = 5, n2 = 9 en n3 = 4 lucifers. Of, in binaire notatie n1 = 101, n2 = 1001 en n3 = 100. We tellen nu het totaal aantal enen op de n-de plaats van deze getallen en zetten die in een tabel eronder: n1 1 0 1n2 1 0 0 1n3 1 0 0

1 2 0 2

In het voorbeeld geeft dit 1, 2, 0 en 2 enen. Een spel heet gebalanceerd als voor iedere positie in de binaire notatie het totaal aantal enen even of nul is. Anders noemen we het spel ongebalanceerd. In het gegeven geval is het spel ongebalanceerd omdat er maar één 1 staat op de meest linkse plaats.Nu zijn er de volgende drie belangrijke feiten: – Een gebalanceerd spel zal na iedere toegestane zet veranderen in een ongebalanceerd spel. Immers het aantal lucifers in één stapel zal gewijzigd worden, zodat in één rij sommigen enen in nullen veranderen en vice versa. Als in iedere kolom het aantal enen even was zal dat na de zet niet langer het geval kunnen zijn. – Een ongebalanceerd spel kan met één toegestane zet veranderd worden in een gebalanceerd spel. Neem de hoogste (meest linkse) positie p waarin het aantal enen oneven is. Laat ni het getal zijn dat op die positie een 1 heeft. Van deze stapel met ni lucifers gaan we nu lucifers afhalen. Om dit aantal te bepalen doorlopen we de binaire representatie van dit getal vanaf de positie p naar rechts. Om te beginnen vervangen we de 1 op de p-de plaats door een 0. We gaan nu een positie naar rechts. Als dit een kolom

87

Page 97: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

met een even aantal enen is, doen we niets. Als dit echter eveneens een kolom met een oneven aantal enen is, maken we er een 0 van als er een 1 stond en maken we er een 1 van als er een 0 stond. We herhalen nu deze procedure totdat we bij de kleinste (meest rechtse) positie zijn. In binaire notatie is het resultaat een getal 'in . Neem nu ni - 'in lucifers weg van de stapel met ni lucifers om een gebalanceerd spel te bereiken. – Een speler die aan zet is in een gebalanceerd spel zal nooit met die zet kunnen winnen, omdat er voor een gebalanceerd spel altijd minstens twee stapels moeten zijn.

De winnende strategie is dus om van een ongebalanceerd spel altijd eengebalanceerd spel te maken. Daarna kan de tegenstander het spel niet uitmaken. Dit betekent dat de speler die begint een winnende strategie heeft als de beginsituatie ongebalanceerd is. ◊

8.2 Spelen met voorkeuren

In toepassingen van speltheorie op echte situaties, volstaan deze ‘kale’ spelen niet langer. Mensen hebben in het algemeen veel ingewikkelder voorkeuren tussen uitkomsten dan ‘winnen’ versus ‘verliezen’.

VOORBEELD 8.5 VerkiezingenMarie, Natasha en Ofelia hebben een vrijkaartje over voor het Toonloos Ensemble. Ze kunnen stemmen over een keuze tussen Michael, Niemand en Otto om mee te nemen. Hun voorkeuren liggen als volgt:

Marie Natasha Ofelia

1 Michael Niemand Otto 2 Niemand Michael Michael 3 Otto Otto Niemand

Eerst wordt gestemd over Michael of Otto, daarna over de resterende mogelijkheid hieruit of Niemand. Hoe moeten de dames stemmen?De volgende boom in de volgende figuur geeft de mogelijkheden weer.

Als iedereen stemt volgens zijn voorkeur, dan wint Michael in de eerste ronde met twee tegen één, en vervolgens wint Michael ook tegen Niemand, eveneens met twee tegen één.Maar als Natasha dit voorziet, dan kan ze beter haar stemgedrag in de eerste ronde veranderen - en tegen haar eigen voorkeur in stemmen!

88

Page 98: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

Immers, als ze in die ronde stemt voor Otto in plaats van voor (haar voor-keur) Michael, dan wordt in die ronde Otto gekozen, waarna bij meerder-heidsstemming daarna Niemand wint, hetgeen haar eerste voorkeur was. Zo bereikt ze dan uiteindelijk toch wat ze wil. Maar de andere spelers kun-nen deze redenering ook zelf van te voren bedenken, en kunnen dus ook hun stemgedrag daarop aanpassen. Is hier een beste oplossing te vinden?

We denken op dezelfde manier als in voorbeeld 8.3 over het Nim-spel. We beginnen onderaan de spelboom en redeneren terug. (Dit proces heet ‘back-wards induction’.) In het laatste stadium weet elke speler wat er is gebeurd, en resteert slechts één eindkeuze. Afwijken van de eigen voorkeur heeft dan geen zin, dus bijvoorbeeld bij een keuze tussen Niemand en Otto komt Niemand uit de bus, en bij Niemand versus Michael juist Michael. Maar dan kunnen spelers in het stadium daarvoor van dit gedrag uitgaan:

Dit betekent dat een speler in de eerste ronde voor Michael moet stemmen als zij Michael verkiest boven Niemand en dat een speler in de eerste ronde voor Otto moet stemmen als ze Niemand verkiest boven Otto. In dat geval stemmen verstandige spelers aan het begin als volgt (en we zien dat in de eerste ronde dus zowel Natasha als Ofelia tegen hun ‘echte’ voorkeur in stemmen): Marie Natasha Ofelia

Michael Otto Michael

Het resultaat is: Michael mag mee naar het concert. ◊

89

Page 99: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

8.3 Strategisch evenwicht

We bekijken een spel met twee personen. Voor ieder paar van strategieën van de twee spelers zal er een unieke uitkomst zijn die verkregen wordt door de twee strategieën tegen elkaar te laten spelen. Deze uitkomst kan door beide spelers geëvalueerd worden.

DEFINITIE 8.1 Nash-evenwichtEen tweetal strategieën, voor beide spelers één, is in Nash-evenwicht als geen van beide spelers de uitkomst kan verbeteren door van strategie te veran-deren, aangenomen dat de andere speler niet van strategie verandert.

De definitie verwijst naar John Nash, aan wiens leven zelfs een film is gewijd: “A Beautiful Mind”. Ze sluit met name niet uit dat de uitkomst verbetert als beide spelers tegelijk van strategie veranderen! We zullen hier voorbeelden van zien. Idealiter correspondeert zo’n evenwicht met stabiel gedrag voor rationele spelers. Met meer spelers is de definitie van strate-gisch evenwicht in wezen hetzelfde. In het bovenstaande verkiezingsspel gaat men eenvoudig na dat het zojuist gegeven stemgedrag voor de drie spelers een Nash-evenwicht vormt.

Het verkiezingvoorbeeld was een ander soort spel dan het eerdere Blok-kade, of het schaakspel. Spelers moesten namelijk in elke ronde tegelijk zetten, zonder te weten wat de anderen doen in dezelfde beurt. Veel voor-beelden in de speltheorie zijn van deze aard, met name zogenaamde ‘strate-gische spelen’, die worden weergegeven door een matrix van uitkomsten, waarbij de rijen de strategie van de eerste speler geven en de kolommen de strategie van de tweede speler. Een paar getallen (i, j) in de matrix geeft de uitkomsten die de rijspeler en kolomspeler (in die volgorde) aan de rele-vante uitkomst toekennen. Hier zijn een aantal beroemde 2 × 2 voorbeel-den: twee spelers en twee strategieën, waarbij de strategieën uit één zet bestaan.

VOORBEELD 8.6 Prisoners’ DilemmaEen onvervalste evergreen. In de klassieke opzet betreft het twee arrestan-ten, verdachte 1 en verdachte 2. Er is niet genoeg bewijsmateriaal voor een zware veroordeling. Als beiden blijven zwijgen krijgen ze ieder maar één jaar gevangenisstraf. Als echter (precies) één van beiden bekent, dan gaat deze vrijuit en de andere gaat voor tien jaar de gevangenis is. Als beiden bekennen krijgen ze ieder vijf jaar straf. Hier is de matrix die het probleem weergeeft. zwijg beken

zwijg (–1, –1) (–10, 0)beken (0, –10) (–5, –5)

90

Page 100: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

In dit geval is er een duidelijk Nash-evenwicht, namelijk (beken, beken). Het is een Nash-evenwicht omdat: als verdachte 2 ‘beken’ kiest, dan is voor verdachte 1 de opbrengst –5 (eerste argument) in (–5, –5) beter dan de opbrengst –10 in (–10, 0), dus is het voor verdachte 1 beter ook de keuze ‘beken’ te houden; en als verdachte 1 ‘beken’ kiest, is het voor verdachte 2 om diezelfde reden ook beter de keuze ‘beken’ te houden, want voor 2 geldt ook dat de opbrengst –10 in uitkomst (0, –10) slechter is dan de op-brengst –5 in (–5, –5). De situatie is natuurlijk symmetrisch voor 1 en 2, maar dat hoeft niet altijd het geval te zijn.

Het paar (beken, beken) is het enige Nash-evenwicht in dit voorbeeld. Namelijk: (zwijg, zwijg) is geen Nash-evenwicht, want als 2 zwijg kiest is het voor 1 beter om beken te kiezen: opbrengst 0 in plaats van –1. En (beken, zwijg) is ook geen Nash-evenwicht, want als 1 beken kiest is het voor 2 beter om van keuze te wisselen en ook beken te kiezen: opbrengst –5 in plaats van –10! Evenzo is (zwijg, beken) geen Nash-evenwicht.

Het zal er dus op uitdraaien dat ze vijf jaar gevangenisstraf oplopen. De twee spelers worden dus niet geleid tot coöperatief gedrag, terwijl dat ze tot collectief zwijgen had kunnen aanzetten wat maar één jaar gevangenis-straf voor beiden had betekend. ◊

In het voorgaande voorbeeld is het zelfs ongeacht wat verdachte 2 doet, voor verdachte 1 altijd gunstiger om te bekennen. Als er voor een gegeven speler een strategie is die altijd te verkiezen is onafhankelijk van wat de andere spelers doen, dan spreken we van een dominante strategie. Verdachte 1 heeft dus een dominante strategie. Hetzelfde geldt in dit voorbeeld trouwens voor verdachte 2.

VOORBEELD 8.7 Voorbeeld 8.6 kan in verschillende andere vormen geformuleerd worden. Een typisch voorbeeld daarvan is niet-coöperatief gedrag tussen concur-rerende bedrijven. Stel Coca Cola en Pepsi hebben een afspraak gemaakt om frisdrank tegen een hoge prijs te verkopen. De winst is dan (in een bepaalde eenheid) zes voor iedere fabrikant. Maar ieder van beide heeft de mogelijkheid deze afspraak te schenden en tegen een lagere prijs te verko-pen. In dat geval zal degene met de lage prijs acht eenheden verdienen, tegen twee voor de fabrikant van het hooggeprijste product. Als beide partijen de afspraak schenden blijft slechts een winst van drie voor ieder over. De situatie kan worden weergegeven in de volgende tabel. hoog laag

hoog (6, 6) (2, 8)laag (8, 2) (3, 3)

91

Page 101: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Ook hier is de niet-coöperatieve versie (laag, laag) de evenwichtssituatie. Rationeel gedrag voorspelt dus dat beide partijen de afspraak zullen schenden. Kartelvorming had hier voor een veel beter resultaat voor beide partijen gezorgd. ◊

VOORBEELD 8.8 In een derde variant bekijken we de samenwerking tussen twee studenten Johan en Robbert die samen een scriptie moeten schrijven. Er zijn twee mogelijkheden: hard werken en alles op tijd afmaken, of lui zijn en zien waar het schip strandt. Als beiden hard werken is de winst (6, 6). Als beiden lui zijn is het resultaat (3, 3). De grootste uitkomst is voor Robbert het grootst (8) als hij niets doet en Johan de scriptie met veel extra werk laat afmaken (voor de daarom magere beloning van 2), en vice versa. Dit geeft exact de vorige tabel. Het Nash-evenwicht voorspelt dus dat samenwerking bij scripties zou moeten stranden. Gelukkig is dit niet waar, en dat komt omdat je daarna nog wel eens met dezelfde persoon zou moeten kunnen samenwerken. Maar dat is een heel ander verhaal, waarin we bepaalde spelen eindig vaak of oneindig vaak herhalen: we definiëren daarmee dus eigenlijk een ander spel. In dat geval kan ‘je allebei inspannen’ (gelukkig) toch een evenwichtssituatie zijn. ◊

In al deze gevallen is communicatie een duidelijke manier om tot coöpera-tief gedrag te komen (en, zoals aangestipt, maakt herhaaldelijk het spel spelen ook een verschil). Als de twee arrestanten informatie kunnen uitwisselen en elkaar genoeg vertrouwen kunnen ze afspreken beiden te zwijgen. In het geval van kartelvorming zijn dit soort (geheime) prijsaf-spraken nu juist verboden en aan inspectie onderhevig. Maar dat komt omdat het evenwicht ‘(laag, laag)’ overeenkomt met de situatie van vrije concurrentie die het meest in het belang van de consument geacht wordt.

8.4 Logica en spel

We hebben nu een aantal voorbeelden gezien van de formele analyse van spelsituaties, waarin we wiskundig precieze conclusies over rationeel spelgedrag kunnen maken. Tot zover leek het echter weinig met logica te maken te hebben. Er zijn echter vele verbanden en overeenkomsten tussen logica en speltheorie. De globale overeenkomst is dat veel in de logica gezien kan worden als een nulsom-spel tussen twee spelers: de uitkomsten zijn ‘waar’ en ‘onwaar’, de ene speler probeert gelijk te krijgen, en de andere speler probeert het ongelijk van de ene speler te bereiken. Zetten in zo’n spel komen overeen met het aanvoeren van argumenten voor en tegen een bepaalde conclusie. En net als in de rechtspraak en in de retorica gaat het niet alleen om gelijk hebben maar ook om gelijk krijgen, en speelt het een rol hoeveel zetten je kunt doen (hoeveel argumenten de verdediging kan aanvoeren) binnen de beperkte tijd die je hebt om je gelijk te kunnen halen. Logische spelen voor meer dan twee spelers en meer dan twee posities zijn

92

Page 102: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

nauwelijks bestudeerd, hoewel een debat naast twee partijen natuurlijk best nog een ‘scheidsrechter’ zou kunnen hebben.

De argumentatietheorie, die teruggaat op de voorgeschiedenis van de logica in de Griekse oudheid, getuigt van dit karakter van de logica als spel. Dit werd opnieuw een levendig vakgebied na het werk van Lorenzen in de jaren 1950. Ook uit die tijd dateren spelen waarin een predikaatlogische formule ‘waar bewezen kan worden’ in het licht van tegenzetten door een logische tegenstander. Voor wie het programma ‘Tarski’s World’ wel eens heeft gezien: in dit programma is een voorbeeld hiervan het zogenaamde ‘Hintikka game’ dat je met de computer kunt spelen.

Er zijn ook spelen om de modelvergelijkingstaak uit het vorige hoofdstuk spelenderwijs uit te voeren. Een van deze benaderingen staat bekend als Ehrenfeucht-Fraïssé-spelen. Gegeven twee structuren die bestaan uit een verzameling objecten met relaties daartussen, probeert in dat spel een ‘Spoiler’ (Bederver) te bewijzen dat ze verschillend zijn, en een ‘Duplicator’ (Verdubbelaar) dat ze hetzelfde zijn. We beperken ons tot één voorbeeld om dit toe te lichten.

VOORBEELD 8.9 Gegeven zijn de twee modellen Drie (links) en Vier (rechts), in onder-staande figuur.

Een spelverloop is als volgt. Van tevoren wordt afgesproken hoeveel zetten het spel duurt. Bijvoorbeeld: twee zetten. Bederver kiest nu een model en een punt in dat model, bijvoorbeeld het model links en het punt 3. Verdubbelaar moet dan een punt in het andere model kiezen. Als hij goed speelt, kiest hij het punt dat hij het meest vindt lijken op de keuze van Bederver. Bijvoorbeeld, Verdubbelaar kiest rechts het punt d. Nu mag Bederver opnieuw een model kiezen en een punt daarin, bijvoor-beeld opnieuw links en daarin punt 1. Daarna moet Verdubbelaar in het andere model opnieuw een punt kiezen, bijvoorbeeld a. Beide spelers hebben nu twee zetten gedaan en het spel is uit. We beperken beide modellen nu tot de geselecteerde punten, met behoud van alle ver-bindingen tussen die punten. Met andere woorden, links houden we 1 → 3, en rechts houden we a → d.Als er nu geen structureel verschil is tussen de beide modellen, dan heeft Verdubbelaar gewonnen; hij is er immers in geslaagd de structuur te

93

Page 103: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

verdubbelen, dat wil zeggen precies hetzelfde te krijgen. Anders heeft Bederver gewonnen: zij heeft de poging van Verdubbelaar om de structuur te kopiëren succesvol weten te bederven.In dit voorbeeld heeft Verdubbelaar gewonnen: er is (alleen) een pijl van 1 naar 3, maar ook (alleen) een pijl van a naar d. Daarbij is tevens van belang dat 1 met a correspondeert (de keuzes in de eerste zet) en 3 met d corres-pondeert (de keuzes in de tweede zet). Als de uitkomst rechts niet a → d, maar d ← a was geweest (het resultaat van het spelverloop waarbij Verdub-belaar eerst a en dan d had gekozen), dan had Bederver toch gewonnen: er is immers een pijl van 1 naar 3, maar niet van d naar a.

Bederver en Verdubbelaar spelen nog een keer. Ze mogen nu ieder vier zetten doen. Het spel verloopt als volgt: B V

1 ad 32 b3 d

Opnieuw wint Verdubbelaar! Maar nu heeft Bederver het toch niet goed gespeeld. Bederver had namelijk beter een andere laatste zet kunnen doen: B V

1 ad 32 bc 3

Nu heeft Bederver (terecht!) gewonnen, want er is een pijl van d naar c maar geen pijl van 3 naar 3. Bederver moet dus niet zomaar wat doen, maar een goede strategie opzetten om het spel te kunnen winnen.

Dit spel kan gespeeld worden met de modellen voor de predikaatlogica uit hoofdstuk 4 maar ook met de modellen voor de modale logica zoals die in voorbeeld 7.3 in het hoofdstuk over complexiteit. Bij de twee modellen in dat voorbeeld kan Bederver nooit winnen. Dat is daarmee een andere ma-nier om te bewijzen dat die modellen dezelfde informatie-inhoud hebben. ◊

In dit laatste voorbeeld zien we opnieuw verschillende logische thema’s bij elkaar komen, en doorvlochten worden met speltheorie. Het uitvoeren van een spel tussen Bederver en Verdubbelaar kunnen we weergeven in een

94

Page 104: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

spelboom, met uitkomsten winnen en verliezen, en de Stelling van Zermelo toont aan dat de uitkomst van zo’n spel gedetermineerd moet zijn. En het bepalen of twee modellen dezelfde informatie-inhoud hebben, is zoals al gezegd een vergelijkingstaak (model comparison) uit hoofdstuk 7 - waarbij van het grootste belang is wat de complexiteit is om zo’n taak uit te voeren.Kort gezegd, logische taken hebben een spelkarakter, en daarmee past de logica ook goed bij de analyse van spelen.

8.5 Het ultimatumspel

Net als bij gewoon redeneren is er ook bij spelmodellen een vraag naar de aansluiting bij feitelijk menselijk gedrag. En dan blijken duidelijke discre-panties tussen speltheorie en praktijk.In het bijzonder is het niet duidelijk dat mensen in alle omstandigheden zich uitsluitend door rationele overwegingen laten leiden van eigenbelang. Een goed voorbeeld is het ultimatumspel dat recent veel in de belangstelling heeft gestaan.

In dit spel met twee spelers wordt een aanzienlijke som, zeg 100.000 euro aan speler 1 gegeven. Speler 1 mag dit bedrag over de twee spelers verde-len. Vervolgens mag speler 2 besluiten of beide spelers de toegekende bedragen mogen houden of niet. Dat wil zeggen, als speler 2 akkoord is krijgt hij het percentage dat speler 1 hem heeft toegedacht en mag speler 1 de rest houden. Als speler 2 niet akkoord is krijgen beide spelers helemaal niets. Het spel wordt slechts één keer gespeeld en de spelers zijn onbeken-den en zullen elkaar ook niet opnieuw ontmoeten.De rationele keuzetheorie zegt dat speler 2 altijd moet accepteren zolang hij maar iets krijgt toegewezen, ongeacht hoe klein het bedrag is. Zelfs als speler 1 maar één euro ‘fooi’ geeft en zelf de resterende 99.999 houdt, kan speler 2 toch een winst van één boeken. Het alternatief is namelijk helemaal niets. Toch zal in de praktijk speler 2 geneigd zijn nee te zeggen als het toegewezen bedrag laag is. Een percentage van minstens 30 % wordt als redelijk ervaren.

Eén van de mogelijke verklaringen is dat wij mensen toch zo geprogram-meerd zijn dat we rekening houden met het lange termijn effect van de beslissing. Het zou wel eens zo kunnen zijn dat onze reputatie een deuk oploopt als we een belachelijk lage fooi accepteren. We zouden de naam krijgen ‘goedkoop’ te zijn, en dat zou ons later duur kunnen komen te staan.Juist het feit dat we dit soort extra redeneringen willen begrijpen, brengt dan de logica weer ‘in het spel’: nog onlangs kreeg Robert Aumann de Nobelprijs voor de Economie voor zijn baanbrekende werk aan onder meer systemen van kennislogica die analyseren op grond van welke informatie over elkaar, spelers hun spelgedrag kiezen.

95

Page 105: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Samenvatting

Een spel wordt gespeeld door verschillende spelers, die tegelijk of na elkaar zetten doen. Een manier van spelen die garandeert dat je altijd wint, wat de tegenstander ook doet, is een winstrategie. In een nulsom-spel zijn maar twee uitkomsten mogelijk: winnen en verliezen. Er is maar één winnaar. De stelling van Zermelo zegt dat ieder eindig nulsom-spel gedetermineerd is. Een gebruikelijke representatie voor spelen waarbij de spelers tegelijkertijd zetten doen is een m × n matrix waarin de uitkomsten staan voor ieder van de m strategieën van de ene speler in combinatie met ieder van de n strate-gieën van de andere speler. Een strategieënpaar voor twee spelers is in Nash-evenwicht als geen van beide spelers de uitkomst kan verbeteren door van strategie te veranderen als de andere speler niet van strategie verandert. Er zijn vele verbanden tussen logica en speltheorie. Zo is er de globale overeenkomst dat veel in de logica gezien kan worden als een nulsom-spel tussen twee spelers: de uitkomsten zijn ‘waar’ en ‘onwaar’, de ene speler probeert gelijk te krijgen, en de andere speler probeert het ongelijk van de ene speler te bereiken. Zetten in zo’n spel komen overeen met het aanvoe-ren van argumenten voor en tegen een bepaalde conclusie. Maar ook wordt de logica tegenwoordig gebruikt om informatie en rede-neren te analyseren van actoren die een optimaal gedrag nastreven in elk willekeurig spel, of dat nu een logisch doel heeft of niet.

Opgaven

OPGAVE 8.1 Bewijs dat er in voorbeeld 8.2 voor Loper geen winnende strategie is waar-bij hij eerst naar knoop 3 gaat.

OPGAVE 8.2 Beschouw de volgende beginsituatie voor het Nim-spel (zie voorbeeld 8.3). n1 1 0 1n2 1 0 0 1n3 1 1 0

Is deze situatie gebalanceerd of niet? Wie kan dus winnen? Geef een moge-lijk spelverloop.

96

Page 106: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

OPGAVE 8.3 Een andere bekende vorm van het Prisoners’ Dilemma is de wapenwed-loop, met als strategieën ‘ontwapen’ en ‘bewapen’. Bijvoorbeeld in onder-staande vorm. ontwapenen bewapenen

ontwapenen (3, 3) (0, 4)bewapenen (4, 0) (1, 1)

De partijen worden naar het Nash-evenwicht ‘bewapenen’ gedreven, ook al is het in ieders belang te ontwapenen. Een variatie hierop is als volgt: ontwapenen bewapenen

ontwapenen (3, 3) (0, 4)bewapenen (4, 0) (–10, –10)

Met andere woorden: de uitkomst van ‘allebei bewapenen’ is hier sterk negatief voor beide partijen (MAD: ‘mutually assured destruction’). Laat zien dat (bewapenen, bewapenen) nu geen Nash-evenwicht meer is. Is een van de andere combinaties nu wel een Nash-evenwicht?

OPGAVE 8.4 Neem de modellen van voorbeeld 6.7 en voorbeeld 6.10. Laat met een Ehrenfeucht-Fraïssé-spel van twee zetten zien dat deze niet dezelfde in-formatie bevatten. (Vergeet niet dat alle toestanden ook reflexieve pijlen hebben).

97

Page 107: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

98

Page 108: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Tot besluit

De lezer heeft nu veel thema’s van logisch belang langs zien komen. We hebben daarbij gestreefd naar een balans tussen klassieke thema’s rond geldig redeneren, zoals waarheid en bewijzen, en moderne visies op logica als de studie van informatie, rekenprocessen, en interactie in conversatie of spel.

In de hoofdstukken over propositielogica introduceerden we een funda-mentele taal waarin we volledige zinnen door een enkele propositieletter weergeven en ons verder alleen bekommeren om de logische verbanden tussen zinsdelen zoals ‘en’, ‘of’, en ‘dan en slechts dan als’. We konden hier ook mee rekenen, met gebruikmaking van equivalenties zoals dat ¬¬p equivalent is met p. Dit binair rekenen vormt de basis van iedere computer.

De predikaatlogica was een natuurlijke uitbreiding op de propositielogica waarin de individuele proposities ook interne structuur hebben, en we de namen van objecten die in die proposities voorkomen ook kunnen onder-scheiden, in hun relatie tot elkaar. Die relatie stond traditioneel bekend als het prediceren van dergelijke objecten, en vandaar de naam voor die logica. Met universele en existentiële kwantoren konden we heel wat eigenschap-pen van relationele structuren tot uitdrukking brengen, en zelfs getaltheo-rie uitdrukken, zoals de bewering dat er geen grootste priemgetal is. In feite kan de predikaatlogica zelfs de wiskundige verzamelingenleer weergeven, en is daarmee geschikt als sterke grondslagentheorie. Maar dit systeem dient even goed de moderne informatica, en een toepassing was het gebruik van correctheidsbeweringen die het effect van computerprogram-ma’s op logische wijze omschrijven.

Een heel andere uitbreiding van de propositielogica is de kennislogica die gebruikt kan worden om informatie van actoren weer te geven, en de veranderingen die daarin optreden door communicatie. Hiermee drukken we uit dat logica wordt gedaan door een kennend subject, dat zelfs over de kennis van andere actoren kan redeneren. Deze wederkerige kennis vormt het web van verwachtingen dat ons gedrag stuurt en op zijn plaats houdt. Een van de vele verrassende verschijnselen op dit gebied was dat het uit-spreken van een bewering deze onwaar kan maken: duidelijker kunnen we niet maken dat logica vooral in actie bestudeerd moet worden en geen sta-tisch geheel is.

We besteedden vervolgens ook aparte aandacht aan de duur van logische processen, zoals hoe lang het duurt om een waarheidstabel door te rekenen, of om te controleren of een redenering geldig is. Dit gebeurde in het hoofd-stuk over computationele complexiteit.

99

Page 109: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Ten slotte hielden we ons bezig met spelen, waarin de logica eveneens tot uitdrukking gebracht kan worden, door iemand die een zin waar wil ma-ken een spel te laten spelen met iemand die een zin onwaar wil maken: ‘echte’ waarheid betekent dan dat er een winnende strategie is om het waar te maken. Maar je moet het wel goed spelen, anders kun je toch verliezen, net als in de rechtszaal.

Er zijn veel zaken van modern logisch belang waaraan we in dit boek voorbij zijn gegaan. Veel daarvan liggen in het spanningsveld tussen logica als theorie van correct redeneren en correcte informatieverwerking, en de realiteit van menselijk gedrag op deze gebieden, vaak met gebruik van onze gewone taal. Verbanden tussen logica en natuurlijke taal, al dan niet problematisch, worden in veel leerboeken besproken, maar hier hebben we andere accenten gekozen. Naast taalgebruik noemen we een drietal verdere aspecten van menselijk gedrag die raken aan de huidige logica. Om te beginnen zijn mensen van vlees en bloed beperkt in hun redeneer-mogelijkheden: een denkstap kost tijd en moeite. Dat valt met name op als we er vele honderden of duizenden moeten uitvoeren. De cognitieweten-schap bestudeert architecturen met dergelijke beperkingen, die ver af liggen van de idealiseringen in onze logische systemen, zowel klassieke voor bewijzen als moderne voor kennis en communicatie. Hoe we de juiste aansluiting moeten vinden tussen de logische theorie die streeft naar correctheid, en de beperkingen van onze cognitieve vermogens is een funda-mentele open vraag.

Van groot belang bij deze realiteiten van alledaags redeneren op grond van nieuwe informatie is het voorlopige karakter. Ik geloof dat p het geval is op grond van mijn huidige informatie, en concludeer daaruit voorlopig weer andere dingen onder gebruik van verdere redelijke veronderstellingen. Maar ik weet ook dat nieuwe informatie deze verwachtingen teniet kan doen, zodat ik mijn opvattingen moet herzien. Processen van herziening van eerdere conclusies, die in de klassieke logica en wiskunde helemaal niet voorkwamen, zijn een belangrijk thema in de moderne logica. In feite gaat het er niet om, zelfs voor een logicus, om altijd gelijk te hebben, maar om optimaal te leren van verrassende nieuwe feiten!

Zo zijn er nog veel meer verbanden tussen logica en cognitiewetenschap, en zelfs tussen logica en ontwikkelingspsychologie: hoe leert een kind nu eigenlijk redeneren? Een logisch systeem beschrijft een ideale expertise, maar kan zo’n systeem worden aangeleerd? En in verband hiermee, wan-neer kan een kind zich verplaatsen in het standpunt van iemand anders? Hoewel iedereen wel mensen kent die dit helemaal nooit hebben geleerd, tonen psychologische experimenten aan dat deze ‘theory of mind’ zich doorgaans rond het vierde levensjaar begint te vormen. En die vorm van intelligentie is natuurlijk essentieel voor de interactieve aspecten van de logica zoals we in onze latere hoofdstukken hebben besproken.

100

Page 110: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Hoofdstuk 8 Spel en logica van interactie

Terugkerend naar wat er dan wel in dit boek staat, blijkt ook daar reeds een breed panorama. De logica begon als wiskundige studie van redeneerpatro-nen, en toonde daarmee de kracht aan van ‘denken over denken’. De resul-taten van die studie zijn inmiddels breed uitgewaaierd, van de wiskunde en filosofie tot de informatica en taalkunde - waarbij het werkterrein zich verbreedt tot een veel bredere studie van informatie en rekenprocessen. Wat ons perspectief op ‘Logica in actie’ daaraan nog eens heeft toegevoegd is een verdere rol voor de logica als studie van intelligente interactie die nieuwe verbanden legt met alle genoemde gebieden, maar ook via thema’s als communicatie en spel met nieuwe disciplines zoals de psychologie, economie, en de cognitiewetenschap.

Nu kan men dit alles nog wetenschap voor wetenschappers noemen. Is een technisch vak als de logica ook nuttig in de praktijk, en het verbeteren van ons menselijk gedrag? Hier keren we nog even terug naar de prijs die aan-leiding was voor dit boekje. Spinoza was een voorvechter van het gebruik van wiskundige methoden op menselijk gedrag, getuige zijn hoofdwerk Ethica More Geometrico Demonstrata. En dit werk bevat passages die goed lijken aan te sluiten bij dit boek, waarbij zelfs nog een levend verschijnsel als emotie te pas komt: “Wanneer de geest zichzelf in zijn vermogen tot handelen beschouwt, verblijdt hij zich [...]”. Maar dat gaat dan wel om een abstracte vreugde: “Blijheid is ’s mensen overgang van geringer tot groter volmaaktheid”. Komt de moderne logica voorbij haar abstracties de werke-lijkheid in? Die vraag laten wij over aan de lezers van dit boek.

101

Page 111: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

102

Page 112: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Uitwerkingen van de opgaven

Uitwerkingen van de opgaven bij hoofdstuk 2

2.1 – ∧ p ∧ q is geen formule: uitgezonderd het negatieteken kan een connec-tief in onze propositielogica niet voorop staan (zie definitie). – p ∨ p is een formule (ook al is de disjunctie in feite overbodig); spreek uit: ‘p of p’.– (p → q) ↔ ¬(¬q → ¬p) is ook een formule; spreek uit: ‘als p dan q’, tus-sen haakjes, dan en slechts dan als niet, tussen haakjes, als niet q dan niet p’.– p ∧ ∨ q is geen formule, connectieven anders dan ¬ kunnen volgens de definitie van formule nooit direct naast elkaar staan.

2.2 De waarheidstabel voor de formule (p → q) ∨ (q → p) is: p q (p → q) ∨ (q → p)

1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0

1 2 1 3 1 2 1

De waarheidstabel voor de formule ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q) is: p q r ((p ∨ ¬ q) ∧ r) ↔ (¬ (p ∧ r) ∨ q)

1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0

1 3 2 1 4 1 5 3 1 2 1 4 1

103

Page 113: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

2.3 – ‘Marie noch Jan gaat naar het feest.’ Goed zijn bijvoorbeeld ¬q ∧ ¬p of ¬p ∧ ¬q.– ‘Of Marie óf Jan gaat naar het feest.’ Heel direct wordt dit (q ∧ ¬p) ∨ (p ∧ ¬q) . Eveneens goed is p ↔ ¬q.– ‘Jan gaat naar het feest, tenzij Marie er naar toe gaat.’ Dit hangt af van hoe we ‘tenzij’ opvatten: in de zin van ‘als niet’ opgevat, wordt de vertaling ¬q → p , en opgevat als ‘desda niet’ wordt het p ↔ ¬q . (Dit komt dus neer op het verschil tussen inclusieve en exclusieve disjunctie, vergelijk ook met het vorige onderdeel van deze opgave.)

2.4 Zij p: ‘Jan gaat’, q: ‘Marie gaat’ en r: ‘Piet gaat’. De uitspraak ‘Als Jan gaat, gaat Marie in ieder geval, en Piet gaat alleen als Jan niet gaat’ kan dan in propositielogica worden uitgedrukt door: (p → q) ∧ (r → ¬p). (Soms wordt ‘alleen als’ niet als →, maar als ↔ opgevat - die mogelijkheid laten we hier buiten beschouwing.) De waarheidstabel voor deze formule is: p q r (p → q) ∧ (r → ¬ p)

1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0

1 2 1 4 1 3 2 1

De gevallen waarin de formule waar is, zijn in de tabel uit de kolom boven 4 te halen. Het zijn die gevallen (rijen) waarin een 1 staat in de kolom boven 4. Voor deze gevallen kan uit de kolommen onder p, q en r worden afgeleid dat óf Jan en Marie gaan, maar Piet niet, óf Jan gaat niet.

Uitwerkingen van de opgaven bij hoofdstuk 3

3.1 De waarheidstabel van p ↔ ¬p is: p p ↔ ¬ p

1 1 0 0 1 0 0 0 1 0

104

Page 114: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Uitwerkingen van de opgaven

De aangegeven kolom bevat slechts nullen, dus p ↔ ¬p is een contradictie.

De waarheidstabel van p → (q → p) is: p q p → (q → p)

1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 0

De aangegeven kolom bevat slechts enen, dus p → (q → p) is een tautologie.

De waarheidstabel van ¬((p → q) → p) is: p q ¬ ((p → q) → p)

1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0

De aangegeven kolom bevat niet slechts enen of nullen, dus de formule ¬((p → q) → p) is geen tautologie en ook geen contradictie. Omdat er een waardering is waarvoor de formule waar is, is deze vervulbaar. (Een for-mule die geen tautologie en ook geen contradictie is wordt ook wel een contingentie genoemd.)

3.2 De waarheidstabel van (p ∧ q) → p is: p q (p ∧ q) → p

1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0

105

Page 115: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

De aangegeven kolom bevat slechts enen, dus (p ∧ q) → p is een tautologie. Deze tautologie hangt samen met de geldige gevolgtrekking p, q ⇒ p. Dit is natuurlijk ook direct te zien: als p en q immers waar zijn, is p zeker waar.

3.3 De waarheidstabellen voor p → q, ¬q en ¬p zijn: p q p → q ¬ q ¬ p

1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0

Alleen in de laatste rij zijn beide uitgangspunten waar, maar dan is de conclusie dat ook. We hebben de betreffende 1-en onderstreept. Dus p → q, ¬q ⇒ ¬p.

3.4 We beginnen met 8 verschillende waarderingen. Na verwerking van de informatie “Als Jan gaat, dan gaat Marie” zijn er hiervan nog 6 over (name-lijk de zes waarbij in de kolom voor (p → q) in de uitwerking van opgave 2.4 een 1 staat). Na verwerking van “Piet gaat alleen als Jan niet gaat”, ver-valt er van deze 6 waarderingen nog één (namelijk de waardering waarin p, q, en r alledrie waar zijn) en blijven er dus nog 5 waarderingen over.

3. 5 De redenering is: “Papa, waarom gaat de zon onder?” “Omdat de zon om de aarde draait, jongen.” “En waarom is dat dan?” “Ja, anders zou ‘ie toch stilstaan boven ons, niet?”

Laat propositieletter p staan voor de propositie ‘de zon gaat onder’, en laat propositieletter q staan voor de propositie ‘de zon draait om de aarde’. Voor het gemak vertalen we ‘de zon staat stil’ als ‘de zon gaat niet onder’, dus als ¬p . In een zin als ‘a omdat b’ zeggen we eigenlijk: a is waar, en b impliceert a. De redenering ‘De zon gaat onder omdat de zon om de aarde draait’ komt dus overeen met q, q → p ⇒ p. De redenering ‘Anders zou ‘ie toch stilstaan’ komt overeen met p, ¬q → ¬p ⇒ q. Deze beide redeneringen zijn correct. Samen krijgen we dus de incorrecte redenering ¬q → ¬p, q → p⇒/ p. Dit is een voorbeeld van de drogreden ‘cirkelredenering’. De redenering komt namelijk overeen met p → q, q → p ⇒/ p.

Uitwerkingen van de opgaven bij hoofdstuk 4

4.1 – ∃x ∀y x = y is wel een formule, spreek uit: ‘Er is een x waarvoor voor elke y geldt dat x gelijk is aan y’, met andere woorden: er is precies één object.

106

Page 116: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Uitwerkingen van de opgaven

– ∀x x ≥ y → ∃z y = z is wel een formule. Het maakt niet uit dat y een vrije variabele is. Dit drukt uit: “Als iedere x groter dan of gelijk aan y is, dan is er een z gelijk aan y.” – ∀x ∧ ∃z R(x, z) is geen formule. De conjunctie ∧ moet zowel links als rechts een deelformule hebben, maar dit is alleen rechts het geval.– ∀x x ∧ ∃z z > y is geen formule. Nu heeft de conjunctie links een varia-bele. Een variabele is geen deelformule, maar een term.– ∀x ∀y ∃z (x > y ∨ y > z) is wel een formule, spreek uit: ‘Voor alle x (en) voor alle y is er een z waarvoor x groter is dan y of y groter is dan z.’ In plaats van ‘voor alle x en voor alle y’ zeggen we ook ‘voor alle x en y’ (dat komt ook omdat bij universele kwantoren de volgorde niet uitmaakt.)

4.2 Gegeven is een verzameling V waarop een kleiner-of-gelijk-relatie ≤ is gedefinieerd.– Er is een kleinste element in V: ∃x (V(x) ∧ ∀y (V(y) → x ≤ y)) – Er is geen grootste element in V: ¬∃x (V(x) ∧ ∀y (V(y) → y ≤ x)) – Er is een maximaal element in V: ∃x (V(x) ∧ ∀y ((V(y) ∧ x ≠ y) → ¬(x ≤ y)))

4.3 We geven het bereik aan van de kwantor ∀y door onderstreping.– ∀x ∀y ∃ z y + z = x : geen vrije variabelen.– ∀y ∃ z y + z = x : x is vrij.– ∀y ∃ z y < z ∧ y > x: x en laatste voorkomen van y (dus in y > x) zijn vrij.– P(y) → ∀y ∃ z y < z : eerste voorkomen van y is vrij.

Uitwerkingen van de opgaven bij hoofdstuk 5

5.1 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 woor-den: 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

107

Page 117: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

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 objec-ten 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}

begin

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}

einde

{x = b, y = c, z = a}

We zien hier een zogenaamde cyclische permutatie van de waarden van x, y en z.

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

begin {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}

einde

{x = b, y = a}

Uitwerkingen van de opgaven bij hoofdstuk 6

6.1 In logische taal zijn de beweringen:– ¬K1w2

– ¬(K1w2 ∨ K1¬w2)– ¬K1¬¬K3¬¬r1

De eerste bewering is waar, omdat K1w2 onwaar is. En dat is onwaar, omdat er een toestand voorstelbaar is voor speler 1 waarin w2 onwaar is, namelijk de toestand rbw. De tweede bewering is waar, omdat K1w2 ∨ K1¬w2 onwaar is. In het eerste deel van de opgave zagen we al dat K1w2 onwaar is in toe-

108

Page 118: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Uitwerkingen van de opgaven

stand rwb. Maar K1¬w2 is eveneens onwaar daar: speler 1 kan zich namelijk ook een toestand voorstellen waarin ¬w2 onwaar is, en dus w2 waar: dit is namelijk het geval in de werkelijke toestand rwb. De derde bewering is waar, omdat speler 1 zich vanuit rwb toestand rwb kan voorstellen, van waaruit speler 3 zich toestand wrb kan voorstellen, waarin 1 niet rood heeft (maar wit). Een ander bewijs van deze bewering is dat speler 1 zich vanuit rwb toestand rbw kan voorstellen, van waaruit speler 3 zich toestand brw kan voorstellen, waarin 1 evenmin rood heeft (maar blauw).

6.2 Gegeven is het model voor drie spelers 1, 2, en 3 die ieder een van de kaar-ten r, w en b vasthouden.– We laten zien dat K1(K2r2 ∨ K2w2 ∨ K2b2) geldt in situatie rwb. De andere gevallen gaan evenzo. In rwb is het waar dat K1(K2r2 ∨ K2w2 ∨ K2b2) als de formule die door K1 gebonden wordt waar is in alle voor speler 1 voorstel-bare situaties. Dit zijn rwb en rbw. In situatie rwb is K2r2 ∨ K2w2 ∨ K2b2 waar als een van de drie disjuncten daar waar is. Omdat speler 2 in die situatie de witte kaart heeft, proberen we het disjunct K2w2 waar te maken. De formule K2w2 is waar in situatie rwb, als de formule w2 die door K2 gebonden wordt waar is in alle voor speler 2 vanuit rwb voorstelbare situaties. Dit zijn rwb en bwr. In rwb is w2 waar, want de waardering van propositieletter w2 in die situatie is 1. We hebben hiermee aangetoond dat in situatie rwb de formule K2r2 ∨ K2w2 ∨ K2b2 waar is. In de andere voorstelbare situatie, rbw, kunnen we eveneens aantonen dat K2r2 ∨ K2w2 ∨ K2b2 waar is, maar in dit geval omdat het conjunct K2b2 waar is. De andere vijf situaties van het model gaan net zo.– In situatie rwb is K3r1 waar, omdat rwb de enige situatie is die speler 3 zich kan voorstellen, en in die situatie r1 waar is: 1 heeft inderdaad de rode kaart.– In situatie rwb is ¬K2r1 waar, omdat het niet zo is dat K2r1 daarin waar is. Er is namelijk een voor speler 2 voorstelbare situatie, bwr, waarin r1

onwaar is: speler 1 houdt in bwr de blauwe kaart vast, niet de rode kaart. Speler 1 weet echter niet dat speler 2 dit niet weet (¬K1¬K2r1). Dit komt omdat speler twee situatie rbw voor mogelijk houdt, waarin speler 2 wel weet dat speler 1 weet dat haar kaart de rode is.– Ten slotte is in situatie rwb formule ¬K1¬K2r1 waar. Deze drukt uit dat speler 1 zich kan voorstellen dat (niet weet dat niet) K2r1 waar is. Dit is inderdaad het geval, want in de voor 1 voorstelbare situatie rbw is K2r1

inderdaad waar, omdat r1 daar waar is in de enige voor speler 2 voorstel-bare situaties rbw.

6.3 De beginsituatie beschrijft precies een distributief systeem als in voorbeeld 6.6, met één verschil: in een distributief systeem weet een proces alleen zijn eigen toestand. In het geval van bestipte actoren is die eigen toestand eigenlijk de stip die de actor ziet op het voorhoofd van de ander. Omdat dat fysiek deel uitmaakt van die andere persoon, zou je als het ware net zo goed kunnen zeggen dat die actor nu juist de toestand van de ander kent in

109

Page 119: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

plaats van zijn eigen toestand. Het is lood om oud ijzer. De figuur die deze situatie weergeeft is als volgt:

Ten opzichte van de figuur in voorbeeld 6.6 zijn alleen de voorstelbaar-heidsrelaties voor a en b verwisseld; 10 staat voor stip op a’s voorhoofd, geen stip op b’s voorhoofd. Speler/actor a kan situaties 10 en 00 niet van elkaar onderscheiden, waarin zij ziet dat b geen stip heeft, maar zelf of wel of niet een stip heeft. Etc.

De mededeling van de buitenstaander elimineert de situatie 00 uit het model. Het resultaat is dus:

In de situatie 10 geldt nu dat a zich geen alternatief kan voorstellen; a weet dus dat zij bestipt is.

Als daarentegen zowel a als b bestipt zijn, hebben beiden nog onzekerheid over de situatie. (Met andere woorden: voor elk geldt, dat ze een stip zien. De mededeling van de buitenstaander is zowel waar als alleen de ander een stip heeft, als wanneer ze allebei een stip hebben. Onzekerheid dus.) Nu zegt a : “Ik weet niet of ik bestipt ben.” Dit is de formule ¬(Kap ∨ Ka¬p) . Merk nu op dat deze formule alleen waar is in situaties 01 en 11. We ver-werken deze uitspraak dus door het model te beperken tot deze twee situaties:

In het resterende model weet b dat hij bestipt is. Vanuit de werkelijke situatie 11 kan hij zich immers geen andere situatie meer voorstellen.

110

Page 120: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Uitwerkingen van de opgaven

Uitwerkingen van de opgaven bij hoofdstuk 7

7.1 We voeren het ‘graph reachability’ algoritme van voorbeeld 7.7 uit voor de gegeven graaf, met s als beginknoop en t als eindknoop. R is de verzamelingen rode knopen, B is de verzameling blauwe knopen. Om te beginnen is R = {1} en B = ∅. De handeling waarbij we een rode knoop uit R selecteren, blauw maken, en zijn opvolgers rood, noemen we een stap. Merk op dat de selectie van een rode knoop in een stap non-deterministisch (onbepaald) is. We kiezen dus gewoon een rode knoop - niet per se de eerste als we de elementen van de verzamelingen R van links naar rechts lezen. Het is mogelijk dat u in uw antwoord een andere keuze gemaakt heeft, maar dat uw antwoord toch goed is.

R = {1} B = ∅Kies 1, de opvolgers zijn 2, 3 en 7.

R = {2, 3, 7} B = {1}Kies 2, de opvolgers zijn 1, 3, en 4;4 heeft geen kleur.

R = {3, 4, 7} B = {1, 2}Kies 3, de opvolgers zijn 2, 4, 5, en 6;5 en 6 hebben geen kleur.

R = {4, 5, 6, 7} B = {1, 2, 3}Kies 6, alle knopen zijn inmiddelsgekleurd.

R = {4, 5, 7} B = {1, 2, 3, 6}Kies 4.

R = {5, 7} B = {1, 2, 3, 4, 6}Kies 7.

R = {5} B = {1, 2, 3, 4, 6, 7}Kies 5.

R = ∅ B = {1, 2, 3, 4, 5, 6, 7}

De knoop t = 4 maakt deel uit van de verzameling B. Dus t is vanuit s be-reikbaar. Merk op dat we het algoritme niet stoppen op het moment dat 4 in de verzameling B komt, maar dat het algoritme volgens afspraak pas termineert als de verzameling R leeg is.

7.2 We voeren het ‘vind de bekendheid’ algoritme van voorbeeld 7.6 uit voor de gegeven graaf.De verzameling punten (of mensen) met rode balletjes is R. De keuze voor twee uit R is non-deterministisch (net als in de vorige opgave). We geven de keuze aan in het overzicht hierna - u heeft wellicht een andere keuze gemaakt!

R = {1, 2, 3, 4} Kies 2 en 4, 2 kent 4 niet, neem dus 4 rood af.

R = {1, 2, 3}

111

Page 121: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Kies 1 en 3, 1 kent 3, neem dus 1 rood af. R = {2, 3}

‘Kies’ 2 en 3, 2 kent 3, neem dus 2 rood af. R = {3}

We moeten nu testen of de unieke overblijver (er is altijd een unieke overblijver!) een beroemdheid is. Dit is zo, want (1, 3), (2, 3), (4, 3) zitten alledrie in K, maar (3, 3) zit niet in K.

Uitwerkingen van de opgaven bij hoofdstuk 8

8.1 In voorbeeld 8.2 heeft Loper geen winnende strategie waarbij hij eerst naar knoop 3 gaat. Stel dat Loper naar knoop 3 gaat. Wat kan Remmer doen om te verhinderen dat Loper 4 en 2 kan bereiken? Het verwijderen van 1 - 3 of 1 - 2 is zinloos omdat dit niet verhindert dat Loper via de snellere 3 - 2 toch bij 2 kan komen. (U kunt dit eventueel tot in detail uitspelen, als dit u nog niet overtuigt.) De andere mogelijkheden zijn: 3 - 2, 2 - 4, of 3 - 4 verwijde-ren.

Als Remmer 3 - 2 verwijdert, gaat Loper met de resterende 3 - 2 naar 2. Daarna kan Remmer 2 - 4 verwijderen, of niet. Zo niet, dan doet Loper 2 - 4: gewonnen. Zo wel, dan gaat Loper over 3 - 2 terug naar 3, waarna er nog twee verbindingen 3 - 4 resteren. Hiervan kan Remmer er maar één verwij-deren. Loper's volgende zet is dan 3 - 4. Wederom gewonnen.

Echter... laat Remmer nu eens 4 - 2 verwijderen. Als Loper eerst 3 - 2 doet, verwijdert Remmer een 3 - 4, en nadat Loper een 2 - 3 terugdoet, verwijdert Remmer de andere 3 - 4. Stuck! Als Loper in plaats daarvan eerst 3 - 4 doet, verwijdert Remmer een 3 - 2, en nadat Loper dan noodgedwongen terug-keert met 4 - 3, verwijdert Remmer de andere 3 - 2. Loper kan nu nog door-gaan via 3 - 1, waarna Remmer 1 - 2 verwijdert. Ook hier heeft Remmer gewonnen. (We hadden natuurlijk ook meteen met dit geval kunnen beginnen waarin Remmer 4 - 2 verwijdert, zodat we het geval 3 - 2 niet meer hoefden te bespreken; maar zo was het spannender.)

8.2 De beginsituatie is: n1 1 0 1 n2 1 0 0 1 n3 1 1 0

1 2 1 2

We hebben onder iedere kolom het aantal 1-en geteld. Deze situatie is on-gebalanceerd, want er zijn posities waarin het aantal 1-en oneven is. Dit

112

Page 122: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Uitwerkingen van de opgaven

betekent dat speler 1 kan winnen. Hiervoor moet die speler natuurlijk van deze ongebalanceerde situatie een gebalanceerde maken! Hiervoor moet speler 1 in één keer de twee oneven kolommen even zien te maken. Dit kan door van stapel n2 drie lucifers over te laten (1 haalt er dus zes weg). De spelsituatie is nu: n1 1 0 1 n2 1 1 n3 1 1 0

2 2 2

Deze situatie is gebalanceerd. Wat 2 ook doet, de situatie zal nu ongebalan-ceerd worden. Om het spel niet al te lang te laten duren (en waarom zou-den we ook, want 1 en 2 weten toch al hoe het moet aflopen), laten we 2 het stapeltje n1 weghalen. De situatie is nu: n2 1 1 n3 1 1 0

1 2 1

Hierop antwoord 1 met het verwijderen van drie lucifers van de stapel n3

met zes. (En dit is de enige manier waarop 1 kan winnen!) De situatie wordt nu: n2 1 1 n3 1 1

2 2

Speler 2 heeft er genoeg van, en verwijdert stapel n2, waarna speler 1 stapel n3 verwijdert. Speler 1 heeft inderdaad gewonnen.

8.3 Gegeven is de strategische matrix: ontwapenen bewapenen

ontwapenen (3, 3) (0, 4)bewapenen (4, 0) (–10, –10)

113

Page 123: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

Het strategiepaar (bewapenen, bewapenen) is geen Nash-evenwicht. Laat 1 de rijspeler zijn en 2 de kolomspeler. Stel dat 1 aanneemt dat 2 ‘bewapenen’ kiest. Als 1 in plaats van ‘bewapenen’ voor ‘ontwapenen’ kiest, is de winst 0 in plaats van –10. Het is dan dus beter te ontwapenen. Het strategiepaar (bewapenen, bewapenen) is dus geen Nash-evenwicht.

Neem nu het paar (ontwapenen, ontwapenen). Als 1 aanneemt dat 2 ont-wapent, dan heeft het voor 1 zin te gaan bewapenen, omdat haar uitkomst dan 4 is in plaats van 3. Dus (ontwapenen, ontwapenen) is evenmin een Nash-evenwicht.

We onderzoeken nu het paar (bewapenen, ontwapenen). Stel nu dat 2 aan-neemt dat 1 voor bewapenen kiest. Voor 2 heeft het dan geen zin van strate-gie te veranderen, omdat zijn uitkomst in het alternatief (bewapenen, bewa-penen) dan nog lager is: –10 in plaats van 0. Voor 1 heeft het ook geen zin van strategie te veranderen, omdat de alternatieve opbrengt 3 in (ontwape-nen, ontwapenen) kleiner is dan 4. Het paar (bewapenen, ontwapenen) is dus een Nash-evenwicht. Evenzo is het paar (ontwapenen, bewapenen) een Nash-evenwicht.

Ook al hebben we nu twee Nash-evenwichten, het lijkt op grond hiervan nog niet duidelijk wat nu voor 1 en 2 de beste strategie is. Een antwoord hierop is te geven als we het begrip ‘gemengde strategie’ erbij betrekken - dit voert hier echter te ver.

8.4 Bederver kan (bijvoorbeeld) als volgt in twee zetten winnen: Bederver kiest rwb in 6.10. Verdubbelaar kiest rwb in 6.7. Bederver kiest wrb in 6.10. Ver-dubbelaar kiest rbw in 6.7. Er is nu een structureel verschil, want er is wel een 3-pijl van rwb naar wrb in de restrictie van 6.10 tot de twee gekozen toestanden, maar er is niet een 3-pijl van rwb naar rbw in de restrictie van 6.10 tot de twee gekozen toestanden. Merk op dat na de tweede keuze van Bederver Verdubbelaar echt niet kan winnen, want de andere keuze rwb voor Verdubbelaar leidt evenmin tot succes.

114

Page 124: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Register

actor 64afsluitende stap 16al-kwantor 43argumentatietheorie 35atomaire formule 46

backwards induction 89basisstap 16bereik 18, 47beslisbaar 80bevestiging van het gevolg 35bewijs 2bewijstaak 74 bisimulatie 76Boole vi, 73

Church 80cirkelredenering 36conjunct 14conjunctie 14conjunctieteken 14connectieven 15constante 40contingentie 105contradictie 29correctheidsbewering 58

deelformule 17, 47disjunct 14disjunctie 14disjunctieteken 14distributief systeem 68doenlijk 80dominante strategie 91drogreden 35

éénplaatsig 42Ehrenfeucht-Fraïssé-spel 93epistemische logica 65equivalentie 15equivalentieteken 15Euclides vi , 2evaluatietaak 75

exclusieve disjunctie 23existentiebewijs 7existentiële kwantor 44

falsum 30formule 17, 46formulevariabele 17Frege viifunctiesymbool 47

gebonden variabele 48Gelfond-Schneider 8gevolg 30, 56Gödel vii, 80Goldbach 39, 45

haakjes 17halting problem 80

implicatie 15implicatieteken 15inductiestap 16inductieve definitie 16intractable 80

kennislogica 65kwantor 43, 44

Leibniz viilineaire tijd 76logisch gevolg 30, 56logisch programmeren 61logische equivalentie 32loodlijn 4

modale logica 65modale operator 65modaliteit 65model 28, 53model checking 75modeleliminatie 34multi-actorsysteem 64

115

Page 125: Logica in actie - ou.nl · Dit boek bevat de teksten van de cursus Logica in actie. De volledige cursus is beschikbaar op . Meer informatie over de …

Logica in actie

nand 24Nash-evenwicht 90negatie 14negatieteken 14n-plaatsig 42nulsom-spel 85

onbeslisbaar 80ondoenlijk 80

predikaat 40predikaatlogisch gevolg 56predikaatsymbool 40principe van uitgesloten derde 29prisoners’ dilemma 90programmaspecificatie 58Prolog 60propositie 12 propositieletter 15propositielogische connectieven 15publieke bekendmaking 70Pythagoras 2

rationale getallen 5

samengestelde formules 17, 47satisfiability 74specificatie 58spel 83spelboom 85stelling 2stelling van Gelfond-Schneider 8stelling van Pythagoras 2stelling van Zermelo 85stellingbewijzen 74

stopprobleem 80strategie 84strategisch spel 90

tautologie 28term 46theorem proving 74theory of mind 68tijdscomplexiteit 79toekenningsopdracht 57tractable 80tweeplaatsig 42

universele kwantor 43update 34, 70

variabele 42verborgen aanname 35vergelijkingstaak 7 5 verificatietaak 7 5 vermoeden van Goldbach 39, 45verum 30vervulbaar 28, 55, 74voorstelbaar 65voorstelbaarheidsrelatie 65vrije variabele 48

waardering 28waarheid 18, 52waarheidsfunctioneel 13winnende strategie 84winstrategie 84

Zermelo 85

116