158 32 2MB
Dutch Pages [156] Year 2016
Logica, verzamelingen en relaties Cursusdeel 1 Blok 1 Logica
1
Open Universiteit Faculteit Management, Science & Technology Auteur mw. drs. J.S. Lodder Deze cursus is grotendeels samengesteld uit delen van de cursussen Discrete wiskunde A (T07131) en Discrete wiskunde B (T33131), waaraan de volgende personen hebben meegewerkt: dhr. dr. R.J. Beerends, auteur dhr. A.S. Haven, auteur mw. drs. J. S. Lodder, auteur dhr. dr. H.M. Mulder, auteur dhr. dr. M. de Rijke, auteur dhr. dr. E.G.C. Thijsse, auteur dhr. drs. J.H. Timmerman, auteur mw. drs. H. Verhage, adviseur dhr. ir. E.M. van de Vrie, auteur Programmaleiding mw. prof. dr. T.E.J. Vos
CURSUSDEEL 1
Logica, verzamelingen en relaties Logica
3
Productie Open Universiteit Redactie John Arkenbout Arnold van der Leer Lay-out Maria Wienbröker-Kampermann Omslag Team Visuele communicatie, Open Universiteit Druk- en bindwerk Canon Business Services
Dit materiaal is gelicentieerd onder de Creative Commons-licentie NaamsvermeldingNietCommercieel-GeenAfgeleideWerken 4.0. Zie de licentie voor details: https://creativecommons.org/licenses/ by-nc-nd/4.0/legalcode This content is licensed under the Creative Commons license Attribution-NoncommercialNoDerivs 4.0. See licence for more details: https://creativecommons.org/licenses/ by-nc-nd/4.0/legalcode Eerste druk: 2016 Illustratieverantwoording ANP-Foto, Rijswijk: blz. 62 (EPA) Benelux Press bv, Voorburg: blz. 56 The Metropolitan Museum of Art, New York: blz. 75 Österreichische Nationalbibliothek, Wenen: blz. 22 Oxford University Computing Laboratory, Oxford: blz. 104
IB0402_50131_06062016 ISBN 978 94 92231 55 0 (serie) ISBN 978 94 92231 32 1 (deel 1) Cursuscode IB0402
Structuur van de cursus Logica, verzamelingen en relaties
Onderdeel
Blok
Leereenheid
Bladzijde
Cursusboek 1
1 Logica
Introductie tot de cursus
7
1 2 3 4
13 35 61 87
Propositielogica Wetten van de propositielogica Predikaatlogica Wetten van de predikaatlogica
Aanwijzingen en terugkoppelingen blok 1 Bijlagen: Symbolen en Grieks alfabet Register Cursusboek 2
2 Verzamelingen en relaties
5 6 7 8 9 10
Verzamelingenalgebra Boolealgebra’s Grafen Relaties en functies Equivalentierelaties Ordeningen
Aanwijzingen en terugkoppelingen blok 2 Bijlagen: Symbolen en Grieks alfabet Register Cursusboek 3
3 Inductie
11 Inductie en recursie 12 Inductieve bewijzen Aanwijzingen en terugkoppelingen blok 3 Bijlagen: Symbolen en Grieks alfabet Register
Cursussite
http://youlearn.ou.nl
5
113 149 154
Inhoud
Introductie tot de cursus 1 2 3 4 5 6 7
Inleiding 7 Het cursusmateriaal 7 Structuur, symbolen en taalgebruik Voorkennis 8 De cursus bestuderen 8 Studiebegeleiding 10 Het tentamen 10
6
7
Introductie tot de cursus
1
Inleiding
Voor u ligt de cursus ‘Logica, verzamelingen en relaties’. Samen met de cursus ‘Lineaire algebra en stochastiek’ vormt deze cursus een inleiding in die deelgebieden van de wiskunde die relevant zijn voor informatica. We hopen dat u deze inleiding met veel plezier zult bestuderen. In deze introductie tot de cursus zetten we uiteen hoe het cursusmateriaal is samengesteld, hoe u de cursus kunt bestuderen en hoe u tentamen kunt doen. 2
Het cursusmateriaal
Blokken
De cursus ‘Logica, verzamelingen en relaties’ bestaat uit drie blokken. Het eerste blok geeft een inleiding in de logica. Het tweede blok is gewijd aan verzamelingen en relaties. De cursus sluit af met een kort blok over inductieve definities en bewijzen met inductie.
Leereenheden
Elke leereenheid bestaat uit een introductie en de leerdoelen gevolgd door de verschillende onderwerpen, afgewisseld met voorbeelden, toepassingen en opgaven. Hoe u de leerstof kunt bestuderen, komt in een volgende paragraaf aan bod. In de cursus zijn vele intermezzo’s opgenomen. Deze zijn herkenbaar aan een kleiner lettertype en tweekoloms opbouw en zijn geen onderdeel van de tentamenstof. Zij dienen ter illustratie van de stof en geven allerhande toepassingen, interessante bijzonderheden of historische wetenswaardigheden. Een aantal van de intermezzo’s heeft een titel. Deze intermezzo’s met titel behandelen allemaal markante bijzonderheden uit de historie van de wiskunde en zijn geschreven door A.S. Haven. Iedere leereenheid wordt afgesloten met een zelftoets. Deze zelftoetsen bevatten opgaven, zoals die ook op het tentamen voor kunnen komen. U kunt er dus zelf mee nagaan of u de stof voldoende beheerst.
Intermezzo’s
Zelftoetsen
3
« markeert einde voorbeeld
Structuur, symbolen en taalgebruik
De tekst in deze cursus is opgebouwd uit vele onderdelen. Een leereenheid bevat steeds een introductie, leerdoelen, de leerkern met de eigenlijke leerstof, een samenvatting en een zelftoets. De leerkern bevat naast de gewone ‘lopende tekst’ ook een groot aantal andere onderdelen, zoals opgaven, stellingen, bewijzen en voorbeelden. Steeds is in de kantlijn aangegeven wanneer zulke onderdelen beginnen. Vaak hebben die onderdelen een nummer, zodat er makkelijk naar verwezen kan worden. Ook vrijstaande formules hebben soms in de rechterkantlijn een nummer, zodat er makkelijk naar kan worden terugverwezen. Van bepaalde onderdelen is het wenselijk het einde duidelijk te markeren. Zo wordt het einde van een voorbeeld aangegeven met het teken ‘«’ in de rechter kantlijn. Als voorbeelden in de loop van de tekst worden behandeld, dan wordt het einde niet afzonderlijk aangegeven.
7
Open Universiteit
Logica, verzamelingen en relaties
□ markeert einde bewijs Begrippen in de kantlijn
Wiskundesymbolen
Wiskundetaal
Ook het einde van een bewijs wordt met een symbool aangegeven, namelijk ‘□’. Op plaatsen waar een nieuw begrip wordt behandeld of waar een begrip in een nieuwe context wordt behandeld, staat dit begrip ook in de meest linkse kantlijn. Dit vergemakkelijkt het opzoeken als u later nog eens de precieze betekenis na wilt lezen. Al deze begrippen zijn bovendien opgenomen in de registers, achterin de cursusboeken. In de wiskunde worden voorts veel symbolen gebruikt, zoals bijvoorbeeld ∑ en ∩. Al deze symbolen hebben een precies vastgelegde betekenis, wat de wiskunde een eigen ‘taal’ geeft. Een lijst van die symbolen met hun betekenis vindt u in de bijlage. Er komen niet alleen bijzondere symbolen in de wiskunde voor, soms is ook het taalgebruik nogal speciaal. Zulke speciale uitdrukkingen hebben een eigen betekenis en worden gebruikt om zo nauwkeurig mogelijk aan te geven wat de bedoeling is. Met een uitdrukking als ‘zij n een element van de natuurlijke getallen’, wordt bedoeld dat er een verhandeling zal volgen over de natuurlijk getallen, uiteengezet aan de hand van een willekeurig element van die verzameling, dat voorlopig maar n genoemd wordt, maar waar in principe ieder natuurlijk getal voor ingevuld mag worden. Regelmatig zal van zulke speciale uitdrukkingen in de cursus gebruik worden gemaakt. Gaandeweg leert u vanzelf met deze formuleringen omgaan en maakt u zich daarmee de ‘wiskundetaal’ eigen. 4
Wiskundevoorkennis op vwo-niveau
Voorkennis
Om deze cursus met succes te kunnen bestuderen, moet u enige voorkennis op het gebied van de wiskunde bezitten. Enerzijds gaat het om het beheersen van concrete wiskundige vaardigheden, zoals het oplossen van vergelijkingen, anderzijds gaat het om algemene vaardigheden zoals abstraheren en redeneren. Ook verwachten we dat u beschikt over elementaire kennis van verzamelingenleer. Heeft u vwo met wiskunde of een andere opleiding van vergelijkbaar niveau afgerond en is uw wiskundekennis nog redelijk paraat, dan kunt u ervan uitgaan dat uw voorkennis voldoende is om met de bestudering van deze cursus te kunnen beginnen. Op de cursussite yOUlearn vindt u aanvullend studiemateriaal om zo nodig uw voorkennis bij te werken. 5
De cursus bestuderen
Cursus bedoeld voor zelfstudie.
Deze cursus is gemaakt voor zelfstudie. Dat wil zeggen dat het in principe mogelijk is deze cursus helemaal zelfstandig te bestuderen en dat u zich zonder hulp van anderen kunt voorbereiden op het tentamen. Om voor zelfstudie geschikt te zijn, zijn de teksten zeer uitgebreid en wordt aan veel details van de theorie aandacht besteed. In de kantlijn worden bovendien vaak ‘studeeraanwijzingen’ gegeven, dat zijn korte opmerkingen die het belangrijkste uit de betreffende alinea aanstippen. U heeft al een aantal van zulke aanwijzingen gezien.
Cursus van voor naar achter doorwerken.
Tenzij er voor u specifieke redenen zijn daarvan af te wijken, bevelen we u aan bij een eerste bestudering de cursus van voor naar achter door te werken. U komt dan vanzelf afwisselend wat meer theoretische en wat meer praktische onderwerpen tegen.
8
Introductie tot de cursus
Leerdoelen geven aan wat u moet weten en kunnen.
Bij bekende onderwerpen direct zelftoets maken.
Tijdens bestudering regelmatig opgaven maken.
Uitwerkingen achterin cursusboek
Raadpleeg eventueel aanwijzingen.
Aan het begin van iedere leereenheid zijn na de introductie steeds ‘leerdoelen’ opgenomen. Deze beschrijven zo precies mogelijk wat u na het bestuderen van de leereenheid moet weten en kunnen. Bij een eerste lezing van die leerdoelen zult u veel onbekende begrippen zien, die gaat u immers nog leren. Maar tijdens de bestudering van de leereenheid kunt u steeds bij de leerdoelen lezen wat u met deze begrippen moet: hoeft u ze alleen maar te kennen, of moet u ze ook toe kunnen passen, bewijzen of gebruiken. Sommige onderwerpen van de cursus zullen u wellicht bekend voorkomen of heeft u in een ander verband al eens eerder bestudeerd. U kunt dan de betreffende leereenheden doorlezen en nagaan of alles u al bekend is. U kunt ook direct de zelftoetsopgaven aan het einde van de leereenheid maken en op die manier vaststellen of u de stof al dan niet beheerst of nog geheel of gedeeltelijk moet bestuderen. In het geval dat u de zelftoetsopgaven al goed kon maken, is het toch nog verstandig de leereenheid globaal door te nemen en aandacht te besteden aan definities, notaties en dergelijke. Die kunnen immers van boek tot boek nogal eens verschillen (binnen deze cursus is een en ander natuurlijk wel consistent). Tijdens de bestudering van de cursus komt u zeer frequent opgaven tegen, zowel tijdens de behandeling van de stof in de paragrafen, als aan het einde van de paragrafen. De opgaven tussendoor zijn bedoeld om direct te oefenen met wat is behandeld en u zo in staat te stellen de stof beter op te nemen. Het is zeer aan te bevelen al die opgaven te maken op het moment dat u ze tegenkomt. De opgaven aan het einde van de paragraaf zijn bedoeld om verder te oefenen met de stof. Maakt u een aantal van die opgaven als u de paragraaf heeft bestudeerd en bewaart u een paar van die opgaven voor als u zich voorbereidt op het tentamen. Hoewel u zeker niet alle opgaven bij een eerste bestudering van de stof hoeft te maken, is het niet verstandig alle opgaven over te slaan. Door het maken van opgaven zult u beter de mogelijkheden en onmogelijkheden van de wiskunde leren kennen en allerlei aspecten ontdekken die anders onopgemerkt zouden blijven. Wiskunde is wat dat betreft vooral een doe-vak. Naast de opgaven in de leerkern van iedere leereenheid vindt u ook opgaven in de zelftoets aan het einde ervan. U maakt de zelftoetsopgaven nadat u een leereenheid heeft bestudeerd, om vast te stellen of u de stof op een voldoende niveau beheerst. Als u een opgave gemaakt heeft, kunt u nagaan of uw uitwerking goed is, door bij de uitwerkingen van de opgaven te kijken, die steeds achterin het cursusboek zijn opgenomen. Vaak zijn opgaven op verschillende manieren uit te werken, dus een afwijkende uitwerking wil nog niet zeggen dat de uwe fout is. Lukt het u niet een opgave te maken, of weet u niet hoe u het aan moet pakken, dan is bij veel opgaven een ‘aanwijzing’ beschikbaar, een hint die u een stukje op weg helpt. Bij de opgaven die een aanwijzing hebben is dat aangegeven bij het nummer, bijvoorbeeld OPGAVE 2.11 (Aanw). De aanwijzingen staan vóór de uitwerkingen achterin het cursusboek. Komt u ook daarmee niet verder, raadpleeg dan de uitwerking van de opgave, maar bestudeer die zorgvuldig, zodat u er baat bij heeft bij het maken van volgende opgaven.
9
Open Universiteit
Logica, verzamelingen en relaties
Rekenmachine
Soms is het handig om bij het maken van de opgaven een rekenmachine te gebruiken. Dit is natuurlijk toegestaan en ook op het tentamen mag een rekenmachine worden gebruikt. 6
Huiswerkopgaven
Als student kunt u deelnemen aan de online begeleiding bij deze cursus. In de digitale leer- en werkomgeving yOUlearn vindt u hierover alle informatie. Ook kunt u daar gebruikmaken van een forum waarin u vragen over of naar aanleiding van de cursus kunt stellen, en kunt reageren op medestudenten. Bij deze cursus kunt u ook huiswerkopgaven maken. Door deze op gezette tijden in te sturen, kunt u uw studie beter plannen en krijgt u een directe terugkoppeling op uw studieactiviteiten. Informatie over deze opgaven vindt u ook in yOUlearn. 7
Tentamenopgaven zoals in zelftoets
Studiebegeleiding
Het tentamen
U kunt deze cursus afsluiten door deel te nemen aan het tentamen. Het tentamen wordt verschillende malen per jaar. Raadpleeg yOUlearn voor de precieze data. De tentamenopgaven zijn van eenzelfde niveau en stijl als de zelftoetsopgaven. U kunt die opgaven dan ook goed gebruiken als tentamenvoorbereiding. Alleen antwoorden op de opgaven van het tentamen zijn niet voldoende. Alle antwoorden moeten vergezeld gaan van een zorgvuldige uitwerking of toelichting. Alleen dan kunt u punten verdienen voor uw tentamencijfer. Het gebruik van een rekenmachine is op het tentamen toegestaan. Tot slot Het cursusteam vond het een enorme uitdaging om deze cursus zo goed mogelijk te maken. Enerzijds om een zo goed mogelijke keuze te maken van de wiskundige onderwerpen en de diepgang waarmee die worden behandeld, anderzijds om de onderwerpen zodanig te behandelen dat iedereen er zelfstandig mee uit de voeten kan. We hopen dan ook dat u de cursus met veel plezier zult bestuderen en met succes tentamen zult doen.
10
Blok 1
Logica
Inhoud leereenheid 1
Propositielogica 13
Introductie Leerkern
14
Wat is propositielogica? 14 De taal van de propositielogica 16 1.2.1 Formules en bereik 19 1.3 Waarheidstabellen 22 1.3.1 Negatie 23 1.3.2 Conjunctie 24 1.3.3 Disjunctie 25 1.3.4 Implicatie 27 1.3.5 Equivalentie 28 1.4 De kracht van de propositielogica 29 1.4.1 Andere connectieven 29 1.4.2 Vertalen in propositielogica 30 1.1 1.2
Samenvatting Zelftoets
31
32
12
Leereenheid 1
INTRODUCTIE
Logica
Van oudsher is de logica de leer van het correct redeneren. Nog steeds is het herkennen van correcte en incorrecte redeneringen een belangrijke doelstelling van de logica. 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: ‘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 op een ander probleem: wil een redenering correct zijn, dan moet ze in elke situatie juist zijn, maar woordjes als ‘of’ betekenen niet steeds hetzelfde. Bij het eerste voorbeeld zal een monteur die de uitspraak ‘De afstandsbediening is kapot of de tv
13
Open Universiteit
Logica, verzamelingen en relaties
werkt niet goed’ doet, waarschijnlijk bij de diagnose rekening houden met de mogelijkheid 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 achttiende 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. In deze leereenheid beginnen we met het maken van een eenvoudige, maar precieze en compacte logische taal: die van de propositielogica. Hierin hebben woordjes als ‘of’, ‘als’ en ‘niet’ een nauwkeurig omschreven betekenis. De consequentie hiervan is dat redeneringen uit de gewone taal vrijwel nooit helemaal overeenkomen met die in de logica. Maar afgezien van dit voorbehoud, kunnen we redeneringen als die in de gegeven voorbeelden tamelijk goed weergeven in propositielogica, en zo de correctheid ervan bepalen. Meer in het algemeen gesproken is het vooral de beknoptheid en de precisie die de logica maken tot een geschikt instrument voor redeneren binnen de wiskunde en informatica, en daarom treft u het in deze cursus aan. Aan diverse toepassingen van logica op informatica wordt in dit blok aandacht besteed. LEERDOELEN
Na het bestuderen van deze leereenheid wordt verwacht dat u – weet wat proposities zijn – formules van de propositielogica kunt ‘lezen’ – propositielogische formules kunt opstellen met behulp van de vijf logische connectieven – weet wat deelformules zijn – het bereik van connectieven in logische formules kunt aangeven – de waarheidstabellen van de connectieven kent – waarheidstabellen kunt maken voor propositielogische formules – kunt werken met niet-standaardconnectieven, indien daarvan de waarheidstabel is gegeven – uitspraken in natuurlijke taal om kunt zetten naar formules in de propositielogica. LEERKERN 1.1 Een propositie is waar of onwaar.
Wat is propositielogica?
Een propositie is een uitspraak die waar of onwaar kan zijn. Voorbeelden zijn ware uitspraken als ‘Er is geen grootste getal’ en onware als ‘Kopenhagen ligt in Nederland’ (ook al denken veel Amerikanen dat). Afgezien van filosofische spitsvondigheden (hoe kunnen we bewijzen dat Kopenhagen niet in Nederland ligt?), is het waarheidsgehalte van deze proposities onomstreden.
14
Leereenheid 1 Propositielogica
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 bevinden. 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. OPGAVE 1.1
Zijn de zinnen in de voorbeeldredeneringen van de introductie proposities? Motiveer uw antwoord. OPGAVE 1.2 (Aanw)
Deze opgave bevat een illustratief puzzeltje over (on)waarheid. Op een schoolbord leest u de volgende tekst: ‘Precies één van deze uitspraken is onwaar. Precies twee van deze uitspraken zijn onwaar. Precies drie van deze uitspraken zijn onwaar. Precies vier van deze uitspraken zijn onwaar.’ Is één van deze uitspraken inderdaad waar? Zo ja, welke is dat en hoe kunnen we dat inzien? Zo nee, waarom dan niet? Waarheidswaarde
Waar en onwaar zijn waarheidswaarden.
Als de enige eis aan proposities is dat ze in iedere omstandigheid een waarheidswaarde (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 drukken in de regel geen propositie uit. Van de volgende voorbeelden, twee gewone zinnen, een wiskundig probleem en een programmaopdracht, geldt dat ze geen proposities zijn: – Hoe laat is het? – Kijk uit bij het oversteken! – Zijn er positieve gehele getallen x, y, z, n met n > 2 waarvoor xn + yn = zn? – 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 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 programmaopdracht 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 wanneer deze opdracht deel uitmaakt van een ‘lus’ in het programma, de waarheidswaarde tijdens de uitvoering van het programma kan veranderen – dat is in feite juist de bedoeling van de voorwaarde.
15
Open Universiteit
Logica, verzamelingen en relaties
OPGAVE 1.3
Welke van de volgende zinnen zijn proposities? a Het is warm vandaag. b x>0 c x := x + 1 d Ieder even getal groter dan 2 is de som van twee kwadraten. e Is 0 het kleinste natuurlijke getal?
Waarheidsfunctioneel
Propositielogica is waarheidsfunctioneel: de waarheid van een uitspraak berust op de waarheid van de delen.
Het is overigens niet de taak van de logica om de werkelijkheid te bestuderen en zo de waarheidswaarde van een propositie in een bepaalde situatie te achterhalen, zo dit al mogelijk is. Een vraag waar de logica zich wel mee bezig houdt, is of de waarheidswaarde 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 (alleen) de waarheidswaarden van haar delen. Met een mooi woord wordt de propositielogica daarom wel waarheidsfunctioneel genoemd. En meer in het algemeen bepaalt het verband tussen waarheid van de uitgangspunten en waarheid van de conclusie welke redeneringen de logica ‘correct’ zal noemen. Kortom, we kunnen de propositielogica zien als een spel met waarheidswaarden. Die waarheidswaarden worden volgens strakke regels toegekend aan formules, die op een precies voorgeschreven manier zijn opgebouwd. Die vorm is een ander typerend kenmerk van de propositielogica die we nu gaan bestuderen. 1.2
De taal van de propositielogica
In de propositielogica kunnen we uitspraken analyseren die zijn opgebouwd met behulp van het woordje niet en voegwoorden (en, of, als, mits, ...). In de introductie tot deze leereenheid zagen we daarvan al diverse voorbeelden (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 vaak dubbelzinnig en te vaag om zulke proposities goed mee te analyseren. We vervangen woordjes zoals ‘niet’ en ‘of’ daarom door symbolen die we een heel precieze betekenis gaan geven. VOORBEELD 1.1
In plaats van ‘Het schilderij hangt hier niet.’ schrijven we: ¬ Het schilderij hangt hier. Merk op dat het symbool ¬ (het logische ‘niet’) anders dan het ‘niet’ in gewone taal vooraf gaat aan de uitspraak waar het betrekking op heeft, ‘Het schilderij hangt hier’. De propositie ‘Het schilderij hangt hier’ korten we vervolgens af tot de letter p, zodat we ten slotte uitkomen op de uitdrukking ¬p. «
16
Leereenheid 1 Propositielogica
Negatieteken
Het symbool ¬ noemen we het negatieteken.
Negatie
De uitdrukking ¬p noemen we de negatie van p. VOORBEELD 1.2
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’. Door ∨ worden twee proposities verbonden: het resultaat (zoals p ∨ ¬q in voorbeeld 1.2) heet een disjunctie en de proposities die door ∨ verbonden worden (zoals p en ¬q in p ∨ ¬q), heten disjuncten.
Disjunctie Disjunct Disjunctieteken
Het symbool ∨ wordt het disjunctieteken genoemd. In paragraaf 1.3 zullen we zien dat we met ∨ de zogenaamde inclusieve disjunctie op het oog hebben: p ∨ q is dan ook het geval als zowel p als q het geval zijn. Keren we het disjunctieteken om, dan krijgen we ∧, het logische ‘en’. VOORBEELD 1.3
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’. «
Conjunctieteken
Het symbool ∧ wordt het conjunctieteken genoemd.
Conjunctie Conjunct
Door ∧ worden twee proposities verbonden: het resultaat (zoals p ∧ q in voorbeeld 1.3) heet een conjunctie en de proposities die door ∧ verbonden worden, heten conjuncten. OPGAVE 1.4 (Aanw)
Geef de volgende uitspraken weer door middel van respectievelijk een conjunctie en een disjunctie. Welke proposities duiden de gebruikte letters aan? a Marie en Kees komen naar het feest. b Jan wast af of droogt de vaat. Het ‘en’ uit de gewone taal bevat eigenaardigheden die we niet in de propositielogica 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: die is immers waarheidsfunctioneel! In paragraaf 1.3.2 zullen we precies aangeven hoe we ∧ binnen de propositielogica gebruiken.
17
Open Universiteit
Logica, verzamelingen en relaties
VOORBEELD 1.4
Een constructie die we wel goed kunnen weergeven, is ‘als ..., (dan)’. 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’. «
Implicatieteken
Het symbool → wordt het implicatieteken genoemd.
Implicatie
Door → worden twee proposities verbonden: het resultaat (zoals p → q in voorbeeld 1.4) heet een implicatie.
Dan en slechts dan als Desda
In de wiskunde komen we formuleringen als ‘dan en slechts dan als’ tegen, wat vaak wordt afgekort tot ‘desda’. Ook die constructie kunnen we goed weergeven in propositielogica. VOORBEELD 1.5
De uitspraak ‘x2 is even desda x is even’ wordt in propositielogica weergegeven als p ↔ q, waarin p staat voor ‘x2 is even’ en q voor ‘x is even’.
Equivalentieteken
Het symbool ↔ wordt het equivalentieteken genoemd.
Equivalentie
Door ↔ worden twee proposities verbonden: het resultaat (zoals p ↔ q in voorbeeld 1.5) noemen we een equivalentie.
«
De speciale symbolen van de propositielogica (¬, ∧, ∨, → , ↔ ) worden connectieven (logische voegwoorden) genoemd. In de volgende tabel vatten we de schrijfwijze, de uitspraak en de naam van de connectieven samen.
Connectief
TABEL 1.1
Connectieven uit de propositielogica
connectief
uitspraak
naam
¬ ∧ ∨ → ↔
niet en of als ..., (dan) desda
negatieteken conjunctieteken disjunctieteken implicatieteken equivalentieteken
Er zijn ook andere notaties in omloop, zoals de u misschien wel bekende & voor ∧, maar de in deze cursus gehanteerde symbolen zijn het meest gangbaar.
Propositieletter
Soms haakjes nodig!
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 (p1, q7, ...). Bij de vertaling van concrete uitspraken uit de wiskunde of de gewone taal in propositielogica moeten we wel steeds aangeven welke letter bij welke (kleinste) 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.
18
Leereenheid 1 Propositielogica
Misschien denkt u dat ook ¬p ∨ q geen goede uitdrukking is, maar hier werkt een spelregel die zegt dat negatietekens vóór de overige connectieven gaan, net zoals in de gewone rekenkunde machtsverheffen voorafgaat aan de overige bewerkingen. Dus als we toch haakjes willen zetten, dan bedoelen we met ¬p ∨ q alleen (¬p) ∨ q en niet ¬(p ∨ q). Formule
Goede uitdrukkingen van de propositielogica noemen we formules; we zullen ze verderop precies definiëren. Voordat we deze definitie geven, is het goed wat meer vertrouwd te raken met formules. VOORBEELD 1.6
Met behulp van tabel 1.1 kunnen we nu formules van de propositielogica gaan ‘lezen’. Indien nodig moeten we dan duidelijk maken waar de haakjes staan. a p ∨ ¬q b (p ∧ q) → r c ¬(p ∧ q) ↔ (¬p ∨ ¬q) d (p ∧ q) ∨ (¬p ∧ ¬q)
‘p of niet q’ ‘als p en q dan r' ‘niet p en q tussen haakjes desda tussen haakjes niet p of niet q' ‘p en q tussen haakjes of tussen haakjes niet p en niet q’
NB: in plaats van ‘tussen haakjes’ spreken we ook wel van ‘haakje openen’ en ‘haakje sluiten’. Formule c wordt dan gelezen als: ‘niet – haakje openen – p en q – haakje sluiten – desda – haakje openen – niet p of niet q – haakje sluiten.’ « 1.2.1
Logische vorm ≠ zinsvorm
VOORBEELD 1.7
Willekeurige formules aangeven met ϕ en ψ.
FORMULES EN BEREIK
De formules p ∨ ¬q en q → ¬p zijn correct opgebouwd, maar een uitdrukking als p ∨ ¬q ∧ p was dat niet. Ook allerlei onzinrijtjes als p ∨ ¬ en pq willen we uitsluiten, al zou men kunnen denken dat dit de ‘letterlijke’ vertalingen zijn van bij voorbeeld ‘Sinterklaas bestaat wel of niet’ en ‘Het sneeuwt, de wereld wordt wit’. Meer in het algemeen kunnen we stellen dat de vorm van een formule niet precies overeenkomt met de vorm van de zinnen waarmee ze corresponderen. We zagen al dat in ‘Het schilderij hangt hier niet’ het woordje ‘niet’ helemaal achteraan staat, terwijl het negatieteken in ¬p juist voorop staat. Nog iets duidelijker is dit punt wanneer we terugdenken aan een andere zin uit dezelfde voorbeeldredenering. Eveneens uit de introductie stamt de uitspraak: ‘Het schilderij hangt hier niet als het gestolen is.’ Kiezen we nu voor p: ‘Het schilderij hangt hier’ en q: ‘Het schilderij is gestolen’ dan is de uitspraak in propositielogica weer te geven als q → ¬p. De als-bijzin staat in de uitspraak achteraan, maar in de formule (als q) juist voorop. « De verzameling formules van de propositielogica kan worden gedefinieerd door vast te leggen wat de eenvoudigste formules zijn (de propositieletters) en hoe we van formules naar ingewikkelder formules kunnen komen (door formules middels connectieven te verbinden). Alle formules behalve de losse propositieletters, zijn samengestelde formules. In de volgende definitie gebruiken we naast propositieletters (p, q, r, ...), connectieven (¬, ∧, ...) en haakjes ook de Griekse letters ϕ (fi) en ψ (psi).
19
Open Universiteit
Logica, verzamelingen en relaties
Deze (en zonodig nog andere) Griekse letters duiden in dit blok steeds willekeurige formules aan. Formule van de propositielogica
DEFINITIE 1.1
De formules van de propositielogica worden als volgt gedefinieerd: – 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. In leereenheid 11 zult u zien dat dit een voorbeeld is van een inductieve definitie. Voor dit moment is het voldoende dat u weet hoe u grammaticaal correcte formules op kunt schrijven en herkennen.
Haakjes aan de buitenkant mogen weg.
VOORBEELD 1.8
Als we goed naar de definitie kijken, zien we dat eerdere formules als p ∨ ¬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, hebben echter geen zin en worden daarom meestal weggelaten. Andere haakjes mogen meestal niet weg: we zagen al dat anders een formule als p ∨ (¬q ∧ p) op diverse manieren kan worden uitgelegd. We zouden de definitie van ‘formule’ wel zo kunnen wijzigen dat die buitenste haakjes nooit zouden optreden, maar de definitie zou tamelijk ingewikkeld worden, en dat is dit punt niet waard. In de volgende leereenheid zullen we situaties bestuderen waarin ook andere haakjes weggelaten mogen worden, maar afgezien van de buitenste haakjes moeten we verder steeds heel precies zijn in het gebruik van haakjes. Van de volgende rijtjes symbolen zijn de linker allemaal formules en de rechter geen formules: q ¬p q∧q p → (q ∨ ¬p) ¬¬(p ∨ (q ↔ ¬(p ∧ q)))
¬ →p (q) ∧ (q) p↔q∧r ¬p ∨ q)
OPGAVE 1.5 (Aanw)
Welke van de volgende rijtjes symbolen zijn formules? a p b ¬¬¬¬¬¬¬¬¬p c ∨ p ∨ ¬p d p → (p → p) e p∨q→p
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.
20
«
Leereenheid 1 Propositielogica
VOORBEELD 1.9
In de formule (p ∧ q) → r zijn diverse andere formules te herkennen. Deze treden allemaal op als we kijken hoe de formule volgens de definitie is opgebouwd: – allereerst zijn p, q en r formules – (p ∧ q) is dus ook een formule – dus ((p ∧ q) → r) is een formule Dit levert meteen de deelformules: – p, q en r zijn deelformules van (p ∧ q) → r – p ∧ q is een deelformule van (p ∧ q) → r – (p ∧ q) → r noemen we ook een deelformule van (p ∧ q) → r
«
OPGAVE 1.6
Vind alle deelformules van de volgende formules. a p → (p → p) b p ∨ (¬q ∧ p) c (p → q) ↔ (¬p ∨ q) Een ander begrip dat direct ontleend kan worden aan de definitie van formules, is het bereik van een connectief. Informeel gesproken bestaat het bereik uit het deel (of de delen) van de formule waar het connectief betrekking op heeft. Dit is vaak af te lezen aan de plaats van de haakjes.
Bereik
VOORBEELD 1.10
Het bereik van ∧ in r ∨ (¬q ∧ p) bestaat uit de formules ¬q en p. Het bereik van ∨ bestaat uit de formules r en ¬q ∧ p; we kunnen dit ook door « onderstreping aangeven: r ∨ (¬q ∧ p). We zien hier een van de verschillen tussen de logica en alledaagse taal: de laatste is vaak voor meerdere uitleg vatbaar doordat het bereik van woordjes als ‘en’ en ‘niet’ vaak niet duidelijk is.
VOORBEELD 1.11
De formules p ∧ (q ∨ r) en (p ∧ q) ∨ r kunnen beide dienen als weergave van de uitspraak ‘Marie en Jan of Kees komen naar het feest’. De dubbelzinnigheid zit hier in het bereik van ‘en’ en ‘of’. Dat zien we duidelijk als we het bereik van ∧ in de formules aangeven: p ∧ (q ∨ r) en (p ∧ q) ∨ r. « Als eenzelfde connectief meerdere keren in een formule optreedt, dan moeten we aangeven welk voorkomen van het connectief we bedoelen. In p → (q → p) bestaat het bereik van het eerste implicatieteken uit de formules p en q → p, en dat van het tweede uit q en p.
OPGAVE 1.7
Beschouw de formule ¬(p ∧ (q ∨ ¬r)). a Geef alle deelformules. b Wat is het bereik van de eerste negatie? c Wat is het bereik van de tweede negatie? d Wat is het bereik van het conjunctieteken?
21
Open Universiteit
Logica, verzamelingen en relaties
OPGAVE 1.8
Formuleer het verband tussen het bereik van een connectief in een formule ϕ en de deelformules van ϕ. OPGAVE 1.9
Wat is het bereik van het implicatieteken in de volgende formules? a p → ¬(q ↔ p) b p ∨ (¬q → p) c (p ∨ ¬q) → p d (p → q) ↔ (¬p ∨ q) e p → (q ↔ (¬p ∨ q)) 1.3
Waarheidstabellen
In de vorige paragraaf hebben we de vorm van de propositielogische formules 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. Semantiek Tarski Syntaxis
Het bestuderen van de betekenis van uitdrukkingen wordt wel semantiek genoemd. Voor de logica is de semantiek vooral bekend geworden door het werk van Alfred Tarski (19021983), eerst student en docent in Warschau, later hoogleraar in de VS. Het bestuderen van de vorm van formules en correcte redeneringen noemt men dan wel naar analogie van de taalkunde syntaxis.
De formules van de propositielogica hebben zoals gezegd de bijzonderheid dat ze waarheidsfunctioneel zijn, dat wil zeggen dat hun waarheidswaarde is af te leiden uit de waarheidswaarde van hun delen. Maar hoe wordt de waarheidswaarde van een formule nu berekend? 1 = waar 0 = onwaar
Waarheidstabel
Ludwig Wittgenstein
Om vlot met waarheidswaarden te kunnen rekenen, is het handig ‘waar’ weer te geven door 1 en ‘onwaar’ door 0. Behalve dat deze notatie korter is, sluit ze goed aan op het rekenen in digitale computers, waarvan de bits ook met nullen en enen worden voorgesteld. Een andere, eveneens internationaal gebruikelijke schrijfwijze is T (‘true’) voor waar en F (‘false’) voor onwaar. De berekening van de waarheidswaarde van samengestelde formules vindt plaats in de vorm van tabellen, de zogenaamde waarheidstabellen, die vooral door de filosoof Ludwig Wittgenstein (1889-1951) voor het eerst systematisch zijn toegepast als ‘berekeningswijze’, hoewel schematische overzichten van mogelijkheden al eerder voorkomen bij C.S. Peirce. Voor samengestelde formules is het nodig om te weten wat de waarheidswaarden van de deelformules zijn en wat het effect van de connectieven op de waarheidswaarde is. Uiteindelijk zijn het dan de connectieven en de waarheidswaarden van de propositieletters die bepalen of de gehele formule waar of onwaar is. We laten nu de connectieven één voor één de revue passeren om hun effect op de waarheidswaarde vast te stellen.
22
Leereenheid 1 Propositielogica
1.3.1
NEGATIE
De formule ¬p is waar wanneer p onwaar is, en omgekeerd. Omdat proposities in deze cursus ó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. Waarheidstabel van ¬
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. Hierdoor krijgt de waarheidstabel voor negatie de volgende vorm: ϕ
¬ϕ
1 0
0 1
Met de waarheidstabel van de negatie kunnen we de waarheidswaarden van sommige samengestelde formules uitrekenen. VOORBEELD 1.12
De waarheidstabel voor de formule ¬¬p is: p
¬p
¬¬p
1 0
0 1
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 linkerkolom 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 waarheidswaarde 0 heeft. Deze waarden schrijven we in de middelste kolom, onder ¬p. Ten slotte verkrijgen we hieruit, weer met de waarheidstabel voor negatie, de waarheidswaarden van de hele formule, nu in de rechterkolom. « OPGAVE 1.10
Wat valt op als u de waarheidswaarden van ¬¬p vergelijkt met die van p? OPGAVE 1.11
Bepaal de waarheidstabel van ¬¬¬p.
23
Open Universiteit
Logica, verzamelingen en relaties
1.3.2
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 gevallen onwaar. Dit wordt weergegeven door de volgende waarheidstabel (ϕ en ψ zijn weer willekeurige formules): Waarheidstabel van ∧
ϕ
ψ
ϕ∧ψ
1 1 0 0
1 0 1 0
1 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. We hebben al opgemerkt dat het Nederlands zich zeker niet altijd als de logica gedraagt, bijvoorbeeld in verhalen is de gebeurtenis in de zin voor ‘en’ vaak eerder dan die na de ‘en’. In leereenheid 3 maken we kennis met een andere logica waarin we zoiets wel kunnen uitdrukken. Hoe vinden we nu met behulp van de waarheidstabel van ∧ de waarheidstabel voor een ingewikkelder formule als, zeg, p ∧ ¬q? VOORBEELD 1.13
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 waarheidswaarden krijgen, dus er zijn in totaal 2 × 2 = 4 combinaties van waarheidswaarden mogelijk. Hierdoor krijgen we een tabel met vier rijen van waarheidswaarden. Voor elke deelformule gaan we nu de waarheidswaarde berekenen, te beginnen met de kleinste deelformules. Dat zijn de propositieletters, waarvan we de waarheidswaarden al kennen. Daarna komt de deelformule ¬q. Dat komt neer op het ‘omdraaien’ van de waarheidswaarde van q. Ten slotte vinden we de waarheidswaarden van de hele formule door (rij voor rij) de waarheidswaarden die onder p en ¬q staan te combineren, met behulp van de waarheidstabel van ∧. De waarheidstabel voor p ∧ ¬q wordt dus: p
q
¬q
1 1 0 0
1 0 1 0
0 1 0 1
p ∧ ¬q 0 1 0 0
Het resultaat is dat p ∧ ¬q waar is als p waar en q onwaar is. In alle andere gevallen is p ∧ ¬q onwaar. « OPGAVE 1.12
Als een formule slechts één propositieletter bevat, krijgen we een waarheidstabel met 2 rijen waarheidswaarden. Als er twee verschillende propositieletters zijn, krijgen we een tabel met 4 rijen. a Hoeveel rijen krijgen we bij een formule die drie propositieletters (zeg p, q en r) bevat?
24
Leereenheid 1 Propositielogica
b En hoeveel rijen krijgen we bij een formule die n verschillende propositieletters bevat? c Van welke van de volgende twee formules is de waarheidstabel makkelijker te maken? (U hoeft de waarheidstabellen niet te maken!) ((p1 ∧ ¬p2) ∨ (p3 ∧ ¬p4)) ∨ ((p5 ∧ ¬p6) ∨ (p7 ∧ ¬p8)) ¬((¬(p ∧ (q ∧ r)) ∧ ¬(p ∧ (q ∧ ¬r))) ∧ (¬(p ∧ (¬q ∧ r)) ∧ ¬(¬p ∧ (q ∧ r)))) OPGAVE 1.13
Maak waarheidstabellen voor de volgende formules: a p∧q b ¬p ∧ q c ¬(p ∧ ¬p) (wat valt u hierbij op?) d p ∧ (q ∧ r) 1.3.3
DISJUNCTIE
De waarheidstabel voor een disjunctie ϕ ∨ ψ is: Waarheidstabel van ∨
ϕ
ψ
ϕ∨ψ
1 1 0 0
1 0 1 0
1 1 1 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’ uitgedrukt. 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 wel in de propositielogica worden weergegeven (zie opgave 1.16). VOORBEELD 1.14
Een kortere notatie
De waarheidstabel voor de formule (p ∧ ¬q) ∨ q is: p
q
¬q
p ∧ ¬q
1 1 0 0
1 0 1 0
0 1 0 1
0 1 0 0
(p ∧ ¬q) ∨ q 1 1 1 0
Wanneer de formules langer worden, groeit het aantal deelformules meestal ook, zodat de methode om alle deelformules apart in een kolom te zetten, erg bewerkelijk kan worden. Handiger is het dan een compactere 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 nog met kleine cursieve cijfertjes aan. (U hoeft dat laatste niet per se te doen.)
25
Open Universiteit
Logica, verzamelingen en relaties
VOORBEELD 1.15
Procedure voor het maken van waarheidstabellen
We maken de waarheidstabel voor (p ∧ ¬q) ∨ q op de nieuwe manier: p
q
(p
∧
¬
q)
∨
q
1 1 0 0
1 0 1 0
1 1 0 0
0 1 0 0
0 1 0 1
1 0 1 0
1 1 1 0
1 0 1 0
1
3
2
1
4
1
«
In dit voorbeeld werkten we volgens een algemeen procédé voor het berekenen van waarheidstabellen: – Kijk welke propositieletters er in de te onderzoeken formule zitten en schrijf die links van de formule op. – Zet vervolgens onder de propositieletters links alle mogelijke combinaties van waarheidswaarden (dat kan in principe in willekeurige volgorde, maar aanbevolen wordt de in deze leereenheid gehanteerde volgorde te gebruiken). – Schrijf die waarheidswaarden over onder de propositieletters in de formule. – Reken ‘van binnen naar buiten’ de waarheidswaarden van de deelformules uit, dat wil zeggen bereken eerst de waarheidswaarden van de kleinste deelformules en daarna die van steeds grotere, waarbij de waarden van de kleinere gebruikt worden, totdat de waarden van de gehele formule zijn berekend. Na verloop van tijd kunt u het overschrijven van de waarheidswaarden van de propositieletters achterwege laten, maar zeker in het begin raden wij dat ten sterkste af: laat ‘pen en papier’ het werk doen!
VOORBEELD 1.16
De waarheidstabel voor de formule (p ∧ ¬q) ∨ (¬p ∧ q) is: p
q
(p
∧
¬
q)
∨
(¬
p
∧
q)
1 1 0 0
1 0 1 0
1 1 0 0
0 1 0 0
0 1 0 1
1 0 1 0
0 1 1 0
0 0 1 1
1 1 0 0
0 0 1 0
1 0 1 0
1
3
2
1
4
2
1
3
1
OPGAVE 1.14
a In welke kolom van voorbeeld 1.16 kunt u nu de waarheidswaarde van de hele formule aflezen? b Wanneer (dat wil zeggen: voor welke waarheidswaarden van de propositieletters) is de formule dus waar? OPGAVE 1.15
Maak waarheidstabellen voor de volgende formules. a p ∨ ¬q b p ∧ (¬q ∨ q) c ¬((p ∨ ¬q) ∧ (¬p ∨ q))
26
«
Leereenheid 1 Propositielogica
OPGAVE 1.16 (Aanw)
Stel ‘eor’ is een connectief voor de exclusieve disjunctie (Engels: ‘exclusive or’, soms wordt ook ‘xor’ gebruikt). De formule ϕ eor ψ drukt dus uit: óf ϕ óf ψ, maar niet allebei. a Geef de waarheidstabel van ϕ eor ψ. b Verzin een formule die de exclusieve disjunctie van ϕ en ψ uitdrukt en alleen van ϕ, ψ en de connectieven ¬, ∧ en ∨ gebruik maakt. c Maak ter controle de waarheidstabel van de door u voorgestelde formule. 1.3.4
IMPLICATIE
De waarheidstabel voor een implicatie ϕ → ψ ziet er zó uit: Waarheidstabel van →
ϕ
ψ
1 1 0 0
1 0 1 0
ϕ→ψ 1 0 1 1
Een implicatie vertoont een niet geheel toevallige overeenkomst met sommige 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. Er zijn nu twee mogelijkheden. Als ψ waar is, hebben we te maken met een situatie dat het niet regent, maar dat de straten toch nat worden (bijvoorbeeld omdat ze geschrobd worden). In deze situatie zullen we nog steeds zeggen dat de implicatie ‘Als het regent, dan worden de straten nat’ waar is, en hetzelfde doen we in het geval dat het niet regent en de straten droog zijn. Mocht dit u nog niet overtuigen, denk dan aan een wetenschappelijke hypothese in de vorm van een implicatie, bijvoorbeeld ‘Als de temperatuur hoger wordt, stijgt de zeespiegel’, hier weergegeven als p → q. Een geoloog die op grond van diepteboringen de juistheid van deze hypothese onderzoekt, kijkt naar die perioden waarin de temperatuur steeg (p waar was). Alleen wanneer een periode wordt gevonden waarin de temperatuur steeg, maar de zeespiegel niet, kan geconcludeerd worden dat de hypothese onjuist is: de geoloog heeft dan een situatie gevonden waarin p waar is en q niet. De enige manier om te laten zien dat een implicatie onwaar is, is dus door te zoeken naar een tegenvoorbeeld waarbij p waar is en q onwaar. Ook het volgende eenvoudige voorbeeld licht de waarheidstabel voor de implicatie toe. We hebben een kamer met daarin een tweetal goed werkende lampen, die we met twee schakelaars L1 resp L2 bedienen. Als we schakelaar L1 aan zetten (waarheidswaarde 1 geven) dan brandt er licht, iets dat we aangeven met de letter B. Maar ook als we schakelaar L2 aan zetten en L1 uit laten zal er licht branden. De situatie dat L1 uit is en er wel licht brandt, is dus niet in tegenspraak met het ‘waar’ zijn van de implicatie L1 → B. Ook het geval dat L1 uit staat en er geen licht brandt is hier niet mee in tegenspraak.
27
Open Universiteit
Logica, verzamelingen en relaties
In sommige gevallen blijft de waarheidstabel voor de implicatie niet aansluiten bij onze intuïtie. Dat komt vooral omdat we gewend zijn ‘als ..., dan ...’ in een oorzaak-gevolg-situatie te gebruiken. De uitspraak ‘als de juf van ijzerdraad is, dan wordt ze niet kwaad’ is waar, juist omdat ‘de juf is van ijzerdraad’ onwaar is. VOORBEELD 1.17
De waarheidstabel voor de formule (p → q) → (¬p → ¬q) is: p
q
(p
→
q)
→
(¬
p
→
¬
q)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 0 1
0 0 1 1
1 1 0 0
1 1 0 1
0 1 0 1
1 0 1 0
1
2
1
4
2
1
3
2
1
De formule is dus alleen onwaar als p onwaar is en q waar.
«
OPGAVE 1.17 (Aanw)
Maak waarheidstabellen voor de volgende formules. a ¬¬p → ¬p b (p → ¬p) → q c ((p → q) ∧ (q → r)) → (p → r) 1.3.5
EQUIVALENTIE
Equi-valent = gelijkwaardig
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:
Waarheidstabel van ↔
ϕ
ψ
1 1 0 0
1 0 1 0
Desda
ϕ↔ψ 1 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 preciezere formuleringen zoals ‘precies dan als’ en ‘dan en slechts dan als’ (desda). Die laatste formulering is in de wiskunde heel gebruikelijk, en daarom spreken we het symbool ↔ ook als ‘desda’ uit. VOORBEELD 1.18
De waarheidstabel voor de formule ¬(p ∧ q) ↔ (¬p ∧ ¬q) is: p
q
¬
(p
∧
q)
↔
(¬
p
∧
¬
q)
1 1 0 0
1 0 1 0
0 1 1 1
1 1 0 0
1 0 0 0
1 0 1 0
1 0 0 1
0 0 1 1
1 1 0 0
0 0 0 1
0 1 0 1
1 0 1 0
3
1
2
1
4
2
1
3
2
1
28
«
Leereenheid 1 Propositielogica
OPGAVE 1.18
Maak waarheidstabellen voor de volgende formules. a p ↔ (p ↔ p) b (p → q) ↔ (¬p ∨ q) c ¬(p ∧ q) ↔ (¬p ∨ ¬q) De kracht van de propositielogica
1.4
De propositielogica is hiervoor omschreven als een spel met waarheidswaarden en als een taaltje gebaseerd op (preciseringen van) woorden als ‘niet’ en ‘of’. Dat lijkt allemaal nogal bescheiden. Hoewel we in leereenheid 3 inderdaad een krachtiger logica zullen leren kennen, 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 in bepaalde opzichten sterker dan we misschien zouden denken. Dat blijkt als we proberen nog andere (‘sterkere’) connectieven toe te voegen. 1.4.1
ANDERE CONNECTIEVEN
In de voorgaande paragrafen hebben we een aantal connectieven bestudeerd. Zijn ze dit nu allemaal? Zonder twijfel zijn ¬, ∧ , ∨ , → en ↔ de meest bekende connectieven van de propositielogica: ze zijn volkomen standaard. Daarnaast worden er voor diverse doeleinden nog wel eens andere connectieven van stal gehaald. Een voorbeeld hiervan hebt u al gezien. In opgave 1.16 werd een speciaal connectief ingevoerd voor de exclusieve disjunctie (eor). Maar we hebben daar ook opgemerkt dat zo’n nieuw connectief niet echt nodig is. De bedoeling van ‘óf p óf q’ kon ook worden bewerkstelligd door bijvoorbeeld de formule (p ∧ ¬q) ∨ (¬p ∧ q). Dit nu is een illustratie van een veel algemener feit. Grofweg komt het hierop neer dat alle mogelijke waarheidstabellen inderdaad bij een of andere formule horen. Iets preciezer gezegd: alle mogelijke verdelingen van waarheidswaarden treden op als laatst verkregen kolom in de waarheidstabel van een formule die alleen van de standaardconnectieven gebruik maakt (en uiteraard van propositieletters en haakjes). Zoals we in leereenheid 2 zullen zien, hoeven we zelfs niet van alle standaardconnectieven gebruik te maken: alleen met ¬ en ∨ kan het bijvoorbeeld ook. De andere connectieven dienen dan uitsluitend voor ons gemak. Peirce Sheffer
Een logica met maar één connectief
De wiskundige vraag is nu: kan het ook met slechts één connectief? Een bevestigend antwoord hierop is gegeven door C.S. Peirce en H.M. Sheffer: het kan inderdaad met één connectief genaamd ‘nand’, dat de volgende waarheidstabel heeft: ϕ
ψ
ϕ nand ψ
1 1 0 0
1 0 1 0
0 1 1 1
Deze en de volgende tabel hoeft u niet te onthouden, maar als u zo’n tabel gegeven krijgt, moet u er wel mee kunnen werken.
29
Open Universiteit
Logica, verzamelingen en relaties
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). Een ander symbool voor hetzelfde connectief is de ‘Sheffer-streep’ . OPGAVE 1.19
Maak waarheidstabellen voor de volgende formules. a p nand p b (ϕ nand ψ) nand (ϕ nand ψ) Quine
De Amerikaanse logicus W.V.O. Quine heeft nog een andere oplossing bedacht voor de voorgaande wiskundige vraag: het connectief ‘nor’, waarbij we p nor q kunnen lezen als ‘noch p noch q’. Naar zijn ontdekker wordt nor ook wel de ‘Quine-dolk’ (†) genoemd, die de volgende waarheidstabel heeft. ϕ
ψ
ϕ nor ψ
1 1 0 0
1 0 1 0
0 0 0 1
1.4.2
VERTALEN IN PROPOSITIELOGICA
Een gevolg van het voorgaande is dat we (propositionele) uitspraken in de natuurlijke taal met allerlei connectieven kunnen vertalen naar formules in de propositielogica die uitsluitend gebruik maken van de standaardconnectieven ¬, ∧ , ∨ , → en ↔. In de volgende opgaven kunt u dit nog een aantal keren doen. OPGAVE 1.20 (Aanw)
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: a Marie noch Jan gaat naar het feest. b Of Marie óf Jan gaat naar het feest. c Jan gaat naar het feest, tenzij Marie er naar toe gaat. OPGAVE 1.21 (Aanw)
De gewone taal en soms zelfs de wiskundige taal kunnen behoorlijk misleidend zijn. Probeer de volgende zinnen weer te geven met formules van de propositielogica die de betekenis zo goed mogelijk benaderen. Geef steeds aan waar de gebruikte propositieletters voor staan. a Zowel Jan als Marie gaan naar het feest. b Men verhoogt de entreeprijzen en er komt niemand meer. c (In een definitie). Een getal is oneven als het niet deelbaar is door 2.
30
Leereenheid 1 Propositielogica
OPGAVE 1.22 (Aanw)
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. OPGAVE 1.23
De volgende uitspraken zijn dubbelzinnig. Geef de diverse manieren om de uitspraken te interpreteren weer in propositielogica. a Niet roken en drinken is gezond. b Het regent of hagelt en waait. De propositielogica blijft ondanks haar goede eigenschappen een tamelijk beperkt geheel. Een van de beperkingen is gelegen in het feit dat we slechts over de waarheidswaarden waar en onwaar beschikken. Voor sommige toepassingen in de informatica kan het wel zin hebben met meer waarheidswaarden te kunnen rekenen. Denk bijvoorbeeld aan een gegevensbank Als de informatie over een bepaalde uitspraak (zeg: ‘Persoon x is gehuwd’) geheel ontbreekt, dan kunnen we dit weergeven door hieraan de waarde ‘onbepaald’ (genoteerd als 1/2 ) toe te kennen. Als er daarentegen juist tegenstrijdige informatie over een bepaalde uitspraak is, dan kunnen we die de waarde ‘overbepaald’ geven. De meerwaardige logica houdt zich hiermee bezig: deze maakt het zelfs mogelijk met oneindig veel waarheidswaarden te rekenen. Een andere afwijking van het hebben van slechts twee waarheidswaarden is de zogenaamde ‘fuzzy logic’ waarin we waarheidswaarden als ‘vrijwel waar’, ‘een beetje waar’ en ‘nagenoeg onwaar’ mogen gebruiken. Deze ‘vage logica’ heeft haar weg naar de techniek al gevonden: zelfregulerende systemen zoals een anticiperende cv-thermostaat werken ermee en het wordt ook toegepast in de besturing van bedrijfsliften.
SAMENVATTING
De taal van de propositielogica wordt gevormd door formules. Zulke formules zijn volgens strakke regels opgebouwd uit propositieletters (p, q, ...), haakjes en connectieven. De connectieven, hun uitspraak en de benamingen zijn:
connectief
uitspraak
naam
¬ ∧ ∨ → ↔
niet en of als ..., (dan) desda
negatieteken conjunctieteken disjunctieteken implicatieteken equivalentieteken
31
Open Universiteit
Logica, verzamelingen en relaties
Behalve het negatieteken, dat maar met één formule combineert tot een nieuwe formule ¬ϕ, combineren de connectieven twee formules: (ϕ ∧ ψ) noemen we een conjunctie, (ϕ ∨ ψ) een disjunctie, (ϕ → ψ) een implicatie en (ϕ ↔ ψ) een equivalentie. Formules die optreden bij de 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. Die waarheidstabellen zijn op stelselmatige wijze op te stellen wanneer de waarheidstabellen van de connectieven bekend zijn. Deze zijn: ϕ
ψ
¬ϕ
ϕ∧ψ
ϕ∨ψ
1 1 0 0
1 0 1 0
0 0 1 1
1 0 0 0
1 1 1 0
ϕ→ψ 1 0 1 1
ϕ↔ψ 1 0 0 1
ZELFTOETS
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. a ∧p∧q b p∨p c (p → q) ↔ ¬(¬q → ¬p) d p∧∨q
2
a Geef de waarheidstabellen voor ∨ en →. b Maak de waarheidstabel voor de formule (p → q) ∨ (q → p). c Maak ook de waarheidstabel voor ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q).
3
Geef (bijvoorbeeld door onderstreping) het bereik aan van: a ∨ in (p → q) ∨ (q → p). b het eerste voorkomen van ∨ in ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q). c het tweede voorkomen van ∨ in ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q).
4
In een wiskundige analyse komt de volgende propositie voor: ‘als x > 3 en y ≤ 0, dan z ≠ 0’. a Zet deze uitspraak om in een formule van de propositielogica. b Stel de waarheidstabel van deze formule op. c Wanneer is de formule dus onwaar?
32
Inhoud leereenheid 2
Wetten van de propositielogica 35
Introductie Leerkern
36
Tautologie, contradictie, contingentie 36 2.1.1 Standaardtautologieën 38 2.2 Logische equivalentie 40 2.2.1 Standaardequivalenties 42 2.2.2 Normaalvormen 47 2.2.3 Vereenvoudigen en bezuinigen 51 2.3 Logisch gevolg 53 2.3.1 Standaardgevolgen 56 2.1
Samenvatting Zelftoets
58
59
34
Leereenheid 2
Wetten van de propositielogica
INTRODUCTIE
In deze leereenheid onderzoeken we bepaalde wetmatigheden in de propositielogica. 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 waarheidstabel van de formule. Deze eigenschap komt ook bij (oneindig) veel andere formules voor en is van groot belang, zowel voor de theorie als voor diverse toepassingen. In de vorige leereenheid zagen we al dat p en ¬¬p in feite op hetzelfde neerkomen: de twee formules hebben in elke situatie dezelfde waarheidswaarde. Dit kunnen we precies vaststellen door de waarheidstabellen van de formules uit te rekenen en met elkaar te vergelijken. Hetzelfde verschijnsel zien we bij de formules p ∧ q en ¬¬(p ∧ q), meer in het algemeen bij elk tweetal formules van de vorm ϕ en ¬¬ϕ. Dit is dus een wet van de propositielogica, die in feite neerkomt op ‘dubbele negatie mag weggelaten worden’. Dat is niet zo maar een aardigheidje, maar een nuttig instrument om formules in een eenvoudiger vorm om te zetten, net zoals we in de rekenkunde –(–8) mogen vereenvoudigen tot 8. Een derde soort wetmatigheid heeft te maken met correcte redeneringen. Een redenering van de vorm ‘uit p ∨ ¬q en q kan men p afleiden’, die we al in leereenheid 1 tegenkwamen, vonden we correct, en we gaan nu uitzoeken welke eigenschap van de waarheidstabellen van de formules in kwestie hiervoor verantwoordelijk is. Naast het ontdekken van de diverse soorten wetmatigheden willen we er ook graag enige ordening in aanbrengen. Kunnen we misschien bepaalde standaardwetten formuleren waaruit we de andere wetten kunnen afleiden? Dan kunnen we immers zonder de rompslomp van de waarheidstabellen snel inzien dát iets een wet is. Ook willen we graag verbanden tussen de diverse soorten wetmatigheden vinden: het kan bijvoorbeeld handig zijn een wet te bewijzen via wetmatigheden van een ander soort. Samen met de vorige leereenheid vormt deze leereenheid een inleiding in de propositielogica, die we in leereenheden 3 en 4 gaan uitbreiden tot een krachtiger logica. LEERDOELEN
Na het bestuderen van deze leereenheid wordt verwacht dat u – weet wat waarderingen zijn – de begrippen tautologie, contradictie, contingentie, logische equivalentie en logisch gevolg kent en kunt hanteren – het begrip standaardtautologie kent – weet wat ⊤ (verum) en ⊥ (falsum) zijn en hoe ze gebruikt worden – standaardequivalenties met betrekking tot de connectieven kent en kunt gebruiken, in het bijzonder voor het normaliseren van een formule tot een DNV dan wel CNV
35
Open Universiteit
Logica, verzamelingen en relaties
– standaard logische gevolgen ex falso, modus ponens, contrapositie, reductio ad absurdum, conjunctie-introductie en conjunctieeliminatie kent en kunt toepassen – het verband ziet tussen logische equivalenties en bepaalde tautologieën – het verband ziet tussen logische gevolgen en bepaalde tautologieën. LEERKERN
Tautologie, contradictie, contingentie
2.1
In deze paragraaf richten we ons op eigenschappen van waarheidstabellen van afzonderlijke formules. Door middel van waarheidstabellen kunnen we onderzoeken in welke situaties, dat wil zeggen: onder welke voorwaarden, een formule waar is. Twee gevallen springen er duidelijk uit: formules die ‘altijd’ waar zijn (preciezer: bij elke toekenning van waarheidswaarden aan propositieletters), en formules die ‘altijd’ onwaar zijn. VOORBEELD 2.1
De formule p ∨ ¬p is waar, ongeacht de waarheidswaarde van p. Dit is direct te zien aan de waarheidstabel: p
p
∨
¬
p
1 0
1 0
1 1
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 formule altijd waar is. Elke uitspraak van deze vorm is dus altijd waar, en inderdaad geldt bijvoorbeeld: de propositie ‘Het getal n is een kwadraat of het getal n is geen kwadraat ’ is altijd waar. « We zullen in het vervolg niet steeds de gebruikte voorbeeldformules illustreren door middel van concrete proposities, maar u kunt zelf steeds uitspraken naar eigen voorkeur voor de propositieletters invullen. VOORBEELD 2.2
De formule (p ∧ (p → q)) → q is ook waar, welke waarheidswaarde we ook voor p en q kiezen. p
q
(p
∧
(p
→
q))
→
q
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 1 1 ↑
1 0 1 0
Vanaf nu geven we de stappen waarin de waarheidstabel wordt opgesteld niet meer aan. Denk erom dat de waarheidswaarden van de hele formule in de kolom staan onder het connectief met het grootste bereik, hier dus het laatste implicatieteken. Deze kolom is aangegeven met een pijltje. «
36
Leereenheid 2 Wetten van de propositielogica
Om steeds terugkerende, moeizame formuleringen als ‘bij elke toekenning van waarheidswaarden aan propositieletters’ te vermijden, noemen we een toekenning van waarheidswaarden aan propositieletters een waardering. Bij iedere rij in een waarheidstabel hoort dus een waardering. Wiskundig gezien is een waardering w een functie van propositieletters naar waarheidswaarden, dat wil zeggen w: {p, q, r, ...} → {0, 1}. De formules in de laatste twee voorbeelden, die voor iedere waardering waar zijn, noemen we tautologieën. De precieze definitie is als volgt.
Waardering
Tautologie
DEFINITIE 2.1
Hoofdkolom
Waarheidswaarden van formule staan in hoofdkolom.
Een tautologie is een formule van de propositielogica die waar is voor elke waardering. Om te bewijzen dát een formule een tautologie is, of om na te gaan óf iets een tautologie is, dienen we dus een waarheidstabel voor de formule op te stellen, en vervolgens te kijken of de hoofdkolom (die staat onder het connectief met het grootste bereik en die dus het laatst berekend wordt) alleen maar voorkomens van het symbool 1 bevat.
OPGAVE 2.1 (Aanw)
Bewijs dat de volgende formules tautologieën zijn: a p→p b (p → q) ↔ (¬p ∨ q) c ((p → q) ∧ (q → r)) → (p → r) d ¬(p ∧ q) ↔ (¬p ∨ ¬q) OPGAVE 2.2 (Aanw)
Ga na of de volgende formules tautologieën zijn: a ¬(p → ¬p) b ¬(p ∨ q) ↔ (¬p ∧ ¬q) c (p → q) → (¬p → ¬q) d (p → q) ↔ (¬q → ¬p) De tegenhanger van een tautologie is een formule die in elke situatie onwaar is. Dit wordt contradictie genoemd. VOORBEELD 2.3
De formule p ∧ ¬p is onwaar, ongeacht de waarheidswaarde van p: p
p
∧
¬
p
1 0
1 0
0 0 ↑
0 1
1 0
In de hoofdkolom van de waarheidstabel verschijnen bij een contradictie dus alleen maar nullen. De definitie van contradictie is een soort spiegelbeeld van die van tautologie. Contradictie
DEFINITIE 2.2
Een contradictie is een formule die onwaar is voor elke waardering. De formule p ∧ ¬p is dus een contradictie.
OPGAVE 2.3 (Aanw)
Bewijs dat de volgende formules contradicties zijn. a ¬(p → p) b (p ∧ q) ↔ (¬p ∨ ¬q) c (p ∨ q) ∧ (¬q ∧ ¬p)
37
Open Universiteit
Logica, verzamelingen en relaties
OPGAVE 2.4 (Aanw)
Ga na welke van de volgende formules contradicties zijn. a p ∧ ¬(p ∨ q) b ¬(p → q) c ¬(((p → q) → p) → p) Het is duidelijk dat een formule niet zowel een contradictie als een tautologie kan zijn. Dat volgt meteen uit de definities. Er is overigens wel een eenvoudig verband tussen beide soorten formules. OPGAVE 2.5
Laat zien dat ¬ϕ een contradictie is als ϕ een tautologie is, en omgekeerd. En ook: ϕ is een contradictie precies dan als ¬ϕ een tautologie is. Hoewel geen enkele formule zowel een contradictie als een tautologie kan zijn, bestaan er zeker wél formules die geen van beide zijn. VOORBEELD 2.4
De formule p ∧ ¬q is waar voor één waardering, en onwaar voor de overige waarderingen. p
q
p
∧
¬
q
1 1 0 0
1 0 1 0
1 1 0 0
0 1 0 0 ↑
0 1 0 1
1 0 1 0
Formules die noch tautologie, noch contradictie zijn, worden contingenties genoemd. Contingentie
DEFINITIE 2.3
Een contingentie is een formule die geen tautologie en ook geen contradictie is. Een contingentie is dus waar voor minstens één waardering en onwaar voor minstens één andere. Daarom is p ∧ ¬q een contingentie. Andere voorbeelden zijn formules als p, p → ¬p, (p ∨ q) → p, enzovoort.
OPGAVE 2.6
Welke formules in opgaven 2.2 en 2.4 zijn contingenties? 2.1.1
Standaardtautologie
Alle formules van de vorm ϕ ∨ ¬ϕ zijn tautologieën.
STANDAARDTAUTOLOGIEËN
Bepaalde vormen van tautologieën keren steeds weer terug. We noemen ze standaardtautologieën. Een tautologie is waar onafhankelijk van de waarheidswaarden van de propositieletters. Dit betekent dat deze waarheid ook niets te maken heeft met de uitspraak waar een propositieletter in een concreet geval voor staat. Het is 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) evenzeer tautologieën. Kortom, alle formules van de vorm ϕ ∨ ¬ϕ zijn tautologieën. We kunnen dit een wet van de propositielogica noemen. We kunnen ook direct inzien dat al deze formules tautologieën zijn door een kleine variatie op de waarheidstabel uit het begin van paragraaf 2.1:
38
Leereenheid 2 Wetten van de propositielogica
Principe van de uitgesloten derde
Deze wet moet u kennen!
ϕ
ϕ ∨ ¬ ϕ
1 0
1 1 0 1 0 1 1 0
Deze wet heet het principe van de uitgesloten derde (Latijn: tertium non datur, wat letterlijk betekent: een derde wordt niet gegeven). Dit principe houdt verband met het feit dat we slechts twee waarheidswaarden hebben: een formule is in de propositielogica of waar of onwaar, en in het laatste geval is de negatie van de formule waar – andere mogelijkheden zijn er niet. Het principe van tertium non datur was de oude Grieken ook al bekend, al waren zeker niet allen het er mee eens. Het schijnt dat bijvoorbeeld Herakleitos (ca. 500 v. Chr.) de juistheid van het principe betwijfelde en dat tijdgenoot Parmenides het daarentegen verdedigde. Het afwijzen van het principe heeft direct te maken met het hebben van meer waarheidswaarden, waarover een intermezzo in leereenheid 1 al ging. Als we toestaan dat een formule niet altijd óf waar óf onwaar hoeft te zijn, maar dat de waarheidswaarde ook ‘onbepaald’ kan zijn, dan hoeft het principe van uitgesloten derde niet meer te gelden. Het is mogelijk waarheidstabellen voor de connectieven te verzinnen die p ∨ ¬p voor zekere waardering de waarde ‘onbepaald’ geven: de formule is dan geen tautologie meer. De logische complicaties van dit soort variaties zijn niet gering en we gaan er hier dan ook verder niet op in.
Generaliseren van tautologieën
Deze formules hoeft u niet uit het hoofd te leren, maar wel moet u met waarheidstabellen kunnen bewijzen dat ze tautologieën zijn.
Misschien is het al duidelijk dat wat we voor het principe van uitgesloten derde hebben gedaan, we ook voor andere tautologieën kunnen doen: vervang in een tautologie de propositieletters (p, q, ...) door willekeurige formules (respectievelijk ϕ, ψ, ...). En wel: elk voorkomen van één propositieletter door dezelfde formule. Alle formules van de verkregen vorm zullen dan ook tautologieën zijn. Dit levert standaardtautologieën van een algemene vorm, zoals: a b c d e f
ϕ ↔ ¬¬ϕ (ϕ ∧ ¬ϕ) → ψ (ϕ ∧ (ϕ → ψ)) → ψ ¬(ϕ ∧ ψ) ↔ (¬ϕ ∨ ¬ψ) ¬(ϕ ∨ ψ) ↔ (¬ϕ ∧ ¬ψ) (ϕ → ψ) ↔ (¬ψ → ¬ϕ)
Zo is c verkregen door p en q in de formule van voorbeeld 2.2 te vervangen door respectievelijk ϕ en ψ. OPGAVE 2.7
Bewijs met waarheidstabellen dat de formules a en b tautologieën zijn. Ga daarna na uit welke al bewezen tautologieën we formules d, e en f verkregen hebben. Het voordeel van het gebruiken van zulke standaardtautologieën is dat we nu niet meer een omvangrijke waarheidstabel voor bijvoorbeeld ((p ∧ q) → (¬r ∨ s)) ↔ ¬¬((p ∧ q) → (¬r ∨ s)) hoeven op te stellen; het volstaat om de vorm a van de formule te herkennen.
39
Open Universiteit
Logica, verzamelingen en relaties
Logische equivalentie
2.2
Het al dan niet een tautologie zijn, is een eigenschap van één formule, maar het kan zin hebben twee formules te vergelijken, ook als dat contingenties zijn. Veel formules blijken, informeel gesproken, op hetzelfde neer te komen. VOORBEELD 2.5
De formules p en ¬¬p krijgen voor elke waardering dezelfde waarheidswaarde. Dit blijkt uit de volgende tabel, waar we voor beide waarderingen van p de waarheidswaarden van p en ¬¬p hebben bepaald. p
p
¬
¬
p
1 0
1 0 ↑
1 0 ↑
0 1
1 0
De aangegeven kolommen, die de waarheidswaarden van de formules p en ¬¬p bevatten, zijn identiek. « Voor deze belangrijke eigenschap voeren we een nieuw begrip in. Logisch equivalent
DEFINITIE 2.4
Twee formules heten logisch equivalent als ze voor iedere waardering dezelfde waarheidswaarden hebben. Als ϕ en ψ logisch equivalent zijn, dan noteren we dit met ϕ ⇔ ψ. Het teken ⇔ gebruiken we dus als een soort afkorting voor ‘heeft voor iedere waardering dezelfde waarheidswaarde als’. Logische equivalentie stellen we dus vast door waarheidstabellen te vergelijken, ook eventueel voor algemenere formules.
VOORBEELD 2.6
De formules ϕ ↔ ψ en (ϕ → ψ) ∧ (ψ → ϕ) zijn logisch equivalent: ϕ
ψ
ϕ
↔
ψ
(ϕ
→
ψ)
∧
(ψ
→
ϕ)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 1
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 0 0
↑
↑
OPGAVE 2.8 (Aanw)
Bewijs de volgende logische equivalenties. a p → q ⇔ ¬p ∨ q b ¬(ϕ ∧ ψ) ⇔ ¬ψ ∨ ¬ϕ c ϕ → ψ ⇔ ¬ψ → ¬ϕ OPGAVE 2.9 (Aanw)
Ga na of er in de volgende gevallen sprake is van logische equivalentie. a ¬(p ∨ q) ?⇔ ¬p ∨ ¬q b ¬(p ∨ q) ?⇔ ¬p ∧ ¬q c ¬(p ↔ q) ?⇔ p ↔ ¬q d p ↔ q ?⇔ (p → q) ∨ (q → p)
40
«
Leereenheid 2 Wetten van de propositielogica
Wanneer het uit de context voldoende duidelijk is, spreken we vaak gewoon over equivalentie, in plaats van logische equivalentie. Om verwarring te voorkomen, wordt ϕ ↔ ψ soms ook wel een materiële equivalentie genoemd.
Materiële equivalentie ⇔ versus ↔
Tussen beide soorten equivalenties bestaat een nauw verband. Kijken we aandachtig naar een aantal eerdere voorbeelden en opgaven, dan openbaart zich een regelmaat. Vergelijk maar per regel de volgende formules links (materiële equivalenties die allemaal tautologieën zijn) met de logische equivalenties rechts: (p → q) ↔ (¬p ∨ q) ¬(p ∨ q) ↔ (¬p ∧ ¬q) ¬(ϕ ∧ ψ) ↔ (¬ϕ ∨ ¬ψ) (ϕ → ψ) ↔ (¬ψ → ¬ϕ)
p → q ⇔ ¬p ∨ q ¬(p ∨ q) ⇔ ¬p ∧ ¬q ¬(ϕ ∧ ψ) ⇔ ¬ϕ ∨ ¬ψ ϕ → ψ ⇔ ¬ψ → ¬ϕ
Het verband tussen ↔ en ⇔
Met de tautologieën links correspondeert steeds een logische equivalentie rechts. Afgezien van het feit dat we rechts ⇔ in plaats van ↔ vinden, is het verschil vooral dat er links steeds één formule staat en rechts een bewering over twee formules. Dit verband is volkomen algemeen en we kunnen het ook zonder veel problemen bewijzen.
STELLING 2.1
De formule ϕ ↔ ψ is een tautologie precies dan als ϕ ⇔ ψ.
Bewijs van bewering i
Bewijs van bewering ii
Bewijs De stelling, en daarmee het bewijs, valt uiteen in twee beweringen: i als ϕ ↔ ψ een tautologie is, dan geldt ϕ ⇔ ψ ii als ϕ ⇔ ψ, dan is ϕ ↔ ψ een tautologie. Stel ϕ ↔ ψ is een tautologie. Als ϕ nu waar is, dan moet ψ ook waar zijn volgens de waarheidstabel van ↔, anders was ϕ ↔ ψ geen tautologie. Op dezelfde manier blijkt dat als ψ waar is, ϕ ook waar moet zijn. Kortom, ϕ is juist dan waar als ψ waar is, en derhalve ϕ ⇔ ψ. Stel nu dat ϕ ⇔ ψ, dan betekent dit voor elke waardering dat ϕ en ψ óf beide waar óf beide onwaar zijn. Maar in elk van deze twee mogelijk□ heden is de formule ϕ ↔ ψ waar, ongeacht de gekozen waardering. Het is dus lood om oud ijzer of we de mogelijke equivalentie van ϕ en ψ onderzoeken door een waarheidstabel voor ϕ ↔ ψ te maken, dan wel door de waarheidstabellen van ϕ en ψ direct te vergelijken.
⇔≠↔
Hoewel er dus een nauw verband is tussen beide soorten equivalenties, mogen we de tekens ⇔ en ↔ niet door elkaar heen gebruiken. Het cruciale verschil is dat ↔ een symbool uit de taal van de propositielogica is en ⇔ niet. Als we twee formules ϕ en ψ hebben, dan kunnen we er een nieuwe formule ϕ ↔ ψ mee opbouwen die waar of onwaar kan zijn; ϕ ⇔ ψ is daarentegen geen formule uit de propositielogica, maar een uitspraak over formules van de propositielogica, namelijk dat ϕ en ψ logisch equivalent zijn. Omdat we alleen ware uitspraken over de propositielogica willen doen (tenzij we dit expliciet aangeven zoals in bewijzen uit het ongerijmde), brengt dit nog een verschil met zich mee: als we (voor zekere ϕ en ψ) opschrijven dat ϕ ⇔ ψ, dan bedoelen we dat dit inderdaad het geval is, terwijl alleen de formule ϕ ↔ ψ opschrijven nog niet de waarheid van die formule inhoudt.
41
Open Universiteit
Logica, verzamelingen en relaties
Equivalenties mag u aaneenschakelen.
Verschillende equivalenties kunnen we aaneenschakelen, zoals trouwens in de wiskunde ook heel gebruikelijk is (zelfs met de hier ingevoerde notatie). Bij het oplossen van vergelijkingen gebruiken we immers ook een keten van equivalenties, zoals x2 – 2x = 3 ⇔ x2 – 2x – 3 = 0 ⇔ (x – 3)(x + 1) = 0 ⇔ x – 3 = 0 ∨ x + 1 = 0 ⇔ x = 3 ∨ x = –1. Zo ook in de logica: ¬(¬p ∧ ¬q) ⇔ ¬¬p ∨ ¬¬q ⇔ p ∨ q. De laatste serie equivalenties is niet zonder meer in een formule om te zetten door ⇔ simpelweg door ↔ te vervangen. Er zijn dan zelfs twee moeilijkheden: ten eerste ontbreken er haakjes, want de uitdrukking ¬(¬p ∧ ¬q) ↔ ¬¬p ∨ ¬¬q ↔ p ∨ q is geen correcte formule, en als we haakjes toevoegen dan krijgen we een ander probleem: hoe we die ook om de equivalenties heen zetten, de resulterende formule is geen tautologie.
Alle tautologieën zijn logisch equivalent!
Verum
⊤
Falsum
⊥
Overigens hebben tautologieën de bijzondere eigenschap dat ze allemaal logisch equivalent zijn. De reden hiervoor is eenvoudigweg dat ze alle alleen maar waar zijn (ongeacht de waardering), dus zijn ze uiteraard voor dezelfde waardering waar. Dit maakt het mogelijk een willekeurige tautologie te kiezen (bijvoorbeeld p ∨ ¬p) en die een speciaal symbool en een speciale naam te geven: ⊤ (spreek uit: verum). Voor contradicties kunnen we een vergelijkbaar verhaal houden. Voor de standaardcontradictie p ∧ ¬p wordt wel het symbool ⊥ gebruikt (spreek uit: falsum). In de propositielogica rekenen we niet met ⊤ en ⊥ alsof het afkortingen zijn, maar als nieuwe symbolen die altijd waar, respectievelijk onwaar zijn. Naast propositieletters zijn ⊤ en ⊥ dan tevens kleinste formules.
OPGAVE 2.10
Waarom maakt het niet uit welke contradictie we voor ⊥ kiezen? OPGAVE 2.11
a Maak de waarheidstabel van p ∧ (q ∨ ⊤). Met welke formule is p ∧ (q ∨ ⊤) dus equivalent? b Toon aan dat ϕ ∨ ¬ϕ ⇔ ⊤. 2.2.1
Commutativiteit
STANDAARDEQUIVALENTIES
Om met logische equivalenties te werken, is het handig over een aantal standaardequivalenties te beschikken. Deze equivalenties vormen tevens de kern van deze leereenheid: ze maken het bijvoorbeeld mogelijk vrij snel ook van tamelijk ingewikkelde formules te bewijzen dat het tautologieën zijn (als ze dat tenminste zijn). Sommige van deze regels, die we ook wel de wetten van de propositielogica zullen noemen, doen denken aan de middelbare-schoolalgebra waar u wellicht ooit mee te maken hebt gehad. Die indruk is juist: de propositielogica is een bepaald soort algebra, namelijk een zogeheten boolealgebra ten opzichte van ¬, ∧ en ∨, opgevat als bewerkingen op waarheidswaarden (zie verder leereenheid 6). Commutativiteit is de eigenschap die zegt dat een bewerking op twee uitdrukkingen even goed in omgekeerde volgorde mag worden uitgevoerd. In de gewone rekenkunde is + commutatief (want x + y = y + x), maar – is dat niet (want x – y ≠ y – x). Zowel conjunctie als disjunctie blijken nu commutatief:
42
Leereenheid 2 Wetten van de propositielogica
∧ en ∨ zijn commutatief
ϕ∧ψ⇔ψ∧ϕ ϕ∨ψ⇔ψ∨ϕ We controleren de commutativiteit van ∧: ϕ
ψ
ϕ
∧
ψ
ψ
∧
ϕ
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0 ↑
1 0 1 0
1 0 1 0
1 0 0 0 ↑
1 1 0 0
OPGAVE 2.12
Bewijs de commutativiteit van ∨ op dezelfde manier als voor ∧. VOORBEELD 2.7
Voorbeelden van commutativiteit van ∧ en ∨ zijn: p∧q⇔q∧p (p ∧ q) ∨ (p ∧ ¬r) ⇔ (p ∧ ¬r) ∨ (p ∧ q) De equivalentie van het eerste paar formules kunnen we zien als een abstracte weergave van het feit dat ‘Stefan tennist het liefst en Gabriela speelt het liefst met haar Game Boy’ hetzelfde betekent als ‘Gabriela speelt het liefst met haar Game Boy en Stefan tennist het liefst’. « Het connectief ↔ (equivalentie) is ook commutatief, maar de implicatie is dit niet : ϕ → ψ ψ → ϕ. U kunt dit zelf met een waarheidstabel controleren.
Associativiteit
Ook associativiteit is bekend uit de rekenkunde: + is associatief, want x + (y + z) = (x + y) + z. Ook conjunctie en disjunctie zijn elk op zich associatief: (hierbij gebruiken we de Griekse letter χ (chi, spreek uit: ‘gie’) die weer een willekeurige formule aanduidt) ∧ en ∨ zijn associatief.
(ϕ ∧ ψ) ∧ χ ⇔ ϕ ∧ (ψ ∧ χ) (ϕ ∨ ψ) ∨ χ ⇔ ϕ ∨ (ψ ∨ χ)
OPGAVE 2.13
Bewijs de associativiteit van ∧ met behulp van waarheidstabellen. Als we een formule hebben met alleen conjuncties, dan staat associativiteit ons toe om haakjes weg te laten. Of we ϕ ∧ ψ ∧ χ nu lezen als (ϕ ∧ ψ) ∧ χ of als ϕ ∧ (ψ ∧ χ) maakt weinig uit. Let wel: het zijn andere formules, maar ze zijn wel logisch equivalent. Hetzelfde geldt voor disjunctie. De haakjes binnen ϕ, ψ en χ blijven natuurlijk wel staan. OPGAVE 2.14
Geef een voorbeeld waaruit blijkt dat → niet associatief is.
43
Open Universiteit
Logica, verzamelingen en relaties
∧ en ∨ zijn distributief over elkaar.
Commutativiteit en associativiteit zijn algebraïsche eigenschappen van één connectief. Een eigenschap die twee connectieven met elkaar in verband brengt, is distributiviteit. In de rekenkunde is × distributief over +, want x × (y + z) = x × y + x × z, maar + is niet distributief over ×, want 1 + (1 × 0) ≠ (1 + 1) × (1 + 0). Daarin verschillen de logische operaties van de rekenkundige: ∧ is distributief over ∨, én ∨ is distributief over ∧. ϕ ∧ (ψ ∨ χ) ⇔ (ϕ ∧ ψ) ∨ (ϕ ∧ χ) ϕ ∨ (ψ ∧ χ) ⇔ (ϕ ∨ ψ) ∧ (ϕ ∨ χ)
VOORBEELD 2.8
Een voorbeeld van de distributiviteit van ∨ over ∧ is:
Distributiviteit
p ∨ (q ∧ r) ⇔ (p ∨ q) ∧ (p ∨ r) Dit zou kunnen staan voor: ‘Marie of zowel Christa als Edith komt op het feestje’, wat hetzelfde betekent als ‘Zowel Marie of Christa als Marie of Edith komt op het feestje’. Dit lijkt inderdaad juist. « Deelformule vervangen door equivalente formule.
De voorgaande eigenschappen hebben we alleen besproken voor hele formules en nog niet voor delen daarvan. Maar ze gelden ook voor de deelformules van een formule.
VOORBEELD 2.9
Vanwege de commutativiteit van ∧ geldt er dat (p ∧ q) ∨ r ⇔ (q ∧ p) ∨ r, want p ∧ q ⇔ q ∧ p. « In een formule mag een deelformule dus vervangen worden door een formule die daarmee equivalent is. De tot nu toe genoemde standaardequivalenties lijken nog veel op gewone rekenkundige eigenschappen. Maar andere equivalenties gelden zeker niet voor de gewone rekenkunde. We noemen enkele kenmerkende regels.
Idempotentie
De eigenschap idempotentie zegt dat een bewerking op twee gelijke argumenten weer hetzelfde element oplevert. ∧ en ∨ zijn idempotent.
ϕ∧ϕ⇔ϕ ϕ∨ϕ⇔ϕ Een eigenschap waarop we in de leereenheid over Boole-algebra’s terugkomen, maar die we hier alvast voor de volledigheid vermelden, is absorptie.
Absorptie ∧ en ∨ voldoen aan de absorptiewetten.
ϕ ∧ ( ϕ ∨ ψ) ⇔ ϕ ϕ ∨ ( ϕ ∧ ψ) ⇔ ϕ Veel algebra’s hebben speciale elementen waarbij een bewerking geen effect heeft. Bijvoorbeeld x + 0 = x en x × 1 = x. Zo ook in de propositielogica met de operaties ∨ en ∧.
Eigenschappen van ⊤ en ⊥
ϕ∧⊤⇔ϕ ϕ∨⊥⇔ϕ
44
Leereenheid 2 Wetten van de propositielogica
Ten opzichte van de ‘verkeerde’ operatie zijn ⊥ en ⊤ heer en meester: Eigenschappen van ⊤ en ⊥
ϕ∨⊤⇔⊤ ϕ∧⊥⇔⊥
VOORBEELD 2.10
Uit deze eigenschappen is vrij eenvoudig af te leiden dat dan ook de eigenschap ⊥ ∧ ϕ ⇔ ⊥ geldt. We bewijzen dit, waarbij we alleen van standaardequivalenties gebruikmaken. ⊥∧ϕ ⇔ϕ∧⊥ ⇔⊥
Notatie
commutativiteit ⊥-eigenschap
Bij het logische equivalentiesymbool en de daarop volgende nieuwe (logisch equivalente) formule schrijven we steeds welke eigenschap we gebruikt hebben. « Een pluspunt is dat wanneer we eenmaal zo’n equivalentie hebben afgeleid uit de standaardwetten, we haar ook verder kunnen gebruiken in bewijzen van meer ingewikkelde formules.
OPGAVE 2.15
Bewijs door middel van standaardequivalenties dat ⊤ ∨ ϕ ⇔ ⊤. Geef daarbij steeds aan welke eigenschappen of standaardequivalenties worden gebruikt. Zoals al gezegd zijn ⊤ en ⊥ equivalent met respectievelijk elke tautologie en elke contradictie. In het bijzonder geldt dit voor de standaardtautologie ϕ ∨ ¬ϕ en de standaardcontradictie ϕ ∧ ¬ϕ, waarop we uiteraard ook weer commutativiteit kunnen toepassen: ⊤ is equivalent met tertium non datur.
ϕ ∨ ¬ϕ ⇔ ¬ϕ ∨ ϕ ⇔ ⊤ ϕ ∧ ¬ϕ ⇔ ¬ϕ ∧ ϕ ⇔ ⊥ Ten slotte zijn ⊤ en ⊥ tot elkaar te herleiden:
⊤ versus ⊥
Dubbele negatie
¬⊤ ⇔ ⊥ ¬⊥ ⇔ ⊤ Al eerder zagen we een eigenschap die gelijkenis vertoont met – –x = x. De propositielogica kent de wet van de dubbele negatie (vergelijk met dubbel complement voor verzamelingen): ¬¬ϕ ⇔ ϕ
Wetten van De Morgan
Ook de wetten van De Morgan zijn we (in de opgaven 2.8b en 2.9b) al tegengekomen. ¬(ϕ ∧ ψ) ⇔ ¬ϕ ∨ ¬ψ ¬(ϕ ∨ ψ) ⇔ ¬ϕ ∧ ¬ψ Augustus De Morgan was hoogleraar aan University College London en overleed in 1871. Hij deed eens de (ware) uitspraak: ‘in het jaar n2 was ik n jaar oud’. Wanneer was hij geboren?.
45
Open Universiteit
Logica, verzamelingen en relaties
We mogen met de wetten van De Morgan dus (wanneer we die van rechts naar links ‘lezen’) de negatie ‘buiten haakjes halen’, mits we dan conjunctie in disjunctie veranderen, en omgekeerd. Hierdoor vereenvoudigt de formule in die zin dat het resultaat minder connectieven bevat. Andersom kunnen we de equivalenties ook van links naar rechts gebruiken om formules in een bepaalde vorm te krijgen. Bijvoorbeeld: ¬((p ∨ ¬q) ∧ r) ⇔ ¬(p ∨ ¬q) ∨ ¬r ⇔ (¬p ∧ ¬¬q) ∨ ¬r ⇔ (¬p ∧ q) ∨ ¬r, waarbij we ten slotte alleen eventuele negaties direct voor de propositieletters overhouden. Over ‘vereenvoudigen’ en in ‘standaardvorm’ brengen van formules volgen verderop nog aparte paragrafen. Voor een concreet maar kenmerkend geval hebben we in opgave 2.8a (met ϕ = p en ψ = q) al gezien dat iedere implicatie equivalent is met een bepaalde disjunctie:
ϕ → ψ ⇔ ¬ϕ ∨ ψ Omdat we equivalenties ook op deelformules mogen toepassen, betekent dit dat we een implicatie altijd kunnen vervangen door een disjunctie met een negatie. We noemen dit implicatie-eliminatie.
Implicatieeliminatie VOORBEELD 2.11
We kunnen met de gegeven wetten nu op een andere manier (zonder waarheidstabellen) bewijzen dat (p → q) ∨ (q → p) een tautologie is. We vermelden weer steeds de gebruikte standaardequivalentie of eigenschap, totdat we bij het eindresultaat zijn. (p → q) ∨ (q → p) ⇔ (¬p ∨ q) ∨ (¬q ∨ p) ⇔ (¬p ∨ (q ∨ ¬q)) ∨ p ⇔ (¬p ∨ ⊤) ∨ p ⇔⊤∨p ⇔⊤
implicatie-eliminatie associativiteit ⊤-eigenschap ⊤-eigenschap ⊤-eigenschap
Merk op dat we in de laatste stap een al (met commutativiteit) afgeleide ⊤-eigenschap gebruiken. Overigens zijn er ook andere bewijzen mogelijk, onder andere door de haakjes in de derde stap anders te zetten. « OPGAVE 2.16 (Aanw)
Bewijs met standaardequivalenties dat p → q ⇔ ¬q → ¬p. Equivalentieeliminatie
Ook equivalenties kunnen we vervangen door negaties, disjuncties en conjuncties, als we de volgende logische equivalentie gebruiken die eenvoudig met bijvoorbeeld een waarheidstabel van (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) is te controleren:
ϕ ↔ ψ ⇔ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) OPGAVE 2.17
Bewijs met gebruik van deze regel dat ϕ ↔ ψ ⇔ ¬ϕ ↔ ¬ψ.
46
Leereenheid 2 Wetten van de propositielogica
Tot slot van deze paragraaf zetten we alle standaardequivalenties op een rij. Deze standaardequivalenties kunt u gebruiken bij het maken van de opgaven of het leveren van bewijzen. Indien er gevraagd wordt een standaardequivalentie te bewijzen, kunt u natuurlijk niet volstaan met naar deze tabel te verwijzen, maar zult u gebruik moeten maken van andere standaardequivalenties of van waarheidstabellen. We merken nog op dat ϕ ↔ ψ equivalent is met (ϕ → ψ) ∧ (ψ → ϕ) (zie voorbeeld 2.6), maar dat dit geen standaardequivalentie is; in plaats hiervan is equivalentie-eliminatie als standaard opgenomen. (Directe gevolgen van commutativiteit zijn in de tabel weggelaten.) TABEL 2.1
Standaardequivalenties
naam
equivalentie
commutativiteit associativiteit distributiviteit idempotentie absorptie ⊤-eigenschappen
ϕ∧ψ⇔ψ∧ϕ (ϕ ∧ ψ) ∧ χ ⇔ ϕ ∧ (ψ ∧ χ) ϕ ∧ (ψ ∨ χ) ⇔ (ϕ ∧ ψ) ∨ (ϕ ∧ χ) ϕ∧ϕ⇔ϕ ϕ ∧ (ϕ ∨ ψ) ⇔ ϕ ϕ∧⊤⇔ϕ ϕ∨⊤⇔⊤ ϕ∨⊥⇔ϕ ϕ ∧ ¬ϕ ⇔ ⊥ ¬¬ϕ ⇔ ϕ ¬(ϕ ∧ ψ) ⇔ ¬ϕ ∨ ¬ψ ϕ → ψ ⇔ ¬ϕ ∨ ψ ϕ ↔ ψ ⇔ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ)
⊥-eigenschappen dubbele negatie De Morgan implicatie-eliminatie equivalentie-eliminatie
2.2.2
ϕ∨ψ⇔ψ∨ϕ (ϕ ∨ ψ) ∨ χ ⇔ ϕ ∨ (ψ ∨ χ) ϕ ∨ (ψ ∧ χ) ⇔ (ϕ ∨ ψ) ∧ (ϕ ∨ χ) ϕ∨ϕ⇔ϕ ϕ ∨ (ϕ ∧ ψ) ⇔ ϕ ϕ ∨ ¬ϕ ⇔ ⊤ ¬⊤ ⇔ ⊥ ϕ∧⊥⇔⊥ ¬⊥ ⇔ ⊤ ¬(ϕ ∨ ψ) ⇔ ¬ϕ ∧ ¬ψ
NORMAALVORMEN
De standaardequivalenties uit de vorige paragraaf maken het mogelijk een willekeurige formule om te zetten in een equivalente formule met een speciale vorm. Zo’n vaste vorm heet een normaalvorm en het proces van omzetten heet normaliseren. Zulke normaalvormen zijn voor diverse toepassingen, onder andere in de informatica, erg handig. We gaan hier twee normaalvormen van propositielogische formules bespreken.
Normaalvorm Normaliseren
De eerste normaalvorm die we hier beschouwen, zien we in de formule (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ ¬r) Disjunctieve normaalvorm
DNV: disjunctie van conjuncties
Naar het connectief met het grootste bereik heet dit een disjunctieve normaalvorm (DNV). Meer in het algemeen is een DNV een disjunctie van formules die conjuncties zijn van propositieletters en negaties van propositieletters. Een DNV ziet er dus globaal zo uit: (... ∧ ... ∧ ...) ∨ (... ∧ ... ∧ ...) ∨ ... ∨ (... ∧ ... ∧ ...)
47
Open Universiteit
Logica, verzamelingen en relaties
Anders gezegd: een DNV is een disjunctie waarvan elk disjunct een conjunctie is, en elk conjunct daarvan is weer een (negatie van een) propositieletter. In de techniek (bijvoorbeeld bij constructie van schakelingen), noemt men zo’n conjunct ook wel een min-term. Een paar grensgevallen noemen we nog even apart: ook als er geen disjunctie of conjunctie in een formule aanwezig is, spreken we toch van een DNV wanneer maar aan de overige voorwaarden voldaan is. De volgende formules zijn dus ook in DNV: p ∧ q ∧ ¬r p ∨ ¬q Elke formule is in DNV te brengen, maar het is zeker niet zo dat die DNV eenduidig bepaald is. Zelfs als we afzien van verwisselingen vanwege commutativiteit van ∧ en ∨, ligt de DNV niet eenduidig vast. De voorbeeldformule (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ ¬r) is equivalent met een andere, eenvoudiger DNV: (q ∧ ¬r) ∨ (p ∧ ¬q ∧ r). OPGAVE 2.18 (Aanw)
Bewijs met behulp van de standaardequivalenties dat (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ ¬r) en (q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) equivalent zijn. VOORBEELD 2.12
In dit voorbeeld zetten we de formule ¬(p → (q ∧ (p ∨ ¬q))) stapsgewijs om in een DNV: ¬(p → (q ∧ (p ∨ ¬q))) ⇔ ¬(¬p ∨ (q ∧ (p ∨ ¬q))) ⇔ ¬¬p ∧ ¬(q ∧ (p ∨ ¬q)) ⇔ p ∧ ¬(q ∧ (p ∨ ¬q)) ⇔ p ∧ (¬q ∨ ¬(p ∨ ¬q)) ⇔ p ∧ (¬q ∨ (¬p ∧ ¬¬q)) ⇔ p ∧ (¬q ∨ (¬p ∧ q)) ⇔ (p ∧ ¬q) ∨ (p ∧ ¬p ∧ q) ⇔ (p ∧ ¬q) ∨ (⊥ ∧ q) ⇔ (p ∧ ¬q) ∨ ⊥ ⇔ p ∧ ¬q
implicatie-eliminatie De Morgan dubbele negatie De Morgan De Morgan dubbele negatie distributie van ∧ over ∨ definitie ⊥ ⊥-eigenschap ⊥-eigenschap
Al drie stappen voor het einde bereiken we een DNV, maar die kunnen we met behulp van ⊥ nog aanzienlijk vereenvoudigen. « Aan dit voorbeeld kunnen we een algemene strategie ontlenen. Om een willekeurige formule in DNV om te zetten, volstaat het om het volgende recept te volgen: Omzetten naar DNV
– Vervang eerst → en ↔ met behulp van implicatie- respectievelijk equivalentie-eliminatie. – Duw vervolgens, met de wetten van De Morgan en de wet van de dubbele negatie, de negaties naar binnen, tot aan de propositieletters. – Distribueer ∧ over ∨.
48
Leereenheid 2 Wetten van de propositielogica
Pas deze stappen zo vaak toe als nodig is. U hebt dan een DNV, al kan die in de meeste gevallen nog sterk vereenvoudigd worden. Voor het laatste gebruiken we ook de overige standaardequivalenties: commutativiteit, associativiteit, absorptie, idempotentie en de wetten voor ⊤ en ⊥. Komen we aldus ten slotte bij ⊥ uit, dan is de gegeven formule een contradictie; komen we bij ⊤ uit, dan is de gegeven formule een tautologie. Een voorbeeld daarvan zagen we al bij voorbeeld 2.11. Bij de omzetting tot ⊤ en ⊥ is het soms handig een negatie juist weer ‘buiten haakjes’ te halen. VOORBEELD 2.13
Eerst zetten we ϕ → (ψ → (ϕ ∧ ψ)) volgens het vaste recept om, en vereenvoudigen vervolgens zoveel mogelijk:
ϕ → (ψ → (ϕ ∧ ψ)) ⇔ ¬ϕ ∨ (ψ → (ϕ ∧ ψ)) ⇔ ¬ϕ ∨ (¬ψ ∨ (ϕ ∧ ψ)) ⇔ (¬ϕ ∨ ¬ψ) ∨ (ϕ ∧ ψ) ⇔ (¬ϕ ∨ ¬ψ ∨ ϕ) ∧ (¬ϕ ∨ ¬ψ ∨ ψ) ⇔ (¬ψ ∨ ϕ ∨ ¬ϕ) ∧ (¬ϕ ∨ ψ ∨ ¬ψ) ⇔ (¬ψ ∨ ⊤) ∧ (¬ϕ ∨ ⊤) ⇔⊤∧⊤ ⇔⊤
implicatie-eliminatie implicatie-eliminatie associativiteit distributiviteit commutativiteit ⊤-eigenschap ⊤-eigenschap ⊤-eigenschap
Maar het kan ook sneller:
ϕ → (ψ → (ϕ ∧ ψ)) ⇔ ¬ϕ ∨ (¬ψ ∨ (ϕ ∧ ψ)) ⇔ (¬ϕ ∨ ¬ψ) ∨ (ϕ ∧ ψ) ⇔ ¬(ϕ ∧ ψ) ∨ (ϕ ∧ ψ) ⇔⊤
implicatie-eliminatie associativiteit De Morgan ⊤-eigenschap
Uit beide afleidingen blijkt dus dat elke formule van de vorm ϕ → (ψ → « (ϕ ∧ ψ)) een tautologie is. Met hulp van een DNV kunnen we – ook als de formule meer propositieletters bevat – zonder een gigantische waarheidstabel te maken, aangeven welke waarderingen de formule waar maken: elk disjunct levert een verzameling van zulke waarderingen op. OPGAVE 2.19 (Aanw)
Welke waarderingen van de propositieletters p, q en r maken de formule (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ ¬r) waar? OPGAVE 2.20
In opgave 1.12 constateerden we dat waarheidstabellen voor formules met veel verschillende propositieletters al snel onhanteerbaar groot dreigen te worden. Voor de formules die daar gegeven werden, zouden we in de latere ‘compacte’ notatie van waarheidstabellen respectievelijk 28 × 19 = 4864 en 23 × 31 = 248 waarheidswaarden moeten invullen. Met de DNV kan het veel sneller! Zet de formules uit opgave 1.12 (hier herhaald) zo nodig om in DNV en beschrijf de waarderingen die de formules waar maken. a ((p1 ∧ ¬p2) ∨ (p3 ∧ ¬p4)) ∨ ((p5 ∧ ¬p6) ∨ (p7 ∧ ¬p8)) b ¬((¬(p ∧ q ∧ r) ∧ ¬(p ∧ q ∧ ¬r)) ∧ (¬(p ∧ ¬q ∧ r) ∧ ¬(¬p ∧ q ∧ r)))
49
Open Universiteit
Logica, verzamelingen en relaties
Met een DNV kunnen we laten zien dat een formule een tautologie is of, in het geval van een contingentie, kunnen we aangeven welke waarderingen de formule waar maken. Het omzetten in een DNV is vooral ook handig om vast te stellen of een formule een contradictie is. Als we even nadenken, blijkt omzetten alleen hier al voldoende, ‘vereenvoudigen’ hoeft dan niet eens meer. Immers, een DNV is een contradictie wanneer de formule altijd onwaar is, maar een disjunctie is alleen onwaar als al haar disjuncten onwaar zijn. Wil een DNV dus een contradictie zijn, dan moeten al zijn disjuncten dat ook zijn! Maar een disjunct van een DNV kan alleen een contradictie zijn als er een propositieletter (zeg ‘p’) en een negatie daarvan (¬p) in voorkomt. Conclusie: een DNV is een contradictie dan en slechts dan als elke disjunct een propositieletter en de negatie van die propositieletter bevat. Conjunctieve normaalvorm
CNV: conjunctie van disjuncties
Voor sommige doeleinden is een conjunctieve normaalvorm (CNV) handiger. Een CNV is een conjunctie van disjuncties van (negaties van) propositieletters, zoals (p ∨ ¬q) ∧ (¬p ∨ r) ∧ (q ∨ ¬r). Schematisch kunnen we een CNV weergeven als: (... ∨ ... ∨ ...) ∧ (... ∨ ... ∨ ...) ∧ ... ∧ (... ∨ ... ∨ ...)
Omzetten naar CNV
Opnieuw kunnen we aantonen dat elke propositie in CNV te brengen is: de eerste stappen zijn zelfs gelijk, alleen wordt nu uiteraard ∨ over ∧ gedistribueerd.
VOORBEELD 2.14
Omzetten van de formule ¬(p → (q ∧ (p ∨ ¬q))) in een CNV gaat in het begin (tot de distributie) als in voorbeeld 2.12, maar vervolgt dan met: p ∧ (¬q ∨ (¬p ∧ q)) ⇔ p ∧ (¬q ∨ ¬p) ∧ (¬q ∨ q) ⇔ p ∧ (¬q ∨ ¬p)
distributie van ∨ over ∧ ⊤-eigenschappen
De verkregen CNV kan nog worden vereenvoudigd tot p ∧ ¬q (met distributie en ⊥-eigenschappen), wat immers ook een CNV is.
«
OPGAVE 2.21
Zet achtereenvolgens om in zowel DNV als CNV: a p ∨ ¬q b ¬(p ↔ q) c (p → q) ↔ (q → r) Voor zuiver logische toepassingen kan de CNV op min of meer dezelfde manier gebruikt worden als de DNV. Om de waarderingen te achterhalen die een contingentie waar maken, ligt de CNV wat minder voor de hand, want zo krijgen we omschrijvingen in de trant van: ‘én p is waar of q is onwaar én p is onwaar of r is waar’ en dit lijkt minder hanteerbaar dan de uitkomst voor de equivalente DNV (‘p en r zijn waar of p en q zijn onwaar of q is onwaar en r is waar’). Wel kunnen we uit de CNV makkelijk aflezen of een formule een tautologie is. OPGAVE 2.22 (Aanw)
Geef aan wanneer een formule in CNV precies een tautologie is.
50
Leereenheid 2 Wetten van de propositielogica
Maar de CNV heeft ook een aantal informaticatoepassingen. Een daarvan betreft de ‘logische’ programmeertaal Prolog. Een Prolog-programma bestaat uit een aantal feiten, die overeenkomen met propositieletters, en een aantal regels, die we in de propositielogica kunnen voorstellen door een implicatie van de vorm (p1 ∧ ... ∧ pn) → p0, waarbij p0, p1, ..., pn propositieletters zijn. In het programma gelden alle feiten en regels, en logisch gezien is zo’n programma gewoon de conjunctie van de feiten en regels. Zo’n Prolog-programma is daarom op te vatten als een CNV, met de beperking dat elke conjunct daarvan een disjunctie is die hoogstens één disjunct bevat die een propositieletter is – alle andere disjuncten zijn negaties van propositieletters. Dus p ∨ ¬q en ¬p ∨ ¬q zijn wel disjuncties van de vereiste vorm, maar p ∨ q is dat niet.
Prolog
OPGAVE 2.23 (Aanw)
Laat zien dat de feiten en regels van een Prolog-programma equivalent zijn met disjuncties van de hiervoor omschreven vorm. Leuk is dat we dit resultaat ook kunnen omdraaien. Stel we hebben een logische formule die weergeeft wat we van een bepaald onderwerp weten of belangrijk vinden. Die formule kunnen we nu in CNV brengen. Als elke disjunctie daarin de goede vorm heeft, dan kunnen we de CNV omzetten in een aantal feiten en regels – in principe hebben we zo een Prolog-programma! Omdat Prolog ook materiaal bevat dat niet tot de propositielogica behoort, gaan we er pas later in dit blok wat dieper op in. Een andere toepassing betreft het bijwerken van informatie in databases. Al de informatie in de database is samen te brengen in één formule in CNV. Als de nieuwe informatie nu alleen een aanvulling is op de bestaande informatie en daarmee niet in conflict is, dan kunnen we die informatie weer in CNV brengen en eenvoudigweg door een conjunctie aan de CNV van de database toevoegen. 2.2.3
VEREENVOUDIGEN EN BEZUINIGEN
Logische equivalenties zijn nuttig voor het zoveel mogelijk vereenvoudigen van een formule, wat ook bij het programmeren van pas kan komen, zelfs bij programmeertalen die niet zoals Prolog direct op logica gebaseerd zijn. VOORBEELD 2.15
In diverse programmeertalen (zoals Java) komen opdrachten voor van de vorm: als zus-of-zo dan dit-of-dat terwijl zus-of-zo doe dit-of-dat
De voorwaarde ‘zus-of-zo’ is de voorwaarde waaronder de opdracht ‘dit-of-dat’ wordt uitgevoerd. Bij ‘als ... dan’ is dit eenmalig, bij ‘terwijl’ is dit net zo vaak als maar kan. Om uiteenlopende redenen wil de voorwaarde wel eens lang en onnodig ingewikkeld worden, wat de doorzichtigheid en de efficiëntie van het programma niet ten goede komt.
51
Open Universiteit
Logica, verzamelingen en relaties
Om zowel computertijd als programmeertijd te besparen, doen we er goed aan eerst zoveel mogelijk 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 simpele (>= betekent ≥) als y >= 0 dan x := x + y
De notatie ‘:=’ wordt in programmeertalen gebruikt. In programmeertalen kunnen variabelen een bepaalde waarde ‘hebben’. Die houden ze totdat er een andere waarde aan wordt toegekend. Met ‘:=’ wordt aangegeven dat er een nieuwe waarde wordt toegekend. In dit voorbeeld betekent x := x + y 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. « OPGAVE 2.24
Laat zien dat ‘niet ((x = 1 of y < 0) en (y < 0 of niet x = 1))’ vervangen kan worden door ‘y >= 0’, waarbij u ‘y >= 0’ logisch als de negatie van ‘y < 0’ dient op te vatten.
Het kan ook met minder connectieven ...
Een andere weg die we wel eens moeten inslaan, is ons aanpassen aan de mogelijkheden die een specificatietaal of programmeertaal biedt. We weten al dat we → en ↔ kunnen vervangen door de connectieven ¬, ∧ en ∨; met andere woorden: dat we met ¬, ∧ en ∨ evenveel kunnen ‘zeggen’ als met ¬, ∧, ∨, → en ↔. Kan het met nog minder? Ja, we kunnen inderdaad verder bezuinigen, door bijvoorbeeld ∨ weg te werken. Dit kan met behulp van de equivalentie ϕ ∨ ψ ⇔ ¬(¬ϕ ∧ ¬ψ) die met de wetten van De Morgan en dubbele negatie is af te leiden. Met ¬, ∧ en (uiteraard) propositieletters kunnen we inderdaad alles uitdrukken wat we met alle connectieven konden. Hetzelfde geldt voor het stel connectieven ¬ en ∨, en voor het stel ¬ en →.
OPGAVE 2.25
Van welke equivalentie moeten we gebruikmaken om een conjunctie om te zetten in een equivalente formule die alleen de connectieven ¬ en ∨ gebruikt? Bewijs dit met behulp van standaardequivalenties. Ten opzichte van de bekende connectieven kan het niet met minder, bijvoorbeeld → alleen is niet voldoende. De in paragraaf 1.4.1 geïntroduceerde connectieven nor en nand kunnen het wel in hun eentje af. Om te laten zien dat nor alleen al voldoende is, volstaat het om ¬ en ∧ uit te drukken in nor. Hoe moet dat? We brengen in herinnering dat we nor moesten lezen als ‘noch ... noch’. ‘Noch p noch q’ betekent intuïtief hetzelfde als ‘niet p en ook niet q’, en dit suggereert de volgende equivalenties: ¬ϕ ⇔ ϕ nor ϕ ϕ ∧ ψ ⇔ ¬ϕ nor ¬ψ ⇔ (ϕ nor ϕ) nor (ψ nor ψ) OPGAVE 2.26
Bewijs ‘¬ϕ ⇔ ϕ nor ϕ’ en ‘ϕ ∧ ψ ⇔ (ϕ nor ϕ) nor (ψ nor ψ)’ met waarheidstabellen.
52
Leereenheid 2 Wetten van de propositielogica
OPGAVE 2.27
Geef vergelijkbare equivalenties voor nand die aantonen dat dit connectief alleen ook voldoende is om elke propositielogische formule mee weer te geven. Logisch gevolg
2.3
Naast tautologieën en logische equivalenties is er nog een derde soort logische wetten. Het gaat hier om een speciaal verband tussen twee of meer formules. De bedoeling van dit verband is een formele afspiegeling 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 geconcludeerd: ‘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):
Uitgangspunt Conclusie
p
q
p
∧
q
p
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0 ↑
1 0 1 0
1 1 0 0 ↑
Vergelijken we de aangegeven kolommen, dan vallen de volgende punten op: – Uitgangspunt en conclusie zijn niet altijd waar. – Uitgangspunt en conclusie hoeven zelfs niet dezelfde waarheidswaarde te hebben. – De conclusie is waar voor de waardering die het uitgangspunt waar maakt, of anders gezegd: als het uitgangspunt waar is, dan is ook de conclusie waar. In het algemeen kan een conclusie ψ in een correcte redenering natuurlijk ook op meer dan één uitgangspunt gebaseerd zijn, zeg op uitgangspunten ϕ1, ϕ2, ..., ϕn (zie ook voorbeeld 2.18 verderop). Deze eigenschappen geven aanleiding tot een nauwkeurige definitie. In de logica spreken we niet van een ‘correcte redenering’, maar van logisch gevolg (en soms van ‘geldige gevolgtrekking’). Logisch gevolg
DEFINITIE 2.5 Notatie VOORBEELD 2.16
De formule ψ is een logisch gevolg van ϕ1, ..., ϕn als elke waardering die alle ϕ1, ..., ϕn waar maakt, ook ψ waar maakt. ϕ1, ..., ϕn ⇒ ψ De redenering van het begin van deze paragraaf kunnen we nu 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 dus n = 1 en ϕ1 de formule p ∧ q.
53
«
Open Universiteit
Logica, verzamelingen en relaties
Merk op dat er in definitie staat: voor élke waardering die de uitgangspunten waar maakt, moet de conclusie waar zijn. Het is in het algemeen niet voldoende dat er een (of één) waardering bestaat die zowel uitgangspunt als conclusie waar maakt. Zeker bij alledaagse redeneringen zijn we wel eens ten onrechte geneigd de redenering voor correct aan te zien, als de conclusie waar is (of lijkt) in de gewone wereld. VOORBEELD 2.17
Uit ‘Er komen meer wegen in Nederland precies dan als Nederland geasfalteerd raakt’ is het niet correct te concluderen dat er meer wegen in Nederland komen. In formules: p ↔ q ⇏ p, dat wil zeggen: p is geen logisch gevolg van p ↔ q (zie opgave 2.28). «
OPGAVE 2.28
Maak de waarheidstabellen van p ↔ q en p en ga na dat p ↔ q ⇏ p. Vandaar dat we in de definitie van logisch gevolg eisen dat de conclusie waar is voor elke waardering die de uitgangspunten waar maakt. Wanneer er meerdere uitgangspunten zijn, moeten we alleen kijken naar die waarderingen die alle uitgangspunten waar maken. VOORBEELD 2.18
We herhalen de redenering uit de introductie van leereenheid 1: ‘De afstandsbediening is kapot of de tv werkt niet goed. Maar de tv werkt wel goed. Dus de afstandsbediening is kapot.’ Kiezen we p: ‘De afstandsbediening is kapot’ en q: ‘De tv werkt goed’, dan kunnen we gaan kijken of p een logisch gevolg is van p ∨ ¬q en q samen. Dat zien we weer aan de waarheidstabellen: p
q
p
∨
¬
q
q
p
1 1 0 0
1 0 1 0
1 1 0 0
1 1 0 1
0 1 0 1
1 0 1 0
1 0 1 0
1 1 0 0
Uit de tabel blijkt dat de beide uitgangspunten alleen tegelijk waar (omkaderde 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 conclusie ook waar. Kortom: p ∨ ¬q, q ⇒ p. In dit voorbeeld is dus « n = 2, ϕ1 de formule p ∨ ¬q en ϕ2 de formule q in definitie 2.5. De logische gevolgen uit de volgende opgave komen regelmatig terug en zijn daarom met fraaie namen gesierd. We komen er in paragraaf 2.3.1 op terug. Latijnse namen als modus ponens verraden iets van de lange geschiedenis van de logica. In de late Middeleeuwen, zo rond 1200, vond er een opbloei van het vakgebied plaats. In die periode werd getracht diverse vormen (modi) van redeneren te onderscheiden, grotendeels nog naar het voorbeeld van Aristoteles. Uiteraard kregen deze vormen namen in de wetenschappelijke taal van die tijd.
54
Leereenheid 2 Wetten van de propositielogica
OPGAVE 2.29 (Aanw)
Bewijs de juistheid van de volgende logische gevolgen. a p → q, p ⇒ q (modus ponens) b p, ¬p ⇒ q (ex falso) c p → q ⇒ ¬q → ¬p (contrapositie) d p → q, q → r ⇒ p → r (hypothetisch syllogisme) OPGAVE 2.30
De tweede redenering uit de introductie van leereenheid 1 luidt: ‘Het schilderij hangt hier niet als het gestolen is. Het schilderij hangt hier niet. Dus is het gestolen.’ Laat zien dat deze redenering niet correct is, dat wil zeggen: q → ¬p, ¬p ⇏ q. OPGAVE 2.31
Ga na in welke gevallen er sprake is van logische gevolgen: a p, q ?⇒ p ∧ q b p → q, q ?⇒ p c p ∧ q, q ?⇒ p ∨ q d p → q ?⇒ p ∧ q Direct uit de definitie van ‘logisch gevolg’ kunnen we een verband met logische equivalentie halen: STELLING 2.2
Er geldt dat ϕ ⇔ ψ precies dan als ϕ ⇒ ψ én ψ ⇒ ϕ. Bewijs Als ϕ en ψ logisch equivalent zijn, dan hebben ze voor elke waardering dezelfde waarheidswaarde, dus als ϕ waar is, dan moet ψ waar zijn, en omgekeerd. Wanneer andersom ϕ ⇒ ψ en ψ ⇒ ϕ, dan zijn ϕ en ψ voor dezelfde waarderingen waar, en dus ook voor dezelfde waarderingen onwaar, zodat ϕ ⇔ ψ. (Een alternatief bewijs gebruikt voorbeeld 2.6 en stellingen 2.1 en 2.3). □
⇒ versus →
⇒ mogen we aaneenschakelen
Net als bij de relatie tussen ⇔ en ↔, is er ook bij implicatie en logisch gevolg sprake van een nauwe relatie, zonder dat de tekens en de uitdrukkingen door elkaar mogen worden gehaald. Ook hier is het wezenlijke verschil dat → deel uitmaakt van de propositielogische taal, en ⇒ niet: ⇒ is weer een relatie tussen formules. Ook ⇒ kunnen we aaneenschakelen, en vanwege stelling 2.2 mogen daar zelfs logische equivalenties tussen zitten. Schrijven we voor zekere formules ϕ ⇒ ψ, dan stelt dit dat ψ inderdaad volgt uit ϕ, terwijl als we ϕ → ψ opschrijven, deze formule best onwaar kan zijn. Maar ook hier openbaart zich een mooie overeenkomst tussen bepaalde tautologieën (links) en logische gevolgen (rechts): (p ∧ ¬p) → q (p ∧ (p → q)) → q ((p → q) ∧ ¬q) → ¬p ((p → q) ∧ (q → r)) → (p → r)
p, ¬p ⇒ q p, p → q ⇒ q p → q, ¬q ⇒ ¬p p → q, q → r ⇒ p → r
Dit suggereert een algemeen verband, dat inderdaad bewijsbaar is.
55
Open Universiteit
Logica, verzamelingen en relaties
STELLING 2.3
Formule (ϕ1 ∧ ... ∧ ϕn) → ψ is een tautologie precies dan als ϕ1, ..., ϕn ⇒ ψ.
OPGAVE 2.32 (Aanw)
Geef het bewijs van stelling 2.3. We kunnen dus zowel het probleem of een bepaalde redenering correct is als het probleem of twee formules equivalent zijn, reduceren (terugbrengen) tot het controleren of de overeenkomstige formule een tautologie is. Dit is, zoals we eerder zagen, overigens alleen aan te raden wanneer het aantal propositieletters klein is. Maar wanneer we al een programma tot onze beschikking hebben dat de waarheidstabel van een formule kan uitrekenen, dan biedt een zulke reductie wel voordelen. (Anecdote over het reduceren van problemen van Smullyan uit: What is the name of this book) Wat is het verschil tussen een wiskundige en een natuurkundige? Daar is een test voor. Vraag 1: stel dat u thee wilt maken, hoe gaat u dan te werk? De natuurkundige antwoordt: ‘Ik zet een ketel koud water op het vuur, en als het kookt, haal ik het van het vuur af, schenk het hete water in de theepot en doe er thee bij.’ De wiskundige zegt: ‘Ik doe hetzelfde.’ Goed, tot zover zijn natuurkundigen en wiskundigen gelijk. Maar de volgende vraag maakt wel verschil. Vraag 2: stel nu dat u een ketel heet water hebt dat net van de kook af is, hoe maakt u dan thee? De natuurkundige antwoordt: ‘Dat is makkelijk, schenk het hete water in de theepot en doe er thee bij.’ De wiskundige zegt: ‘Dat is inderdaad eenvoudig. Ik laat het water afkoelen, waarmee ik dit probleem reduceer tot het vorige!’ 2.3.1
STANDAARDGEVOLGEN
Net als bij logische equivalentie is het ook bij logisch gevolg vaak handig om slechts een beperkt aantal standaardregels te gebruiken. Zulke regels liggen bijvoorbeeld ten grondslag aan bepaalde computerprogramma’s die proberen een tautologie of logisch gevolg af te leiden. Voor zo’n programma kan gekozen worden uit een flink aantal in omloop zijnde regels. In tabel 2.2 noemen we de meest gangbare standaardgevolgen. U hoeft de met een sterretje gemarkeerde regels niet te kennen. TABEL 2.2
Standaardgevolgen
naam
gevolg
ex falso modus ponens modus tollens* contrapositie reductio ad absurdum hypothetisch syllogisme* conjunctie-introductie conjunctie-eliminatie
ϕ, ¬ϕ ⇒ ψ ϕ, ϕ → ψ ⇒ ψ ϕ → ψ , ¬ψ ⇒ ¬ϕ ϕ → ψ ⇒ ¬ψ → ¬ϕ als ϕ, ¬ψ ⇒ ⊥, dan ϕ ⇒ ψ ϕ → ψ, ψ → χ ⇒ ϕ → χ ϕ, ψ ⇒ ϕ ∧ ψ ϕ∧ψ⇒ϕ
56
Leereenheid 2 Wetten van de propositielogica
Een aantal van deze regels wordt (vaak stilzwijgend) gebruikt bij wiskundige bewijzen. Ex falso is een gangbare afkorting van ‘ex falso sequitur quodlibet’ (uit een contradictie volgt alles wat u maar wilt) en hebt u in opgave 2.29b bewezen. Ook modus ponens, contrapositie en hypothetisch syllogisme zijn in opgave 2.29 bewezen. Reductio ad absurdum is (net als stelling 2.2) niet zozeer zelf een logisch gevolg, maar een relatie tussen logische gevolgen. Het bewijs wordt gevraagd in opgave 2.34. De regels voor conjunctie ten slotte zijn weer eenvoudig te bewijzen (zie opgave 2. 31a voor conjunctie-introductie). De regels voor conjunctie lijken wel een beetje flauw, maar zijn zeker niet onbelangrijk: met de regels ex falso, reductio ad absurdum, conjunctieintroductie en conjunctie-eliminatie, aangevuld met de standaardequivalenties, kunnen we alle logische gevolgen van de propositielogica afleiden, een feit waar we hier verder niet op ingaan. Dat we standaardequivalenties in afleidingen van logische gevolgen mogen gebruiken, volgt direct uit stelling 2.2. Om die equivalenties te kunnen gebruiken, maken we eerst met conjunctie-introductie van alle uitgangspunten (formules vóór ⇒) één formule. We illustreren dit in voorbeeld 2.19. VOORBEELD 2.19
We bewijzen dat ¬p → ¬q, q ⇒ p door eerst het logisch gevolg conjunctieintroductie toe te passen en vervolgens met standaardequivalenties naar het antwoord toe te werken. Aan het slot wordt het logisch gevolg conjunctie-eliminatie toegepast om op de gewenste conclusie uit te komen. ¬p → ¬q, q ⇒ (¬p → ¬q) ∧ q ⇔ (¬¬p ∨ ¬q) ∧ q ⇔ (p ∨ ¬q) ∧ q ⇔ (p ∧ q) ∨ (¬q ∧ q) ⇔ (p ∧ q) ∨ ⊥ ⇔ (p ∧ q) ⇒p
conjunctie-introductie implicatie-eliminatie dubbele negatie distributie definitie ⊥ ⊥-eigenschap conjunctie-eliminatie
OPGAVE 2.33
Bewijs met gebruik van alleen de standaardgevolgen ex falso, reductio ad absurdum, de conjunctie-regels en de standaardequivalenties: a p ∨ ¬q, q ⇒ p b p, p → q ⇒ q c ¬ϕ → ¬ψ ⇒ ψ → ϕ Bij b leidt u modus ponens af uit de aangegeven regels, bij c evenzo contrapositie (ga nog over van ϕ en ψ op ¬ϕ en ¬ψ). OPGAVE 2.34 (Aanw)
a Bewijs het standaardgevolg reductio ad absurdum. b Laat zien dat conjunctie-eliminatie afgeleid kan worden uit reductio ad absurdum en conjunctie-introductie (en standaardequivalenties).
57
«
Open Universiteit
Logica, verzamelingen en relaties
SAMENVATTING
Er zijn vier soorten wetten in de (propositie)logica: tautologieën, contradicties, logische equivalenties en logisch gevolgen. Een tautologie is een formule van de propositielogica die waar is voor elke waardering. Een contradictie is een formule die onwaar is voor elke waardering. Een formule die geen tautologie en ook geen contradictie is, noemen we een contingentie. Twee formules zijn logisch equivalent als ze voor iedere waardering dezelfde waarheidswaarden hebben (notatie ϕ ⇔ ψ). Een formule (conclusie) ψ is een logisch gevolg van een aantal uitgangspunten (ϕ1, ..., ϕn) als elke waardering die alle uitgangspunten tegelijk waar maakt, ook ψ waar maakt (notatie ϕ1, ..., ϕn ⇒ ψ). Bepaalde tautologieën zijn systematisch verbonden met logische equivalenties en gevolgen: ϕ ↔ ψ is een tautologie precies dan als ϕ ⇔ ψ, en (ϕ1 ∧ ... ∧ ϕn) → ψ is een tautologie precies dan als ϕ1, ..., ϕn ⇒ ψ. Om niet met (mogelijk zeer grote) waarheidstabellen te hoeven rekenen, is het verstandig vaak terugkerende wetten aan hun vorm te kunnen herkennen. Met behulp van de standaardwetten kunnen we vervolgens alle andere wetten afleiden. De standaardwetten zijn er in vier soorten: i standaardtautologieën: met name de wet van de uitgesloten derde (tertium non datur) ϕ ∨ ¬ϕ (afgekort tot ⊤, ‘verum’) ii standaardcontradicties, in het bijzonder ϕ ∧ ¬ϕ (kortweg ⊥, ‘falsum’). iii standaardequivalenties: deze vormen de kern van deze leereenheid, en zijn ondergebracht in de volgende tabel: naam
equivalentie
commutativiteit associativiteit distributiviteit idempotentie absorptie ⊤-eigenschappen
ϕ∧ψ⇔ψ∧ϕ (ϕ ∧ ψ) ∧ χ ⇔ ϕ ∧ (ψ ∧ χ) ϕ ∧ (ψ ∨ χ) ⇔ (ϕ ∧ ψ) ∨ (ϕ ∧ χ) ϕ∧ϕ⇔ϕ ϕ ∧ (ϕ ∨ ψ) ⇔ ϕ ϕ∧⊤⇔ϕ ϕ∨⊤⇔⊤ ϕ∨⊥⇔ϕ ϕ∧⊥⇔⊥ ¬¬ϕ ⇔ ϕ ¬(ϕ ∧ ψ) ⇔ ¬ϕ ∨ ¬ψ ϕ → ψ ⇔ ¬ϕ ∨ ψ ϕ ↔ ψ ⇔ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ)
⊥-eigenschappen dubbele negatie De Morgan implicatie-eliminatie equivalentie-eliminatie
ϕ∨ψ⇔ψ∨ϕ (ϕ ∨ ψ) ∨ χ ⇔ ϕ ∨ (ψ ∨ χ) ϕ ∨ (ψ ∧ χ) ⇔ (ϕ ∨ ψ) ∧ (ϕ ∨ χ) ϕ∨ϕ⇔ϕ ϕ ∨ (ϕ ∧ ψ) ⇔ ϕ ϕ ∨ ¬ϕ ⇔ ⊤ ¬⊤ ⇔ ⊥ ϕ ∧ ¬ϕ ⇔ ⊥ ¬⊥ ⇔ ⊤ ¬(ϕ ∨ ψ) ⇔ ¬ϕ ∧ ¬ψ
iv standaardgevolgen: de logica kent een groot aantal standaardlogische gevolgen waarvan u de volgende moet kennen en kunnen toepassen: naam
gevolg
ex falso modus ponens contrapositie reductio ad absurdum conjunctie-introductie conjunctie-eliminatie
ϕ, ¬ϕ ⇒ ψ ϕ, ϕ → ψ ⇒ ψ ϕ → ψ ⇒ ¬ψ → ¬ϕ als ϕ, ¬ψ ⇒ ⊥, dan ϕ ⇒ ψ ϕ, ψ ⇒ ϕ ∧ ψ ϕ∧ψ⇒ϕ
58
Leereenheid 2 Wetten van de propositielogica
Omdat we in afleidingen van logische gevolgen ook de standaardequivalenties mogen gebruiken, kunnen we bij logische gevolgen volstaan met slechts vier standaardgevolgen: ex falso, reductio ad absurdum, conjunctie-introductie en conjunctie-eliminatie. Voor diverse (puur logische en informaticagerichte) toepassingen is het van belang formules in een normaalvorm te brengen. De disjunctieve normaalvorm (DNV) is een disjunctie van conjuncties van (negaties van) propositieletters. De conjunctieve normaalvorm (CNV) is daarentegen een conjunctie van disjuncties van (negaties van) propositieletters. ZELFTOETS
1
Ga voor elk van de volgende formules na of het een tautologie, contingentie of contradictie is. a p ↔ ¬p b p → (q → p) c ¬((p → q) → p)
2
a Bewijs met een waarheidstabel dat (p ∧ q) → p een tautologie is. b Leid ook door middel van standaardequivalenties af dat (p ∧ q) → p een tautologie is. c Welk logisch gevolg hangt samen met deze tautologie? d Hoe is dit gevolg ook direct in te zien?
3
a Wat is logische equivalentie? b Laat met waarheidstabellen zien dat ϕ ∧ (ϕ ∨ ψ) ⇔ ϕ (de eerste absorptie-eigenschap). c Leid nu de tweede absorptie-eigenschap ϕ ∨ (ϕ ∧ ψ) ⇔ ϕ af uit de eerste absorptie-eigenschap, met behulp van distributiviteit en idempotentie.
4
a Zet de formule (¬p → q) → (r ↔ ¬s) om in disjunctieve normaalvorm (DNV). b Voor welke waarderingen is deze DNV waar? c Waarom is de formule uit onderdeel a dan ook voor precies deze waarderingen (uit b) waar?
5
a Toon door middel van waarheidstabellen aan dat p → q, ¬q ⇒ ¬p. b Leid dit ook af met behulp van de standaardgevolgen en standaardequivalenties. c Bewijs nu uitsluitend met behulp van conjunctie-introductie, reductio ad absurdum en standaardequivalenties dat (p → q) ∧ ¬q ⇒ ¬p.
59
Inhoud leereenheid 3
Predikaatlogica 61
Introductie Leerkern
62
De taal van de predikaatlogica 62 3.1.1 Termen en formules 69 3.1.2 Kwantorbereik 72 3.1.3 Vrij en gebonden 73 3.1.4 Substitutie 74 3.2 Modellen 76 3.3 Twee informaticatoepassingen 79 3.3.1 Correctheidsbeweringen 79 3.3.2 Bedrijfsregels 81 3.1
Samenvatting Zelftoets
83
84
60
Leereenheid 3
Predikaatlogica
INTRODUCTIE
De taal van de propositielogica, zoals behandeld in de vorige twee leereenheden, is voor veel toepassingen te arm. In de wiskunde doen we graag algemene uitspraken over objecten uit een oneindige verzameling en van de logica verlangen we dat we deze uitspraken heel precies kunnen weergeven, en er de juiste gevolgen uit af kunnen leiden. De propositielogica is hiervoor niet altijd geschikt. Als voorbeeld bekijken we een uitspraak over priemgetallen, getallen die alleen door zichzelf en door 1 deelbaar zijn. De uitspraak ‘elk even getal groter dan 2 is de som van twee priemgetallen’ (het zogenaamde 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 ‘gedachtenexperiment’: 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 vermoeden van Goldbach juist is, dan is 1998 inderdaad te schrijven als de som van twee priemgetallen. Dit laatste is overigens een ware uitspraak (bijvoorbeeld 1998 = 1201 + 797, en 1201 en 797 zijn priemgetallen), maar voor het vertalen in propositielogica doet het er weinig toe of de laatste uitspraak en het vermoeden van Goldbach nu waar zijn of niet. Hiervoor is belangrijker dat ‘1998 is de som van twee priemgetallen’ een andere uitspraak is dan het vermoeden van Goldbach. Er zit weer niets anders op dan hiervoor ook 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 uitspraken waar p en q vertalingen van zouden moeten zijn: de symbolen p en q zijn bij wijze van spreken ‘losgeweekt’ van de getaltheoretische context (een propositieletter heeft op zich geen inhoud!). 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 ∧ ... wat inderdaad p1998 tot gevolg zou hebben. We kunnen echter geen oneindig lange formules maken, dus ook dit feest gaat niet door.
61
Open Universiteit
Logica, verzamelingen en relaties
De predikaatlogica, waarmee we in deze leereenheid kennismaken, heeft een veel grotere uitdrukkingskracht dan de propositielogica, waar ze een verfijning en uitbreiding van is. Het vermoeden van Goldbach en zijn gevolgen kunnen we in predikaatlogica wel goed weergeven. In deze leereenheid maken we kennis met de taal van de predikaatlogica en met een methode om situaties aan te geven waarin een predikaatlogische formule waar is. In de volgende leereenheid kijken we naar de wetten van de predikaatlogica, zodat we ten slotte in predikaatlogica kunnen afleiden dat ‘1998 de som is van twee priemgetallen’ volgt uit het vermoeden van Goldbach. LEERDOELEN
Na het bestuderen van deze leereenheid wordt verwacht dat u – weet wat predikaatsymbolen, functiesymbolen, termen en kwantoren zijn – correcte predikaatlogische formules kunt opstellen en lezen – weet wat het bereik van een kwantor is – het verschil tussen vrije en gebonden variabelen kent – substituties van termen voor variabelen kunt uitvoeren – kunt aangeven of een formule waar is in een model – eenvoudige modellen voor formules kunt opstellen. LEERKERN 3.1
De taal van de predikaatlogica
In de propositielogica konden we een eenvoudige uitspraak als ‘Judith schaakt’ in feite alleen maar weergeven door een propositieletter. In de predikaatlogica kunnen we de interne structuur van zulke uitspraken zichtbaar maken. VOORBEELD 3.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). Merk op dat in de logica de eigenschap voorop staat. «
62
Leereenheid 3 Predikaatlogica
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 voorbeeld 3.1 is S dus een predikaatsymbool en j een constante. Voor predikaatsymbolen gebruiken we hoofdletters (A, ..., Z) of speciale symbolen zoals ‘=’. Voor constanten worden (meestal) kleine letters (a, ..., t) gebruikt. De letters u, ..., z gebruiken we als variabelen, waarover verderop meer. Speciale constanten zijn bijvoorbeeld de getallen die we op de gewone wijze met rijtjes cijfers weergeven. We kiezen over het algemeen letters die makkelijk te onthouden zijn, bijvoorbeeld de beginletter van het met het predikaatsymbool overeenkomstige woord. Maar logisch gezien is er geen enkel verband tussen een letter en de daarmee bedoelde eigenschap, dus dit verband moeten we expliciet aangeven door middel van een zogeheten vertaalsleutel.
Predikaatsymbool Constante
Vertaalsleutel VOORBEELD 3.2 Het getal n is een priemgetal als het alleen deelbaar is door 1 en n.
De uitspraken: a Marie is wiskundige b 5 is een priemgetal kunnen in predikaatlogica worden weergegeven door respectievelijk: a' b'
W(m) P(5)
Daarbij is gebruik gemaakt van de volgende vertaalsleutel: m: 5: W: P:
Marie vijf is wiskundige is een priemgetal
In het vervolg laten we het vermelden van de vertaalsleutel vaak achterwege wanneer deze erg voor de hand ligt.
«
Ook relaties tussen objecten , kunnen we nu logisch aanduiden met predikaatsymbolen. VOORBEELD 3.3
De uitspraken: a b
Jan houdt van Marie 5 is groter dan 3
kunnen in predikaatlogica worden vertaald als: a' b'
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 in b' wijkt wel erg van de wiskundige praktijk af. In plaats van G gebruiken we het symbool ‘>’; bovendien wordt dat gewoon tussen de constanten in geschreven, zodat we de volgende bekende notatie gebruiken: b"
63
5>3
«
Open Universiteit
Logica, verzamelingen en relaties
Ook andere gangbare relaties zoals gelijkheid ‘=’, kleiner dan ‘ 3 → P(x) Bij uitspraak c moeten we wel bedenken dat zo’n uitspraak vaak algemener wordt opgevat, namelijk als: ‘voor elke x geldt, dat als x groter is dan 3, dan is x een priemgetal’. Zoals hierna blijkt, kunnen we ook dit laatste in predikaatlogica weergeven, maar in c' is een beperktere uitleg aan de uitspraak c gegeven, namelijk voor een specifieke, zij het nog onbekende waarde voor x. « OPGAVE 3.3 (Aanw)
Geef de volgende uitspraken weer in predikaatlogica. a Jan en Marie houden van elkaar b x is groter dan 3 desda y kleiner is dan 4 c x is even of een priemgetal kleiner dan 4
Universele kwantor Al-kwantor
Algemene feiten van het soort ‘voor elke x geldt dat als x een priemgetal groter dan 3 is, dan is x oneven’ zijn heel precies uit te drukken in predikaatlogica. De formule (x > 3 ∧ P(x)) → O(x) voldoet niet, want daarin heeft x nog steeds een specifieke (maar ‘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.
∀
65
Open Universiteit
Logica, verzamelingen en relaties
VOORBEELD 3.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 onderstreept): 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 gebruiken, maar nog belangrijker is dat u een patroon in de predikaatlogische formules ontdekt. VOORBEELD 3.8
De uitspraken: a Alle natuurlijke getallen zijn groter dan of gelijk aan 0 b Elk natuurlijk getal is groter dan elk negatief geheel getal kunnen worden weergegeven door de volgende formules: a' ∀x (N(x) → x ≥ 0) b' ∀x (N(x) → ∀y ((Z(y) ∧ y < 0) → x > y)) We zien dat de universele kwantor hier in beide gevallen met een implicatie optreedt.
«
Het patroon ∀x (... → ...) komt ontzettend vaak terug. 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 implicatieteken te staan. Overigens is dit 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. OPGAVE 3.4
Als W staat voor ‘is een wiskundige’ en R voor ‘heeft een relatie met’, welke uitspraken worden dan weergegeven door: a ∀x W(x) b ∀x ∀y R(x, y) Existentiële kwantor
∃
VOORBEELD 3.9
Een ander type uitspraak is van de vorm ‘Er is een ...’ De predikaatlogica is daarom uitgerust met een tweede kwantor, de existentiële kwantor ∃. Daarbij moet ∃x (spreek uit: ‘er is een x’) worden opgevat als ‘voor minstens één x’. De uitspraken a Jan houdt van iemand b Marie is groter dan haar vaders vader c 2 is het enige even priemgetal
66
Leereenheid 3 Predikaatlogica
kunnen worden weergegeven door de volgende formules: a' ∃x H(j, x) b' ∃x (V(x, m) ∧ ∃y (V(y, x) ∧ m > y)) c' E(2) ∧ P(2) ∧ ¬∃x (x ≠ 2 ∧ E(x) ∧ P(x)) Informeel gesproken is bij b' x Maries vader en y Maries opa van vaderskant. Wat we hier niet hebben uitgedrukt, is dat Marie maar één vader heeft, enzovoort. Logisch gezien is er geen reden waarom mensen niet twee vaders zouden kunnen hebben. We kunnen dit wel uitdrukken zoals in c', maar het wordt dan een tamelijk ingewikkelde formule. Omdat er ook nog een andere oplossing voor dit probleem is, waarover verderop meer, laten we het hierbij. Bij c moeten we bedenken dat deze uitspraak 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 c ook de vertaling∀x ((E(x) ∧ P(x)) ↔ x = 2) geven. We komen in de volgende leereenheid uitgebreid op dit soort equivalenties terug. « Ook in dit voorbeeld zien we een patroon opduiken: de existentiële kwantor 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. OPGAVE 3.5 (Aanw)
Vertaal de volgende uitspraken in predikaatlogica. a Elk natuurlijk getal is deelbaar door een priemgetal b Er is een even priemgetal c Een priemgetal is niet deelbaar door een getal dat ongelijk is aan 1 en ongelijk aan het getal zelf
‘Losse’ variabelen niet universeel of existentieel opvatten.
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 existentieel worden gelezen. Toch is het zeker in het laatste geval duidelijk dat we dit in het algemeen niet 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. De zojuist ingevoerde kwantoren zijn niet zomaar toeters en bellen: 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 vermoeden van Goldbach (zie introductie).
VOORBEELD 3.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’. «
67
Open Universiteit
Logica, verzamelingen en relaties
OPGAVE 3.6
Laat met behulp van stapsgewijze herschrijvingen als in voorbeeld 3.7 zien hoe de voorafgaande vertaling van het vermoeden van Goldbach tot stand komt. Voorbeeld 3.10 illustreert dat we in predikaatlogica inderdaad aardig wat wiskunde kunnen weergeven. Goldbachs vermoeden is een openstaand probleem uit de getaltheorie, en we zouden kunnen denken dat we misschien met logica kunnen uitzoeken of het vermoeden waar is of niet. Wie dat denkt, komt bedrogen uit. De formule uit voorbeeld 3.10 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’. We komen hierop terug in paragraaf 3.2 en in leereenheid 4. Om nog eens aan te tonen dat we echt veel meer kunnen uitdrukken dan in propositielogica, komen we nog even terug op een geval dat in leereenheid 1 al werd genoemd. VOORBEELD 3.11
Van een uitspraak als ‘Ze kwam binnen en deed het licht uit’ werd in leereenheid 1 al geconstateerd dat die niet goed door simpele propositielogica kon worden weergegeven, en ook een vertaling in predikaatlogica als B(x) ∧ L(x) doet geen recht aan het feit dat de uitspraak iets anders betekent dan ‘Ze deed het licht uit en kwam binnen’. Het effect van de tijdsordening kunnen we nu verwerken door B en L tweeplaatsig te maken: B(x, y) betekent dan ‘x komt binnen op tijdstip y’. Voor het gemak gebruiken we de variabelen t0, t1 en t2. Laat < een ordening op tijdstippen (of intervallen) zijn. De eerste uitspraak is dan te vertalen als (de vrije variabele t0 geeft het ‘nu’ van de uitspraak weer): ∃t1 ∃t2 (t1 < t2 ∧ t2 < t0 ∧ B(x, t1) ∧ L(x, t2))
«
Een ander punt is dat we het predikaatsymbool S gebruikt hebben, waar we eerder het teken ‘+’ verwacht hadden, zie voorbeeld 3.10. In de rekenkunde combineert ‘+’ twee getallen tot een nieuw getal, maar we hebben hier nog geen manier aangegeven om twee constanten of variabelen op zo ‘n 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, nemen we ook ‘+’ in de logische taal op; ‘+’ heet dan een functiesymbool. Net als bij de predikaatsymbolen kennen we eenplaatsige, tweeplaatsige en in het algemeen n-plaatsige functiesymbolen. ‘+’ is hier een tweeplaatsig functiesymbool, √ en 2 zijn voorbeelden van eenplaatsige functiesymbolen. Ook voorbeeld 3.9b kunnen we nu eenvoudig weergeven, namelijk als m > f(f(m)), met f voor: ‘de vader van’.
Functiesymbool
VOORBEELD 3.12
Het vermoeden van Goldbach kunnen we nu ook weergeven door: ∀x ((E(x) ∧ x > 2) → ∃y ∃z (P(y) ∧ P(z) ∧ x = y + z))
68
«
Leereenheid 3 Predikaatlogica
OPGAVE 3.7
Stel we gebruiken het functiesymbool ‘–’ voor de bewerking ‘aftrekken’. Als E staat voor ‘is even’ en P voor ‘is een priemgetal’, wat drukt de formule ∀x ((E(x) ∧ x > 2) → ∃y (P(y) ∧ P(x – y))) dan uit? Hoewel 2 + 3 voor de logica geen constante is (de uitkomst 5 natuurlijk wel, maar daar gaat het nu niet om), zien we dat we ‘2 + 3’ toch op dezelfde plaatsen als ‘5’ mogen gebruiken. In de volgende paragraaf gaan we precies aangeven hoe we functiesymbolen, predikaatsymbolen, constanten, variabelen, connectieven en kwantoren mogen gebruiken. OPGAVE 3.8 (Aanw)
a Geef de volgende uitspraak weer in predikaatlogica: ‘er zijn geen positieve gehele getallen x, y en z waarvoor x3 + y3 = z3’. Geef hierbij aan wat de gebruikte predikaatsymbolen, functiesymbolen, variabelen en constanten zijn. b Waarom kunnen we de uitspraak ‘er zijn geen positieve gehele getallen x, y, z en n waarvoor n ≥ 3 en xn + yn = zn ’ (het zogenaamde ‘laatste theorema van Fermat’) niet met dezelfde predikaat- en functiesymbolen vertalen? Verzin een ander functiesymbool zodat we wel een met a overeenkomstige vertaling kunnen geven. OPGAVE 3.9
Stel dat P staat voor ‘is een priemgetal’. Welke (ware) uitspraak wordt dan uitgedrukt door ¬∃x (P(x) ∧ ∀y (P(y) → y ≤ x))? 3.1.1
TERMEN EN FORMULES
Alle ingrediënten om predikaatlogische formules te maken zijn nu behandeld. Voordat we definiëren hoe dit precies gaat, leggen we eerst vast hoe we constanten en variabelen door middel van functiesymbolen mogen combineren. VOORBEELD 3.13
Neem aan dat we beginnen met de constante 1 en de variabele x. Welke combinaties kunnen we nu maken met behulp van het tweeplaatsige functiesymbool ‘+’ en het eenplaatsige functiesymbool 2? We lichten dit toe aan de hand van de opbouw van (x + 1)2 + (x2 + 1)2: x, 1 x2 (x + 1), (x2 + 1) (x + 1)2, (x2 + 1)2 (x + 1)2 + (x2 + 1)2 Afgezien van de eerste regel (variabele x en constante 1) worden de uitdrukkingen met functiesymbolen gevormd uit voorafgaande uitdrukkingen. Voor een tweeplaatsig functiesymbool zoals + zien we dat we weer haakjes moeten toevoegen om de gewenste uitdrukking te krijgen. En net als bij de tweeplaatsige connectieven van de propositielogica, geldt ook hier dat het paar haakjes aan de buitenkant van de uitdrukking wel weg kan. «
69
Open Universiteit
Logica, verzamelingen en relaties
Het is handig dit type uitdrukkingen een naam te geven: we noemen ze termen. De verzameling termen gaan we nu precies vastleggen. Om deze definitie gladjes te laten verlopen, noemen we variabelen en constanten ook ‘termen’ – vergelijk de eerste regel van de constructie in voorbeeld 3.13. Term
DEFINITIE 3.1
Functiesymbolen staan niet altijd voorop.
De termen van de predikaatlogica worden als volgt gedefinieerd: – Elke variabele of constante is een term. – Als f een n-plaatsig functiesymbool is en t1, ..., tn zijn termen, dan is f(t1, ..., tn) ook een term. – Niets anders is een term. Functiesymbolen gaan volgens deze definitie dus eigenlijk vooraf aan de termen die ze verbinden, maar omdat dit voor bijvoorbeeld kwadraten en optellen geen prettig leesbare termen oplevert, gebruiken we de gangbare notatie, dus 2 na de term en + tussen de termen in, net als in voorbeeld 3.13. Haakjes laten we daarbij vaak weg als de uitdrukkingen maar ondubbelzinnig blijven.
OPGAVE 3.10
Stel we beschikken alleen over haakjes, de variabele x, de constante 1, het tweeplaatsige functiesymbool ‘+’, en het eenplaatsige functiesymbool 2. Correcte termen zijn bijvoorbeeld (x + 1) en (x)2, waarin haakjes eventueel weg mogen als er geen verwarring ontstaat. Welke van de volgende rijtjes symbolen zijn termen die we met de gegeven symbolen kunnen maken? a (x2 + 1)2 b x2 + x3 c (x2 + x) + 12 d (x2)2 2 e x2 2 (2 f x ) Nu we de verzameling termen gedefinieerd hebben, kunnen we vastleggen wat precies de (correcte) formules van de predikaatlogica zijn. VOORBEELD 3.14
Deze definitie ligt voor de hand als we kijken naar de opbouw van een correcte uitdrukking zoals ¬∃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. « We hebben nu alles in gereedheid om een precieze definitie te geven van predikaatlogische formules. Daarbij maken we gebruik van de eerdere definitie van ‘termen’ en de combinatieregels voor de connectieven uit
70
Leereenheid 3 Predikaatlogica
leereenheid 1. Als we dan ook combinatieregels voor de kwantoren toevoegen, dan hebben we een goede definitie van wat een predikaatlogische formule is. Formule van de predikaatlogica
DEFINITIE 3.2
De formules van de predikaatlogica worden als volgt gedefinieerd: – Als P een n-plaatsig predikaatsymbool is en t1, ..., tn zijn termen (n ≥ 1), dan is P(t1, ..., tn) een formule. – Als ϕ een formule is, dan is ¬ϕ ook een formule. – Als ϕ en ψ formules zijn, dan zijn (ϕ ∧ ψ), (ϕ ∨ ψ), (ϕ → ψ) en (ϕ ↔ψ) ook formules. – Als ϕ een formule is en v een willekeurige variabele, dan zijn ∀v ϕ en ∃v ϕ ook formules. – Er zijn geen andere formules.
Andere notaties
In plaats van onze notatie voor bijvoorbeeld de uitspraken ‘3 is een priemgetal’ en ‘Hij heeft een relatie met Anna’, namelijk respectievelijk P(3) en R(x, a), wordt ook de schrijfwijze P3 en Rxa gebruikt, die heel kort is, maar met ingewikkelde termen wel erg ondoorzichtig kan worden. Weer een andere notatie volgt de gewone taal zoveel mogelijk (dit wordt wel ‘syntactic sugar’ genoemd): PRIEMGETAL(3) en RELATIE_MET(x, anna). Dat is makkelijk om te onthouden, maar omslachtig om mee te werken. We kiezen met onze notatie dus een (heel gangbare) middenweg. Voor de universele kwantor ‘voor alle x’ schrijven wij ∀x, maar ook ∧x, (x) en Ax worden gebruikt. In plaats van ∃x (‘voor minstens één x’) wordt ook ∨x en Ex gebruikt.
De eerste regel 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 predikaatlogische formules. En net als in de natuurkunde kunnen we deze ‘atomen’ verder splitsen, al hebben we dan geen atomen meer. Een aantal gangbare predikaatsymbolen schrijven we zoals gezegd niet ‘voorop’, maar ‘middenin’. Een speciaal geval hiervan is het identiteitsteken ‘=’. Voor elk paar termen t en t' is dus t = t' een formule. Verder zullen we ook symbolen als x)) De uitspraak dat er wel een kleinste priemgetal bestaat, kan worden uitgedrukt door: ∃y (P(y) ∧ ∀x (P(x) → x ≥ y))
72
Leereenheid 3 Predikaatlogica
Verschillen in kwantorbereik zijn belangrijk.
VOORBEELD 3.15
(Dit zijn toevallig twee ware feiten uit de getaltheorie, maar bedenk dat we evengoed onware uitspraken kunnen uitdrukken!) Afgezien van andere verschillen, gaat het hier om het verschil in bereik van de existentiële en de universele kwantor. Dit is nog duidelijker wanneer de rest van de formule gelijk is. 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.
«
OPGAVE 3.15
Geef het bereik van ∃y aan in de volgende formules. a A(c) ∧ ∀x ∃y R(x, y) b ∃y ∀x (A(x) ∧ B(y)) c ∀x ∃y ∀z S(x, y, z) d ∃z ∀x ∃y S(x, y, z) 3.1.3
VRIJ EN GEBONDEN
In een formule als ∀x x2 > y spelen de variabelen x en y een totaal verschillende 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. Meer in het algemeen zeggen we dat een variabele v die in een formule vóórkomt, vrij is als deze niet binnen het bereik van ∀v of ∃v ligt. Een variabele die in de formule voorkomt, maar niet vrij is, heet gebonden. Dus in de formule ∀x x2 > y is y vrij en x gebonden. Dezelfde variabele kan meerdere keren in een formule optreden. We moeten dan over vrije en gebonden voorkomens van variabelen spreken. In ∀x P(x) → ∃y R(x, y) is het eerste voorkomen van x (in P(x)) gebonden en het tweede (in R(x, y)) vrij.
Vrije variabele Gebonden variabele
OPGAVE 3.16
Geef in de volgende formules aan welke (voorkomens van) variabelen vrij zijn en welke gebonden. a P(x) ∧ ∃y P(y) b A(c) ∧ ∀x R(x, y) c ∃x (P(x) ∧ ∀y y ≥ x) d ∃x P(x) ∧ ∀y y ≥ x e ∃x x2 > y ∧ ∀y y < z Veel formules bevatten helemaal geen vrije variabelen. In feite zijn er diverse soorten formules zonder vrije variabelen: formules die helemaal geen variabelen bevatten zoals 322 > 1000 en formules waarin alle variabelen gebonden zijn zoals ∃y ∀x x2 > y. Een bizar geval is ook nog als de variabelen alleen in de kwantoren voorkomen, zoals bij ∀x P(3); ook dan zijn er uiteraard geen vrije variabelen. Een formule waarin geen vrije variabelen voorkomen, heet gesloten. Komt er wel een vrije variabele in voor, dan heet de formule open. Dus ∀x x2 > y is een open formule.
Gesloten formule Open formule
73
Open Universiteit
Logica, verzamelingen en relaties
OPGAVE 3.17
Geef aan welke formules in opgave 3.16 open zijn en welke gesloten. 3.1.4
SUBSTITUTIE
Voor diverse toepassingen is het nuttig als we een variabele door een andere term mogen vervangen. Als we in een concreet geval willen kijken wat de formule ∀x x2 > y uitdrukt, dan moeten we een waarde voor y kiezen, zeg 4. We vullen die waarde dan voor y in, en krijgen de formule ∀x x2 > 4. Zo kunnen we iedere constante invullen voor y en kijken wat de verkregen formule voorstelt. Als y meerdere keren voorkomt, moeten we wel alle (vrije) voorkomens van y door dezelfde term vervangen: anders zouden we door 4 voor y in te vullen, uit ∀x x2 > y ∨ y < 0 de formule∀x x2 > 4 ∨ y < 0 kunnen verkrijgen, en dat drukt iets heel anders uit. Tenslotte willen we alleen vrije voorkomens van variabelen vervangen, want er is in het geheel geen verband tussen de onderstreepte voorkomens van x in ∀x x2 > 4 ∨ x < 0. [t/v]ϕ
De term die we invullen, kan een constante zijn, of een samengestelde term, maar ook een andere variabele. Voor het vervangen van een vrije variabele gebruiken we de notatie [t/v]ϕ, wat betekent: de substitutie (vervanging) van alle vrije voorkomens van variabele v in ϕ door de term t.
VOORBEELD 3.16
In het volgende tabelletje staat in de linkerkolom de uit te voeren substitutie en rechts het resultaat daarvan. Let op dat alleen vrije voorkomens van x vervangen worden; in het bijzonder zien we dat er in het laatste voorbeeld helemaal niets gebeurt.
Substitutie
[3/x]x > y [a/x]R(x, x) [f(x)/x]x ≤ y [z + 1/x]x > 1 [y/x](R(x, y) ∧ ∃x P(x)) [y/x] ∀x R(x, y)
3>y R(a, a) f(x) ≤ y z+1>1 R(y, y) ∧ ∃x P(x) ∀x R(x, y)
OPGAVE 3.18
Voer de volgende substituties uit. a [y/x]x < y b [y/x]∃x x < y c [x/y]∃x x < y d [0/x](∃x R(x, x) ∧ P(x)) e [x2/y](∃x ∃y R(x, y) ∧ P(y)) f [x + y/x](∃x P(x) → x > y) In sommige gevallen levert substitutie een ongewenst resultaat op. Op deze probleemgevallen komen we in de volgende leereenheid terug.
74
«
Leereenheid 3 Predikaatlogica
Het hoogste woord, de logica van Aristoteles ‘Dat de logica al sinds de vroegste tijden op dit zekere pad is voortgeschreden, laat zich hieruit opmaken, dat ze sinds Aristoteles niet een stap terug heeft hoeven doen, als men tenminste de verwijdering van enkele onnodige subtiliteiten of de verduidelijking van haar onderricht niet als een verbetering wil beschouwen, maar deze zaken hebben eerder betrekking op de elegantie dan op de zekerheid van de wetenschap. Het is bovendien opmerkelijk dat de logica tot op de huidige dag niet een stap voorwaarts heeft kunnen zetten en dus naar het zich laat aanzien gesloten en voltooid is.’ Aldus de Duitse filosoof Immanuel Kant in 1787. Hij kon niet weten welke reuzenstappen er in de wiskunde en de wiskundige logica na hem nog zouden worden gezet. Ruwweg kan de geschiedenis van de logica in drie stadia worden ingedeeld: Griekse logica, logica van de Scholastici (circa 1200) en wiskundige logica van de 19e en 20e eeuw. In de eerste twee stadia, die direct op de ideeën van Aristoteles (384-322 v. C.) zijn terug te voeren, is de logica afgeleid van de gewone taal. De wiskundige logica bewandelt de omgekeerde weg: ze construeert eerst een zuiver formeel systeem, een kunstmatige taal, en kijkt daarna of er interpretaties in de dagelijkse spraak mogelijk zijn. Maar ook hier is de invloed van Aristoteles aanwezig. De verhandelingen die Aristoteles over logica schreef, worden het Organon-werktuig of instrument genoemd. Logica werd door de Grieken niet als een van de wezenlijke onderdelen van de filosofie gezien, maar eerder als een methode die een nuttig instrument voor alle onderzoekingen vormde. Centraal in Aristoteles’ werk staat een type redenering die ‘syllogisme’ wordt genoemd. Syllogismen zijn opgebouwd uit beweringen van de vorm subject-predikaat (S-P). Deze beweringen zijn onder te verdelen in vier typen: ze zijn bevestigend of ontkennend en algemeen of particulier. Voorbeelden van deze vier typen zijn: – Ieder mens is sterfelijk – algemeen bevestigend (a-bewering) – Geen mens is sterfelijk – algemeen ontkennend (e) – Een zeker mens is sterfelijk – particulier bevestigend (i) – Een zeker mens is niet sterfelijk – particulier ontkennend (o) Aristoteles verwoordde deze beweringen op omgekeerde wijze, waarbij de predikaatterm voor de subjectterm staat, bijvoorbeeld: ‘Sterfelijk behoort toe aan ieder mens’, of in het algemeen: P behoort toe aan iedere S. Het is opmerkelijk dat Aristoteles al letters gebruikt om de termen van beweringen weer te geven. Wij zullen deze bewering hier weergeven als PaS. Een syllogisme bestaat uit drie beweringen: twee premissen en een conclusie. Twee beweringen kunnen tot een conclusie leiden als ze een gemeenschappelijke term hebben, de ‘midderterm’ (M). De termen van de conclusie zijn dan de andere twee termen die in de premissen voorkomen. Bijvoorbeeld: alle mensen zijn sterfelijk en Socrates is een mens, dus Socrates is sterfelijk (eigenlijk: sterfelijk behoort toe aan iedere Socrates) ofwel PaM, MaS → PaS. Aristoteles bereikte een hoge mate van systematiek en precisie, van abstractie en strengheid, maar zijn werk heeft ook beperkingen. Niet alleen is het bereik van zijn syllogistiek uiterst beperkt, bovenal is de syllogistiek uitsluitend een predikaatlogica. Voor een volledige logica is zowel een predikaatlogica als een propositielogica vereist, en deze laatste is zelfs de meest fundamentele van de twee. Aristoteles vertrouwt bij de ontwikkeling van zijn syllogistiek (noodzakelijkerwijs) op stellingen die tot de propositielogica behoren, maar hij vermeldt of onderzoekt deze niet expliciet. De propositielogica was in de oudheid al door de Stoïcijnen ontwikkeld, maar er ontspon zich een strijd met de Aristotelianen over de vraag welke ‘school’ de ware logica had. Omdat de Aristotelianen wonnen, moest de propositielogica na Kant opnieuw worden opgebouwd.
75
Open Universiteit
Logica, verzamelingen en relaties
3.2
Modellen
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))
Waarheid formule hangt niet af van vertaalsleutel.
Predikaatlogica is niet waarheidsfunctioneel.
VOORBEELD 3.17
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, en in die situatie zou de formule zeker niet waar zijn, want er is zeker een grootste prijs. Met andere woorden, dat we ‘volgens de vertaalsleutel’ geneigd zouden zijn een formule waar te noemen, is een neiging die we moeten onderdrukken. Dit is in feite niet anders dan bij de propositielogica: na de vertaling van een uitspraak, keken we ook los van die vertaalsleutel naar de omstandigheden waaronder een formule waar is. Maar omdat de predikaatlogica ontegenzeggelijk dichter bij de wiskunde (en bij de gewone taal, of zelfs het denken...) staat dan de propositielogica, is het bespeurde gevaar hier zeker niet denkbeeldig. Precies aangeven wanneer een formule waar is, blijkt in de predikaatlogica veel minder eenvoudig dan in de propositielogica. Hoewel de waarheidstabellen van de connectieven nog steeds een rol spelen, kunnen we de waarheidswaarden van een formule niet in een overzichtelijke tabel weergeven. Anders dan de propositielogica is de predikaatlogica namelijk niet waarheidsfunctioneel: de waarheidswaarde van een formule is niet altijd te berekenen uit de waarheidswaarden van de deelformules. Wel kunnen we situaties aangeven waarin formules waar zijn. We illustreren dit aan de hand van een eenvoudig geval. De atomaire formule R(a, b) is waar in een situatie als de met a en b aangeduide objecten in een relatie staan die met R overeenkomt. In figuur 3.1 wordt de constante a vertegenwoordigd door het getal 1, en b door het getal 2. De relatie R is met pijlen weergegeven. In dit geval is R(a, b) waar: er gaat een pijl van 1 naar 2.
FIGUUR 3.1
Een situatie waarin R(a, b) waar is
Ook kunnen we kijken of samengestelde formules waar zijn in deze structuur: – ∃y R(a, y) is waar, want de keuze van 2 voor y voldoet – ∀x R(x, x) is onwaar, want (1, 1) behoort niet tot de pijlrelatie – ∃y ∀x R(x, y) is waar, want neem voor y maar 2, dan gaat zowel van 1 als van 2 een pijl naar 2. «
76
Leereenheid 3 Predikaatlogica
De constanten uit de predikaatlogica kunnen verschillende objecten weergegeven.
Voor connectieven waarheidstabellen gebruiken.
Misschien vraagt u zich af waarom we niet gewoon a en b bij de punten van de structuur zetten. De reden hiervoor is dat de objecten 1 en 2 in de figuur zeker verschillen, maar hoewel de constanten a en b niet hetzelfde zijn, kunnen ze wel hetzelfde object aanduiden. Met andere woorden: er is dus wel een diagram te maken waarin a en b hetzelfde object (zeg: 1) aanduiden. Eigenlijk is dit net als bij pseudoniemen: ‘Paul Haenen’, ‘Margreet Dolman’ en ‘Dominee Gremdaat’ zijn ook namen voor dezelfde persoon. Ook in de logica zijn constanten namen voor objecten, en hetzelfde object kan dus best met verschillende namen worden aangeduid. Met connectieven kan nog steeds gerekend worden zoals in de propositielogica. Zo is in figuur 3.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 1 naar 2, maar niet eentje van 2 naar 1. Vervolgens kunnen we kwantoren en connectieven weer in formules combineren: ∀y (∃x R(x, y) → R(y, y)) is waar in de situatie van figuur 3.1, want als y = 1, dan is ∃x R(x, y) onwaar en dus de implicatie waar, en als y = 2, dan zijn ∃x R(x, y) en R(y, y) beide waar en ook dan is de implicatie waar.
OPGAVE 3.19
Welke van de volgende formules zijn waar in figuur 3.1? a ∃x R(x, x) b ∃x ¬R(x, x) c ∀x ∃y R(x, y) d ∃x ∀y R(x, y) e ∀x ∀y (R(x, y) → R(y, y)) Model
Een situatie als in figuur 3.1 heet in de logica een model. Algemeen gesproken bestaat een model uit objecten waarop een aantal relaties en bewerkingen zijn gegeven die overeenkomen met de predikaat- en functiesymbolen. Ook moeten we bij de constanten uit de taal aangeven welke objecten in het model hierbij horen. We geven hier geen exacte definitie van het begrip ‘model’ – hiervoor kunt u terecht in meer gespecialiseerde cursussen en leerboeken – maar laten door middel van een aantal voorbeelden zien hoe modellen werken. U mag daarbij de modellen gerust als ‘figuren’ zien: voor een eerste kennismaking is dat voldoende. Wanneer er ook nog sprake is van een eenplaatsig predikaatsymbool P, dan markeren we de punten die aan een bepaalde eigenschap voldoen afzonderlijk (hier door middel van een rondje).
FIGUUR 3.2 Twee objecten, een eigenschap en een relatie Object 1 heeft de eigenschap P, en de pijlen van 1 naar 1 en tussen 1 en 2 vormen de weergave van de relatie R.
77
Open Universiteit
Logica, verzamelingen en relaties
OPGAVE 3.20
Welke van de volgende formules zijn waar in het model van figuur 3.2? a ∃x (P(x) ∧ R(x, x)) b ∀x ∃y R(x, y) c ∀x (P(x) → ∃y R(x, y)) d ∀x (R(x, x) → (P(x) ∧ ∃y (R(x, y) ∧ ¬P(y)))) Tot nu gaven we een model en bekeken dan welke formules waar waren. Soms zijn we meer in een andere vraag geïnteresseerd: gegeven een formule, verzin een model dat deze formule waar (of juist onwaar) maakt. VOORBEELD 3.18
De formule ∀x ∃y R(x, y) is waar in het model van figuur 3.1 (zie opgave 3.19c) en onwaar in figuur 3.2 (zie opgave 3.20b); bij de formule ∀x ∀y (R(x, y) → R(x, x)) is het omgekeerde het geval: waar in het tweede (voor x = 1 zijn R(1, 1) → R(1, 1) en R(1, 2) → R(1, 1) beide waar en voor x = 2 zijn R(2, 1) → R(2, 2) en R(2, 2) → R(2, 2) ook beide waar) en onwaar in het eerste model (neem x = 1 en y = 2, dan is R(1, 2) → R(1, 1) onwaar). « Wanneer we meerdere eenplaatsige of tweeplaatsige predikaatsymbolen hebben, zetten we die predikaatletters in het plaatje van het model bij de pijlen of gebieden. Voor eenplaatsige predikaatsymbolen kunnen we ook werken met verschillende markeringen (rondjes, vierkantjes, driehoekjes en dergelijke).
FIGUUR 3.3 Twee objecten, twee eigenschappen en twee relaties Object 1 heeft eigenschap P (rondje), object 2 eigenschap Q (vierkantje), R en S zijn bij de pijlen aangegeven. OPGAVE 3.21 (Aanw)
Verzin voor elk van de volgende formules een model waarin de formule waar is en een model waarin ze onwaar is. a ∀x (A(x) → B(x)) b ∃x (A(x) ∧ B(x)) c ∀x (C(x) ↔ (A(x) ∨ B(x))) 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 figuur 3.2 als x = 1, maar onwaar als x = 2. OPGAVE 3.22 (Aanw)
Beschouw het model dat gegeven is door figuur 3.4.
FIGUUR 3.4
Vier objecten, een eigenschap P en een relatie
en ≤ gewoon met de groter-danrelatie respectievelijk kleiner-dan-of-gelijk-aan-relatie. Op dit model zijn bijvoorbeeld de volgende formules waar: ∀x (E(x) → ∃y ((y > x) ∧ E(y))) en ∀x (P(x) → ∃y ((y > x) ∧ P(y))). Onwaar zijn daarentegen: ∀x (E(x) ∨ P(x)) en ∀x (P(x) → P(x + 2)) (het functiesymbool + wordt opgevat als gewone optelling). Ten slotte zijn er nog formules waarvan de waarheid momenteel nog onbekend is, zoals het vermoeden van Goldbach: ∀x ((E(x) ∧ x > 2) → ∃y ∃z (P(y) ∧ P(z) ∧ x = y + z)). «
OPGAVE 3.23
Welke van de volgende formules zijn waar in het model van voorbeeld 3.19? a ∃x (P(x) ∧ E(x)) b ∀x (P(x) → ¬E(x)) c ∀x (¬E(x) → (P(x + 2) ∨ P(x + 4))) d ∃x (P(x) ∧ ∀y (P(y) → x ≤ y)) 3.3
Twee informaticatoepassingen
3.3.1
CORRECTHEIDSBEWERINGEN
De predikaatlogica wordt in diverse wetenschappen gebruikt, ook in de informatica. Een van die toepassingen betreft het beschrijven van het gedrag van een programma. Deze beschrijving 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 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 3.20
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 ‘draaien’ van het programma de waarde a had, dan is x na afloop a + 1, kortom: {x = a} x := x + 1 {x = a + 1}
79
«
Open Universiteit
Logica, verzamelingen en relaties
Correctheidsbewering
Dit heet een correctheidsbewering; de stukken tussen de accolades worden wel specificaties genoemd: ze specificeren de toestanden van de computer. Die specificaties worden gegeven met predikaatlogische formules. Meestal doet het programma nog wel meer dan in de correctheidsbewering wordt vermeld – daarin staat slechts datgene waarin we geïnteresseerd zijn. In het algemeen heeft een correctheidsbewering de vorm {ϕ} P {ψ}, waarbij ϕ en ψ formules van de predikaatlogica zijn en P een programma is. Zo’n correctheidsbewering is dus juist, indien in alle gevallen waarin vóór het ‘draaien’ ϕ het geval is, het programma na ‘draaien’ 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.
{ϕ} P {ψ}
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? Nee, 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 maar in het extra glas, de berenburg in het zojuist geleegde glas, en ten slotte de whisky in het lege berenburg-glas. VOORBEELD 3.21
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 enige criterium voor een correctheidsbewering wordt voldaan: als x en y vooraf respectievelijk de waarden a en b hebben, dan zijn die waarden achteraf inderdaad omgewisseld. De gegeven programmaspecificatie is daarom juist en het programma de correcte implementatie van deze specificatie. « We kunnen, in plaats van de ‘patsboemmethode’ die hiervoor gebruikt is, 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 in voorbeeld 3.21 inzien. Om ruimte te besparen, schrijven we het effect van een programmaregel steeds achter de opdracht:
80
Leereenheid 3 Predikaatlogica
{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}
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 logicus C.A.R. Hoare om correctheidsbeweringen op te voeren, is dat men zich zo voor eens en altijd kan vergewissen van de juistheid van een programma. Hoare heeft namelijk een methode ontwikkeld om de correctheid van een programma te kunnen bewijzen. In deze methode leiden we correctheidsbeweringen van hele programma’s af door de correctheidsbeweringen van opvolgende opdrachten aan elkaar te koppelen, zoals we bij diverse voorbeelden al informeel hebben gedaan. Omdat we dan van predikaatlogische wetten gebruik moeten maken, komen we hier pas in de volgende leereenheid op terug. 3.3.2
BEDRIJFSREGELS
In deze paragraaf laten we zien hoe bedrijfsregels in predikaatlogica vertaald kunnen worden. Organisaties en bedrijven hebben te maken met een steeds sneller veranderende omgeving. Om hier op een flexibele manier mee om te kunnen gaan, is het handig om te beschikken over een aparte beschrijving van kennis en procedures binnen een organisatie of bedrijf. Deze beschrijving wordt vastgelegd in bedrijfsregels. Bedrijfsregels
DEFINITIE 3.4
Een bedrijfsregel definieert een aspect van een organisatie of legt de voorwaarden vast waaraan een aspect moet voldoen. Bedrijfsregels leggen de structuur van een organisatie vast en kunnen gebruikt worden om het gedrag van een organisatie te controleren of te beïnvloeden. De definitie maakt onderscheid tussen twee types bedrijfsregels: regels die aspecten definiëren, en regels die voorwaarden vast leggen. In de praktijk maakt men vaak een verdeling in vier typen bedrijfsregels: – Definities van termen Bijvoorbeeld: een klant is een persoon die een aankoop heeft gedaan. – Definities van feiten die termen met elkaar in verband brengen Bijvoorbeeld: een huurauto wordt verhuurd aan een huurder. – Voorwaarden Bijvoorbeeld: als een auto verhuurd is, dan moet deze op de geplande ingangsdatum aanwezig zijn. – Afleidingen Bijvoorbeeld: een klant met bonuskaart krijgt bonuskorting.
81
Open Universiteit
Logica, verzamelingen en relaties
Bedrijfsregels kunnen in natuurlijke taal gegeven worden, zoals in de voorbeelden hiervoor. Maar vaak kiest men als taal een min of meer formele taal. Daardoor komt de betekenis van de regel ondubbelzinnig vast te liggen, en ontstaat de mogelijkheid voor automatische verwerking, bijvoorbeeld van de controle op inconsistenties. Als leesbaarheid van de regels erg belangrijk is, valt de keuze vaak op gestructureerde taal. In zo'n taal is precies vastgelegd welke taalconstructies zijn toegestaan, en wat de betekenis is van deze constructies. Vanuit een gestructureerde taal is een vertaling naar predikaatlogica meestal niet al te ingewikkeld. Met name de derde en vierde soort bedrijfsregels (voorwaarden en afleidingen), kunnen goed in een logische taal beschreven worden. Daarbij gebruiken we als predikaten de definities van feiten, zoals vastgelegd in het tweede type bedrijfsregels. Het eerste type regel bepaalt tot welke verzamelingen de variabelen behoren, bijvoorbeeld de verzameling Klanten. We geven twee voorbeelden, waarbij we een bedrijfsregel vanuit natuurlijke taal via een gestructureerde vorm vertalen naar predikaatlogica. VOORBEELD 3.22 Bedrijfsregel
Een klant met bonuskaart krijgt bonuskorting.
Gestructureerde taal
Als een klant een bonuskaart heeft, dan krijgt de klant een bonuskorting. De variabele in deze zin is de klant, en er zijn twee predikaten: H (heeft een bonuskaart) en B (krijgt bonuskorting). We lezen de implicatie als een regel die voor elke klant geldt; in de predikaatlogica, wordt dit daarom een universele zin:
Predikaatlogica
∀x (H(x) → B(x))
VOORBEELD 3.23 bedrijfsregel
Een speciale rekening wordt zowel naar de klant als naar hoofd boekhouding verstuurd.
Gestructureerde taal
Als een rekening speciaal is, dan wordt deze rekening naar de klant gestuurd en wordt de rekening naar hoofd boekhouding gestuurd.
«
Deze regel geldt voor elke rekening, predikaten zijn S (speciaal zijn), en V(x, y), (verzenden van x aan y). Predikaatlogica
∀x (S(x) → (V(x, k) ∧ V(x, h)) Vertalingen zijn nooit uniek. In een mogelijke variant op het eerste voorbeeld, hadden we rekening kunnen houden met verschillende soorten kortingen: H(x, y) stond dan bijvoorbeeld voor x heeft kortingtype y en de predikaatlogische formule werd in dat geval ∀x (H(x, b) → B(x)), waarbij b de constante is die bonuskaart aangeeft. In het tweede voorbeeld ontbreekt in de gegeven vertaling nog de koppeling tussen klant en rekening. Dit is bijvoorbeeld als volgt op te lossen (R(x, y) betekent x is een rekening voor y) ∀x∀y ((R(x, y) ∧ S(x)) → (V(x, y) ∧ V(x, h))
82
«
Leereenheid 3 Predikaatlogica
OPGAVE 3.24
Geef een predikaatlogische vertaling van de volgende regel: Als een auto verhuurd is, dan moet deze op de geplande ingangsdatum aanwezig zijn. Regels van het vierde type, afleidingen, zijn vaak te schrijven als een universele formule van de vorm ∀x1 ... ∀xn ((ϕ1 ∧ ... ∧ ϕm) → ψ), zogenaamde hornclausules. Het deel na de kwantoren heeft dezelfde vorm als een regel in een propositielogisch Prologprogramma. In leereenheid 4 zult u zien, dat deze hornclausules in een predikaatlogisch Prologprogramma gebruikt worden. Prologachtige programmeertalen zijn daarom bij uitstek geschikt om dit type bedrijfsregels automatisch te verwerken. In het derde type bedrijfsregels, de voorwaarden, wordt vaak gebruik gemaakt van termen als ‘het is noodzakelijk dat...’, ‘het is mogelijk dat ...’, ‘... moet ...’, ‘... mag ...’ of varianten hiervan. Voorbeelden van zulke regels zijn: ‘Een huurder moet in het bezit zijn van een geldig rijbewijs.’ ‘Een huurder mag een auto op een andere locatie inleveren.’ Begrippen als ‘moeten’, ‘mogen’ en ‘noodzaak’ zijn in predikaatlogica niet goed weer te geven, maar er zijn uitbreidingen van predikaatlogica, zoals modale logica, waarmee deze begrippen wel beschreven kunnen worden. De predikaten die we gebruiken bij het vertalen van een bedrijfsregel, modelleren de relaties tussen verschillende onderliggende verzamelingen. Als we te maken hebben met een organisatie waar veel verschillende relaties optreden, en de regels vooral over de verbanden van deze relaties gaan, kan het handiger zijn om te kiezen voor een andere modelleertaal, namelijk relatie-algebra. SAMENVATTING
De taal van de predikaatlogica bestaat uit termen en formules. Termen zijn samengesteld uit constanten (bijvoorbeeld a of 1), variabelen (x, y) en functiesymbolen (abstracte zoals f of concrete zoals + en √). Zo is √(x + 1) een (samengestelde) term. Formules zijn opgebouwd uit predikaatsymbolen (P, Q, ..., =, x d P(y) → ∀y ∃z y < z
4
Voer voor de formules van vraag 3 de substituties [y2/x] en [x × y/x] uit.
5
Beschouw de formule ∀x ∀y ∀z ((R(x, y) ∧ R(y, z)) → R(x, z)). a Is deze formule waar, in een model met de natuurlijke getallen als objecten, waarin R overeenkomt met de gewone kleiner-dan-relatie ( x → ∃y y > y. b Toon aan dat ∀x ∃y y > x → ∃y y > z wel algemeen geldig is. Wat we duidelijk moeten voorkomen, is dat de te substitueren term een variabele bevat die na substitutie gebonden wordt. Met het begrip 'vrij voor' uit de volgende definitie kunnen we precies vastleggen voor welke termen t de formule ∀x ϕ → [t/x]ϕ algemeen geldig is. Vrij voor
DEFINITIE 4.2
Een term t is vrij voor x in ϕ indien t geen variabele bevat die gebonden wordt in [t/x]ϕ.
VOORBEELD 4.9
a 1 is vrij voor x in x < 0, want 1 is een constante. b y is niet vrij voor x in ∃y R(x, y), want y is een variabele die na substitutie gebonden wordt. c y is wel vrij voor x in P(x) → Q(x), want y wordt na substitutie niet gebonden. d (32 + 1) is vrij voor y in ∀x y < x, want de term bevat geen variabelen. e (x + 1) is niet vrij voor y in ∃x x = y2, want x is een variabele die na substitutie gebonden wordt. f (x + 1) is vrij voor y in y < 0, want de variabele x in de term blijft na substitutie vrij. g (x + 1) is vrij voor y in ∃y x = y2, want de variabele y komt alleen gebonden voor! (Zie ook de laatste regel in voorbeeld 3.16.) De substitutie heeft dus geen effect op de formule, waardoor er ook geen variabelen uit de term gebonden raken. « Constanten zijn vrij voor elke variabele en formule, want ze bevatten zelf geen variabele, dus ook geen variabele die gebonden kan worden. Meer in het algemeen zijn termen die geen variabelen bevatten (zogenaamde ‘grondtermen’), steeds vrij voor elke variabele en formule. Variabelen, en termen die variabelen bevatten, zijn soms wel en soms niet vrij voor een variabele in een formule. Als een term niet vrij voor een variabele is, hoeven we nog niet te wanhopen: daar is nog wel een mouw aan te passen, al hebben we dan logische equivalentie nodig – we keren er daarom in paragraaf 4.2 op terug.
92
Leereenheid 4 Wetten van de predikaatlogica
OPGAVE 4.5
Beantwoord de volgende vragen en motiveer uw antwoord. a Is 3 vrij voor x in x ≥ 0? b Is x vrij voor y in ∃y x ≠ y ? c Is x vrij voor y in P(y) ∧ ∃x R(x, y)? d Is x vrij voor y in ∀y (P(y) ∧ ∃z R(z, y))? e Is (x2 + 1) vrij voor y in P(y) ∧ ∃zR(z, y)? Bekijken we voorbeelden 4.2, 4.7 en 4.8 nogmaals, dan zien we dat deze gaan over formules van de vorm ∀x ϕ → [t/x]ϕ. Wanneer t vrij is voor x in ϕ, dan krijgen we een algemeen geldige formule. We noemen dit instantiatie: als voor alle x een formule ϕ geldt, geldt ze ook voor een specifieke t. Instantiatie
Deze regel moet u onthouden
∀x ϕ → [t/x]ϕ is algemeen geldig mits t vrij is voor x in ϕ. We bewijzen dit hier niet: zo’n bewijs is alleen mogelijk wanneer we de modellen wat formeler hebben ingevoerd, en dan is het nog een hele klus.
OPGAVE 4.6
Waarom luidt de voorwaarde niet: t is vrij voor x in ∀x ϕ? OPGAVE 4.7 (Aanw)
Is een formule van de vorm ∀x ϕ → ϕ algemeen geldig? Zo ja, laat zien waar dit uit volgt. Zo nee, geef een tegenvoorbeeld. Het omgekeerde, van specifieke naar algemene uitspraken, kan alleen onder bepaalde voorwaarden. Het is eenvoudig in te zien dat ϕ → ∀x ϕ niet algemeen geldig is. Daartoe kiezen we eerst bijvoorbeeld de concrete formule x = 0 voor ϕ. OPGAVE 4.8
Geef een tegenvoorbeeld voor de formule x = 0 → ∀x x = 0. Zo’n tegenvoorbeeld is uit te sluiten door voor ϕ een gesloten formule te kiezen. De kwantor ∀x bindt dan geen variabele meer. VOORBEELD 4.10
Loze universele kwantificatie
De formule ∃x x = 0 → ∀x ∃x x = 0 is weer algemeen geldig: als een model M de formule ∃x x = 0 waar maakt, dan is er een object ‘0’ in het model. Maar dan geldt voor alle objecten in M dat er een object ‘0’ in M is, dus is ∀x ∃x x = 0 ook waar in M. Kortom, ∃x x = 0 → ∀x ∃x x = 0 is waar in elk willekeurig model M. « Wat in dit voorbeeld voor een concrete formule is aangetoond, kunnen we ook zonder problemen algemener bewijzen: als x niet vrij in ϕ voorkomt, dan is ϕ → ∀x ϕ algemeen geldig. Dit wordt loze universele kwantificatie genoemd. Mocht u de regel van loze kwantificatie als bijzonder nutteloos voorkomen, dan is het goed nu alvast te weten dat deze regel in iets andere vorm verderop (paragraaf 4.2) juist heel nuttig blijkt te zijn. We hebben gezien dat als x wel vrij voorkomt, ϕ → ∀x ϕ niet meer algemeen geldt. Wel is het dan zo dat ∀x ϕ algemeen geldig is als ϕ dat ook is.
93
Open Universiteit
Logica, verzamelingen en relaties
VOORBEELD 4.11
De formule x = x is uiteraard algemeen geldig: welke waarde we ook aan x toekennen, die waarde zal altijd gelijk zijn aan zichzelf. Om precies dezelfde reden is ∀x x = x dan ook waar in elk willekeurig model M, dus is ook ∀x x = x algemeen geldig. « Meer in het algemeen kan de volgende regel bewezen worden (maar wij zien van dat bewijs hier weer af).
Universele generalisatie
Deze regel moet u onthouden.
Als ϕ algemeen geldig is, dan is ∀x ϕ ook algemeen geldig.
OPGAVE 4.9 (Aanw)
Ga na dat a, b en c voorbeelden van loze universele kwantificatie zijn, en d en e zijn af te leiden met universele generalisatie. a P(3) → ∀x P(3) b ∃x P(x) → ∀x ∃x P(x) c ∃y R(x, y) → ∀z ∃y R(x, y) d ∀y (∀x x > 0 → y > 0) e ∀x ((P(x) ∧ (P(x) → Q(x))) → Q(x)) Dit waren allemaal feiten over de universele kwantor. Hoe zit het met de existentiële kwantor? Zonder bewijs of commentaar noemen we alvast dat de volgende formules algemeen geldig zijn (onder de vermelde voorwaarde). ¬∃x ϕ ↔ ∀x ¬ϕ ¬∀x ϕ ↔ ∃x ¬ϕ [t/x]ϕ → ∃x ϕ mits t vrij is voor x in ϕ mits x niet vrij in ϕ voorkomt ∃x ϕ ↔ ϕ De eerste twee formules, de zogenaamde dualiteitsformules, leggen een verband tussen de universele en de existentiële kwantor en bewijzen we in stelling 4.2. De derde (de zogenaamde existentiële generalisatie) en de vierde (de zogenaamde loze existentiële kwantificatie), zijn te vergelijken met de instantiatie en loze universele kwantificatie en kunnen met behulp van de dualiteit bewezen worden (zie voorbeeld 4.15 respectievelijk opgave 4.13). 4.2
Logische equivalentie
Ook voor de predikaatlogica is het vaak belangrijk verschillende formules aan elkaar te relateren, met name wanneer die formules hetzelfde ‘betekenen’. VOORBEELD 4.12
Zoals in de introductie al is opgemerkt, zijn de formules ¬∃x (V(x) ∧ P(x)) en ∀x (V(x) → ¬P(x)) in precies dezelfde modellen waar. Want ¬∃x (V(x) ∧ P(x)) is waar in model M precies dan als ∃x (V(x) ∧ P(x)) in M onwaar is, dat wil zeggen dat er geen object in M is dat zowel de eigenschap ‘V’ als de eigenschap ‘P’ bezit, met andere woorden dat alle objecten in M ofwel de eigenschap ‘V’ ofwel de eigenschap ‘P’ missen, wat weer op hetzelfde neerkomt als: alle objecten in M met de eigenschap ‘V’ hebben niet de eigenschap ‘P’. «
94
Leereenheid 4 Wetten van de predikaatlogica
Logisch equivalent
DEFINITIE 4.3 Notatie
Twee formules heten logisch equivalent als ze in elk model dezelfde waarheidswaarde hebben. We schrijven ϕ ⇔ ψ. Afgezien van de termen ‘model’ en ‘waardering’ zijn de definities van algemeen geldig en logische equivalentie voor de predikaatlogica dus net als voor de propositielogica: logisch equivalente formules zijn voor elk model (waardering) of beide waar of beide onwaar. We bespeuren ook hetzelfde systematische verband tussen logische en materiële equivalentie.
STELLING 4.1
Er geldt: ϕ ↔ ψ is algemeen geldig precies dan als ϕ ⇔ ψ. Het bewijs is in wezen niet anders dan bij de propositielogica (met steeds ‘model’ in plaats van ‘waardering’) en volgt direct uit de definities van ‘algemeen geldig’, ‘logische equivalentie’ en de waarheidstabel van ↔, die nog steeds van kracht is. De stelling heeft als prettige consequentie dat we nu in één klap over een aantal logische equivalenties beschikken.
VOORBEELD 4.13
Er geldt: ∀x (P(x) ∧ Q(x)) ⇔ ∀x P(x) ∧ ∀x Q(x), want in voorbeeld 4.3 hebben we bewezen dat ∀x (P(x) ∧ Q(x)) ↔ (∀x P(x) ∧ ∀x Q(x)) algemeen geldig is. Op dezelfde manier blijkt uit opgave 4.1 dat ∃x (P(x) ∨ Q(x)) ⇔ ∃x P(x) ∨ ∃x Q(x). « Overigens zijn logische equivalenties vaak handiger dan algemeen geldige materiële equivalenties. Dit is niet alleen zo in het bewijzen ervan, maar ook in de toepassing. Voor een deel komt dit door de mogelijkheid equivalenties ‘door’ te schakelen, zoals we in leereenheid 2 zagen: als ϕ ⇔ ψ en ψ ⇔ χ, dan ook ϕ ⇔ χ, zodat de notatie ϕ ⇔ ψ ⇔ χ mogelijk is. Voor een ander deel doordat we nu ook niet-algemeen geldige formules kunnen ‘omwerken’. Tenslotte kunnen we nu ook slechts een deel van een formule vervangen door een equivalente formule: de oorspronkelijke en de resulterende formule zullen ook weer equivalent zijn. Voor een vlotte toepassing van logische equivalentie is een aantal standaardequivalenties onontbeerlijk. 4.2.1
STANDAARDEQUIVALENTIES
De algemeen geldige formules uit paragraaf 4.1 geven aanleiding tot de volgende logische equivalenties die we in het vervolg als standaardequivalenties zullen gaan gebruiken. Deze equivalenties moet u kennen of snel af kunnen leiden. Distributiviteit
∀ over ∧ ∃ over ∨
Dualiteit Loze kwantificatie
∀ ∃
Distributiviteit
∀ over ∨ ∃ over ∧
∀x (ϕ ∧ ψ) ⇔ (∀x ϕ ∧ ∀x ψ) ∃x (ϕ ∨ ψ) ⇔ (∃x ϕ ∨ ∃x ψ) ¬∃x ϕ ⇔ ∀x ¬ϕ ¬∀x ϕ ⇔ ∃x ¬ϕ ∀x ϕ ⇔ ϕ ∃x ϕ ⇔ ϕ ∀x (ϕ ∨ ψ) ⇔ ∀x ϕ ∨ ∀x ψ ∃x (ϕ ∧ ψ) ⇔ ∃x ϕ ∧ ∃x ψ
95
mits x niet vrij is in ϕ mits x niet vrij is in ϕ mits x niet vrij is in ϕ of ψ mits x niet vrij is in ϕ of ψ
(4.7) (4.8) (4.9i) (4.9ii) (4.10) (4.11) (4.12) (4.13)
Open Universiteit
Logica, verzamelingen en relaties
De eerste twee logische equivalenties volgen direct uit de eerder gegeven algemeen geldige formules 4.1 en 4.2 en stelling 4.1. Denk hierbij aan het verband tussen universele kwantificatie en conjunctie, en tussen existentiële kwantificatie en disjunctie (zie paragraaf 4.1). Ook dualiteit heeft een propositielogische tegenhanger; net zoals bij toepassing van de regels van De Morgan een disjunctie overgaat in een conjunctie en omgekeerd, wijzigt hier een existentiële kwantor in een universele en omgekeerd. Een voorbeeld van de tweede dualiteitsregel is de equivalentie tussen de uitspraken "niet elke boom verliest in de winter zijn blad" en " er is een boom die in de winter zijn blad niet verliest." We leveren nu een algemeen bewijs van dualiteit. STELLING 4.2 dualiteit
Er geldt: i ¬∃x ϕ ⇔ ∀x ¬ϕ ιι ¬∀x ϕ ⇔ ∃x ¬ϕ. Bewijs i Om aan te tonen dat ¬∃x ϕ ⇔ ∀x ¬ϕ, moeten we laten zien dat ¬∃x ϕ en ∀x ¬ϕ in precies dezelfde modellen waar zijn. Welaan dan, ¬∃x ϕ is waar in een model M, precies wanneer ∃x ϕ onwaar is in M, en dat is weer precies zo als er in M geen object is waarvoor ϕ waar is, dat wil zeggen: als in M voor elk object ϕ onwaar is, dat wil zeggen: precies dan als ∀x ¬ϕ in M waar is. ii Om aan te tonen dat ¬∀x ϕ ⇔ ∃x ¬ϕ, moeten we laten zien dat ¬∀x ϕ en ∃x ¬ϕ in precies dezelfde modellen waar zijn. Welaan dan, ¬∀x ϕ is waar in een model M, precies wanneer ∀x ϕ onwaar is in M, en dat is weer precies zo als er in M een object is waarvoor ϕ onwaar is, dat wil □ zeggen: precies dan als ∃x ¬ϕ in M waar is. Voor loze universele kwantificatie, standaardequivalentie 4.10, volstaat het op te merken dat (zoals we in opgave 4.7 hebben ingezien) ∀x ϕ → ϕ algemeen geldig is, en ϕ → ∀x ϕ onder de gegeven voorwaarde ook (zie voorbeeld 4.10 en de tekst erna), zodat met eenvoudige propositielogica volgt dat ∀x ϕ ↔ ϕ algemeen geldig is. Stelling 4.1 leert dus dat ∀x ϕ ⇔ ϕ. De logische equivalenties 4.12 en 4.13 volgen beide met stelling 4.1 uit de overeenkomstige algemeen geldige formules die in paragraaf 4.1.1 zijn gegeven: een combinatie van de formules 4.3 en 4.5 levert 4.12, terwijl formules 4.4 en 4.6 gecombineerd 4.13 opleveren.
Gebruik zonodig propositielogische equivalenties!
Het is handig over al deze standaardequivalenties te beschikken, al hoeven we ze niet per se allemaal apart te bewijzen. Het is namelijk ook mogelijk equivalenties 4.8 (distributie van ∃ over ∨), 4.11 en 4.13 met behulp van dualiteit uit de overige regels af te leiden. Daarbij is het goed te bedenken dat we de propositielogische equivalenties nog steeds mogen gebruiken: voor ϕ, ψ en χ in de standaardequivalenties van de propositielogica mogen we uiteraard predikaatlogische formules invullen.
96
Leereenheid 4 Wetten van de predikaatlogica
VOORBEELD 4.14
Standaardequivalentie 4.8 kan uit de overige standaardequivalenties worden afgeleid: ∃x (ϕ ∨ ψ) ⇔ ∃x ¬¬(ϕ ∨ ψ) ⇔ ¬∀x ¬(ϕ ∨ ψ) ⇔ ¬∀x (¬ϕ ∧ ¬ψ) ⇔ ¬(∀x ¬ϕ ∧ ∀x ¬ψ) ⇔ ¬∀x ¬ϕ ∨ ¬∀x ¬ψ ⇔ ∃x ¬¬ϕ ∨ ∃x ¬¬ψ ⇔ ∃x ϕ ∨ ∃x ψ
dubbele negatie dualiteit De Morgan distributiviteit van ∀ over ∧ De Morgan dualiteit dubbele negatie
«
OPGAVE 4.10
a Leid op dezelfde manier standaardequivalentie 4.13 af uit de overige. b Toon aan: ∃xϕ ⇔ ¬∀x¬ϕ. Standaardequivalenties kunnen nu gebruikt worden om formules in een wat eenvoudiger vorm om te zetten. Daarbij is loze kwantificatie vaak een handig hulpmiddel om kwantoren naar voren te halen. VOORBEELD
∀x x < (x + 1) ∧ ∀y P(y) ⇔ ∀x x < (x + 1) ∧ ∀x ∀y P(y) ⇔ ∀x (x < (x + 1) ∧ ∀y P(y))
loze kwantificatie distributiviteit van ∀ over ∧
OPGAVE 4.11
Toon met behulp van de standaardequivalenties aan dat ∃x ∀y x < y ∧ ∀y P(y) ⇔ ∃x ∀y (x < y ∧ P(y)). Bezuinigen op kwantoren
Uit opgave 4.10b volgt dat we ∃x kunnen definiëren als een afkorting van ¬∀x ¬. Daardoor is het mogelijk behoorlijk te ‘bezuinigen’ op de kwantoren en connectieven: alleen ¬, ∧ en ∀ volstaan al. Ook zijn er nu wat meer verrassende equivalenties te bewijzen. Soms mag een kwantor wel uit een implicatie gehaald worden, maar verandert deze van gedaante, dat wil zeggen ∃ wordt ∀ en omgekeerd.
Let op: deze behoren niet tot onze standaardequivalenties!
∃x ϕ → ψ ⇔ ∀x (ϕ → ψ) ∀x ϕ → ψ ⇔ ∃x (ϕ → ψ)
als x niet vrij in ψ voorkomt als x niet vrij in ψ voorkomt
Bewijs van 4.14 Laat ψ een formule zijn waarin x niet vrij voorkomt, dan ∃x ϕ → ψ ⇔ ¬∃x ϕ ∨ ψ ⇔ ∀x ¬ϕ ∨ ψ ⇔ ∀x ¬ϕ ∨ ∀x ψ ⇔ ∀x (¬ϕ ∨ ψ) ⇔ ∀x (ϕ → ψ)
OPGAVE 4.12
implicatie-eliminatie dualiteit loze universele kwantificatie distributiviteit ∀ over ∨: x niet vrij in ψ implicatie-eliminatie
Bewijs equivalentie 4.15; geef steeds aan welke standaardequivalenties u hebt gebruikt.
97
(4.14) (4.15)
Open Universiteit
Existentiële generalisatie
Logica, verzamelingen en relaties
Afleiden van algemeen geldige formules
Net als in leereenheid 2 kunnen we logische equivalentie gebruiken om bepaalde algemeen geldige formules uit andere algemeen geldige formules af te leiden. Dat is aantrekkelijk omdat, zoals we gezien hebben, door middel van modellen bewijzen dat een formule algemeen geldig is, vaak heel moeizaam gaat. We maken er hier dus weer gebruik van dat alle algemeen geldige formules logisch equivalent zijn.
VOORBEELD 4.15
Existentiële generalisatie, dus [t/x]ϕ → ∃x ϕ, kunnen we nu afleiden uit dualiteit, instantiatie en propositionele wetten. [t/x]ϕ → ∃x ϕ⇔ ¬∃x ϕ → ¬[t/x]ϕ ⇔ ∀x ¬ϕ → ¬[t/x]ϕ ⇔ ∀x ¬ϕ → [t/x]¬ϕ
contrapositie dualiteit definitie [t/x]
Als t vrij is voor x in ϕ, dan is t dat ook in ¬ϕ, dus is de formule op de laatste regel algemeen geldig: het is een geval van instantiatie (met ¬ϕ in plaats van ϕ). Onder dezelfde voorwaarde is de formule [t/x]ϕ → ∃x ϕ dus ook algemeen geldig. « OPGAVE 4.13
Leid op dezelfde manier met behulp van dualiteit en contrapositie uit de algemene geldigheid van ϕ → ∀x ϕ (mits x niet vrij in ϕ voorkomt) af dat ∃x ϕ → ϕ algemeen geldig is (mits x niet vrij in ϕ) en omgekeerd. Uit propositielogica volgt dan dat hiermee logische equivalentie 4.11 is bewezen.
Afsplitsen van deel kwantor
VOORBEELD 4.16
Een meer praktische toepassing van de equivalentieregels die ook voor het ontwerpen en bestuderen van programma’s van belang blijkt te zijn, is het ‘afsplitsen’ van een deel van de kwantor. In bepaalde gevallen kunnen we een deel van hetgene waarop een universele kwantor intuïtief gesproken betrekking heeft, ‘afsplitsen’ en als een conjunctie weer toevoegen. Beschouw de formule ∀x (x ≤ n → Q(x)). Gebruikmakend van de (veronderstelde) equivalentie x ≤ y ⇔ x < y ∨ x = y kunnen we bij de eerste formule het geval x = n afsplitsen. Dit levert de equivalente formule: Q(n) ∧ ∀x (x < n → Q(x)) Deze formule zullen we verderop gebruiken.
(4.16) «
Om zulke afsplitsingen netjes te kunnen afleiden, hebben we een standaardequivalentie met betrekking tot ‘=’ nodig. We geven die regel hier niet in de meest algemene vorm, maar in een vorm die voldoende algemeen is voor de beoogde toepassing. Als P een willekeurig predikaat is en c een willekeurige constante, dan vinden we dat ∀x (x = c → P(x)) ⇔ P(c) OPGAVE 4.14
Bewijs met gebruikmaking van equivalentie 4.17 dat ∀x ((x = a ∨ x = b) → P(x)) equivalent is met P(a) ∧ P(b).
98
(4.17)
Leereenheid 4 Wetten van de predikaatlogica
OPGAVE 4.15
Laat nu zien hoe met behulp van de equivalentie x ≤ y ⇔ x < y ∨ x = y en de equivalentie 4.17 volgt: ∀x (x ≤ n → Q(x)) ⇔ Q(n) ∧ ∀x (x < n → Q(x)). In het algemeen komt dit afsplitsen van een deel van een universele kwantificatie neer op: ∀x ϕ ⇔ [c/x]ϕ ∧ ∀x (x ≠ c → ϕ). Hieruit blijkt weer het nauwe verband tussen universele kwantificatie en conjunctie (zie paragraaf 4.1). Voor ∃ en disjunctie geldt een vergelijkbare afsplitsing, die we formeel kunnen weergeven als ∃x ϕ ⇔ [c/x]ϕ ∨ ∃x (x ≠ c ∧ ϕ). VOORBEELD 4.17
∃x ((x = a ∨ x = b ∨ x = c) ∧ P(x)) is equivalent met P(a) ∨ P(b) ∨ P(c).
«
Ook hier zien we weer de nauwe relatie tussen existentiële kwantificatie en disjunctie. Een handige toepassing van logische equivalentie bestaat uit een methode om bijvoorbeeld instantiatie mogelijk te maken in gevallen die eerder problemen opleverden. Zo is de ongeldige formule ∀x ∃y x ≠ y → ∃y y ≠ y geen toepassing van instantiatie omdat in [y / x]∃y x ≠ y de variabele y na substitutie gebonden raakt. Als we toch instantiatie met een vrije variabele y uit willen voeren zullen we eerst de formule ∀x ∃y x ≠ y moeten vervangen door een equivalente formule waarin dit probleem niet optreedt. We maken daarbij gebruik van het feit dat het er niet zoveel toe doet welke variabele voor binding zorgt: bijvoorbeeld ∃x P(x) ⇔ ∃y P(y). We kunnen gebonden variabelen dus herbenoemen, door elk voorkomen van een variabele in het bereik van een kwantor te vervangen door een nieuwe variabele die nog niet in de formule en in de te substitueren term voorkomt. Deze voorzorg kan altijd genomen worden: instantiatie is dan mogelijk. We maken hierbij gebruik van de volgende standaardequivalenties: Herbenoemen gebonden variabele
Dit zijn standaardequivalenties.
∀x ϕ ⇔ ∀y [y / x]ϕ als y niet in ϕ voorkomt ∃x ϕ ⇔ ∃y [y / x]ϕ als y niet in ϕ voorkomt Het is duidelijk wat ons te doen staat. Als een substitutie [t / x]ϕ tot problemen leidt omdat t niet vrij is voor x in ϕ, dan herbenoemen we eerst in ϕ alle gebonden variabelen die ook in t voorkomen. Bijvoorbeeld de substitutie [y / x]∃y x ≠ y kan soms ongewenst zijn. Gebruik in dat geval ∃y x ≠ y ⇔ ∃z x ≠ z. In de rechterformule kunnen we nu rustig y voor x substitueren: [y / x]∃z x ≠ z levert ∃z y ≠ z.
OPGAVE 4.16
Herbenoem de gebonden variabelen in de volgende formules zodat de te substitueren termen vrij zijn voor de variabele waarvoor ze gesubstitueerd worden. a [y / x]∃y R(x, y) b [x / y](P(y) ∧ ∃x R(x, y))
99
Open Universiteit
Logica, verzamelingen en relaties
4.2.2
NORMAALVORMEN
De standaardequivalenties uit de vorige paragraaf maken het weer mogelijk een formule om te zetten in een equivalente formule met een speciale vorm. Voor de predikaatlogica bestaan er diverse normaalvormen, maar we noemen er hier slechts één. Prenexe normaalvorm
Een predikaatlogische formule is in prenexe normaalvorm als alle kwantoren voorop staan, dat wil zeggen: de formule bestaat uit een (eventueel leeg) rijtje kwantoren gevolgd door een kwantorvrije formule. VOORBEELD 4.18
De volgende formules zijn alle in prenexe normaalvorm: ∀y (R(x, y) → x = y) ∃x ∀y R(x, y) ∀x ∀y ∀z((P(x) ∧ R(y, z)) → R(x, z)) De volgende formules zijn niet in prenexe normaalvorm: ∀y R(x, y) → x = y ∃x ¬∀y x > y ∀x (∃y y ≤ 0 ∨ P(x)) De eerste formule is niet in prenexe normaalvorm omdat alleen R(x, y) in het bereik van ∀y voorkomt. Hetzelfde geldt voor ∃y in de derde formule. In de tweede formule staat ¬ tussen de kwantoren, zodat het geen prenexe normaalvorm is. « Formules kunnen nu in prenexe normaalvorm worden gebracht. De benodigde procedure spellen we hier niet uit, maar moge duidelijk zijn aan de hand van de volgende voorbeelden.
VOORBEELD 4.19
We zetten ∃x P(x) ∨ ∀x ∃y R(x, y) om in prenexe normaalvorm: ∃x P(x) ∨ ∀x ∃y R(x, y) ⇔ ∃x P(x) ∨ ∀z ∃y R(z, y) ⇔ ∃x P(x) ∨ ∃x ∀z ∃y R(z, y) ⇔ ∃x (P(x) ∨ ∀z ∃y R(z, y)) ⇔ ∃x (∀z P(x) ∨ ∀z ∃y R(z, y)) ⇔ ∃x ∀z (P(x) ∨ ∃y R(z, y)) ⇔ ∃x ∀z (∃y P(x) ∨ ∃y R(z, y)) ⇔ ∃x ∀z ∃y (P(x) ∨ R(z, y))
herbenoemen loze kwantificatie ∃ distributief over ∨ loze kwantificatie ∀ distributief over ∨: z niet vrij in P(x) loze kwantificatie ∃ distributief over ∨ «
Twee stappen in dit voorbeeld zijn kenmerkend: begin altijd met het herbenoemen van gebonden variabelen die in verschillende deelformules tegelijk voorkomen. Om kwantoren naar voren te halen is eerst loze kwantificatie nodig, zodat daarna distributiviteit toegepast kan worden. VOORBEELD 4.20
We zetten ∃x P(x) → ¬∀y Q(y) om in prenexe normaalvorm waarbij we voor het gemak gebruik maken van de logische equivalentie 4.14, hoewel dit geen standaardequivalentie is:
100
Leereenheid 4 Wetten van de predikaatlogica
∃x P(x) → ¬∀y Q(y) ⇔ ∃x P(x) → ∃y ¬Q(y) ⇔ ∀x (P(x) → ∃y ¬Q(y)) ⇔ ∀x (¬P(x) ∨ ∃y ¬Q(y)) ⇔ ∀x (∃y ¬P(x) ∨ ∃y ¬Q(y)) ⇔ ∀x ∃y (¬P(x) ∨ ¬Q(y))
dualiteit logische equivalentie 4.14: x niet vrij in ∃y ¬Q(y) implicatie-eliminatie loze kwantificatie ∃ distributief over ∨ «
Een prenexe normaalvorm is zeker niet uniek, zelfs het rijtje kwantoren is dat niet. Zo heeft de zojuist gegeven voorbeeldformule ook ∃y ∀x ¬(P(x) ∧ Q(y)) als prenexe normaalvorm. OPGAVE 4.17
Laat zien dat ∃x P(x) → ¬∀y Q(y) ook ∃y ∀x ¬(P(x) ∧ Q(y)) als prenexe normaalvorm heeft. OPGAVE 4.18
Zet ∃x P(x) ↔ ∃x ∀y R(x, y) om in prenexe normaalvorm (alleen als u genoeg tijd heeft). Bij een prenexe normaalvorm kunnen we de kwantorvrije deelformule na het rijtje kwantoren weer in een speciale vorm brengen, bijvoorbeeld disjunctieve (DNV) of conjunctieve normaalvorm (CNV). 4.3
Logisch gevolg
Voor verschillende doeleinden en toepassingen moeten we met predikaatlogica correct kunnen redeneren. Het begrip ‘logisch gevolg’ speelt hierin een cruciale rol. De definitie van dit begrip hoeft, vergeleken met leereenheid 2, slechts weinig te worden aangepast. Logisch gevolg
DEFINITIE 4.4
De formule ψ is een logisch gevolg van ϕ1, ..., ϕn als elk model dat de formules ϕ1, ..., ϕn waar maakt, ook ψ waar maakt. Notatie: ϕ1, ..., ϕn ⇒ ψ.
VOORBEELD 4.21
In de introductie tot deze leereenheid werd al opgemerkt dat geldt ∀x (W(x) → S(x)), W(j) ⇒ S(j). Dit kunnen we bewijzen met behulp van definitie 4.4. Stel dat M een willekeurig model is dat de beide uitgangspunten waar maakt. Dus alle objecten in M met eigenschap ‘W’ bezitten ook eigenschap ‘S’, en het object dat met ‘j’ overeenkomt, bezit eigenschap ‘W’. Dan bezit object ‘j’ ook eigenschap ‘S’, en daaruit blijkt dat formule S(j) waar is in M. «
OPGAVE 4.19
Toon op dezelfde manier aan dat ∀x P(x) ∨ ∀x Q(x) ⇒ ∀x (P(x) ∨ Q(x)), waarmee eindelijk (een speciaal geval van) formule 4.3 is bewezen. VOORBEELD 4.22
De rijkdom van de predikaatlogica brengt met zich mee dat veel wiskunde erin kan worden uitgedrukt. ‘Logisch gevolg’ zorgt dan voor allerlei verbanden. Zo drukt ∀x ¬R(x, x), ∀x ∀y ∀z((R(x, y) ∧ R(y, z)) → R(x, z)) ⇒ ∀x ∀y (R(x, y) → ¬R(y, x)) een bekend verband uit tussen eigenschappen van relaties. «
101
Open Universiteit
Logica, verzamelingen en relaties
Ook hier is het inmiddels bekende verband tussen algemeen geldige implicaties aan de ene kant en logische gevolgen aan de andere kant te bespeuren. STELLING 4.3
Er geldt dat ϕ1, ..., ϕn ⇒ ψ precies dan als (ϕ1 ∧ ... ∧ ϕn) → ψ algemeen geldig is. Weer kunnen we opmerken dat we stelling 4.3 in feite al terloops gebruikt hebben bij diverse bewijzen. Zo is in voorbeeld 4.1 eigenlijk bewezen dat P(x), x = y ⇒ P(y). Wel is het goed er hier op te wijzen dat de relatie van ‘logisch gevolg’ niet hetzelfde is als de regel om uit een algemeen geldige formule een andere algemeen geldig formule af te leiden. Er bestaan regels, zoals universele generalisatie (zie paragraaf 4.1.1), om uit een algemeen geldige formule ϕ een algemeen geldige formule ψ af te leiden, zonder dat ψ een logisch gevolg is van ϕ. Omdat x = y ⇏ ∀x x = y is universele generalisatie geen gewoon logisch gevolg. 4.3.1
STANDAARDGEVOLGEN
Allereerst merken we op dat de propositielogische standaardgevolgen nog steeds van kracht zijn: de predikaatlogica gaat met de connectieven op dezelfde manier om. Ook levert elke standaardequivalentie ϕ ⇔ ψ onmiddellijk de logische gevolgen ϕ ⇒ ψ en ψ ⇒ ϕ. Verder leidt stelling 4.3 in combinatie met enige in paragraaf 4.1.1 gegeven standaard geldige formules tot een aantal nuttige logische gevolgen. Allereerst hebben we twee gevallen van gedeeltelijke (‘één kant op’) distributiviteit, bewezen in opgave 4.19 respectievelijk zelftoetsopgave 5, en twee gevallen waarin de distributiviteit alleen onder een voorwaarde geldt. Gedeeltelijke distributiviteit
∀x ϕ ∨ ∀x ψ ⇒ ∀x (ϕ ∨ ψ) ∃x (ϕ ∧ ψ) ⇒ ∃x ϕ ∧ ∃x ψ ∀x (ϕ ∨ ψ) ⇒ ∀x ϕ ∨ ∀x ψ als x niet vrij is in ϕ of ψ ∃x ϕ ∧ ∃x ψ ⇒ ∃x (ϕ ∧ ψ) als x niet vrij is in ϕ of ψ
(4.18) (4.19) (4.20) (4.21)
In opgave 4.20 wordt in essentie het logisch gevolg 4.20 bewezen, waarmee dan ook formule 4.5 is bewezen. Net zo kan men logisch gevolg 4.21 (en daarmee formule 4.6) bewijzen, maar men kan dit ook, als in opgave 4.10, via dualiteit (en contrapositie) afleiden uit logisch gevolg 4.20; we laten dit verder achterwege. Merk nog op dat de logische gevolgen 4.18 en 4.20 (respectievelijk 4.19 en 4.21), onder de voorwaarde dat x niet vrij is in ϕ of ψ, gecombineerd kunnen worden tot de logische equivalentie 4.12 (respectievelijk 4.13). Omgekeerd halen we uit de logische equivalenties 4.12 en 4.13 onmiddellijk de logische gevolgen 4.20 en 4.21, maar niet 4.18 en 4.19, omdat deze laatste twee algemener zijn: de voorwaarde dat x niet vrij is in ϕ of ψ, kan hier vervallen. OPGAVE 4.20
a Waarom is de omkering van het eerste logische gevolg geen logisch gevolg? b Bewijs logisch gevolg 4.20 voor het speciale geval dat we P(x) voor ϕ nemen en Q(y) voor ψ (merk op dat x niet vrij is in Q(y)).
102
Leereenheid 4 Wetten van de predikaatlogica
OPGAVE 4.21
Bewijs door middel van een tegenvoorbeeld dat we de restrictie bij gevolg 4.20 niet mogen weglaten. Evenzo kunnen we de logische gevolgen instantiatie en existentiële generalisatie afleiden uit de overeenkomstige algemeen geldige formules: Instantiatie Existentiële generalisatie
∀x ϕ ⇒ [t/x]ϕ als t vrij is voor x in ϕ [t/x]ϕ ⇒ ∃x ϕ als t vrij is voor x in ϕ VOORBEELD 4.23
(4.22) (4.23)
Zonder commentaar geven we enige gevallen van instantiatie en existentiële generalisatie: a ∀x (N(x) → ∃z (P(z) ∧ z > x)) ⇒ N(10000000000) → ∃z (P(z) ∧ z > 10000000000) b ∀x x ≤ y ⇒ y2 ≤ y c P(2859433 – 1) ∧ 2859433 – 1 > 10258716 ⇒ ∃x (P(x) ∧ x > 10258716)
OPGAVE 4.22
Geef aan welke regels in voorbeeld 4.23 gebruikt zijn en waarom aan de voorwaarden uit deze regels voldaan is. OPGAVE 4.23 (Aanw)
Bewijs de noodzaak van de voorwaarde dat t vrij is voor x in ϕ bij existentiële generalisatie, dat wil zeggen: verzin een term t en een formule ϕ waarvoor uit een model blijkt dat [t/x]ϕ ⇏ ∃x ϕ. Volgorde van kwantoren
Bij de prenexe normaalvormen zagen we dat we de volgorde van sommige kwantoren mogen verwisselen. Wanneer mag dit nu precies? En: wat is het verband tussen de formules wanneer dit niet mag?
VOORBEELD 4.24
Bij de eerste twee van de volgende gevallen mag omwisselen van kwantoren wel, bij de laatste twee niet (de kwantoren waarom het gaat zijn onderstreept) ∀x ∀y ((P(x) ∧ Q(y)) → R(x, y)) ⇔ ∀y ∀x ((P(x) ∧ Q(y)) → R(x, y)) ∃x ∃y P(x, y, x) → ∀x A(x) ⇔ ∃y ∃x P(x, y, x) → ∀x A(x) ∀x ∃y R(x, y) ⇎ ∃y ∀x R(x, y) ∀x (∀y A(y) → B(x)) ⇎ ∀y (∀x A(y) → B(x)) Voorbeeld 4.24 leidt tot een vrij eenvoudige vaststelling:
Verwisselen van kwantoren
Twee direct aangrenzende kwantoren van hetzelfde type (of allebei ∀ of allebei ∃) mogen worden verwisseld. Er mag niets tussen staan, zelfs geen haakjes! Iets formeler wordt de observatie:
∀∀ ⇔ ∀∀ ∃∃ ⇔ ∃∃
∀x ∀y ϕ ⇔ ∀y ∀x ϕ ∃x ∃y ϕ ⇔ ∃y ∃x ϕ
103
«
Open Universiteit
Logica, verzamelingen en relaties
Deze twee logische equivalenties laten we tot de standaardequivalenties behoren. Maar, zoals we bij de prenexe normaalvormen zagen, er mogen soms zelfs verschillende kwantoren verwisseld worden. VOORBEELD 4.25
∀x ∃y ¬(P(x) ∧ Q(y)) ⇔ ∃y ∀x ¬(P(x) ∧ Q(y))
«
De reden hiervoor is dat er in het kwantorvrije gedeelte geen directe relatie tussen x en y gelegd wordt: ze komen niet in dezelfde atomaire formule voor. Wél geldt heel in het algemeen dat de ∃∀-volgorde de ∀∃-volgorde als logisch gevolg heeft: ∃∀ ⇒ ∀∃
∃x ∀y ϕ ⇒ ∀y ∃x ϕ
VOORBEELD 4.26
∃x ∀y x ≤ y ⇒ ∀y ∃x x ≤ y
(4.24) «
Alle behandelde logische gevolgen 4.18-4.24 zullen we tot de standaardgevolgen rekenen. OPGAVE 4.24
Geef een tegenvoorbeeld dat aantoont dat het omgekeerde in het algemeen niet geldt, dat wil zeggen: ∀y ∃x R(x, y) ⇏ ∃x ∀y R(x, y). 4.4
Informaticatoepassingen
We bespreken hier twee al eerder genoemde toepassingen: de correctheidsbewijzen van Hoare en de logische programmeertaal Prolog. Uiteraard gaat het hier slechts om een eerste kennismaking met deze onderwerpen. 4.4.1
C.A.R. Hoare
BEWIJZEN VAN CORRECTHEIDSBEWERINGEN
In leereenheid 3 hebben we correctheidsbeweringen ingevoerd. Ze beschrijven wat een programma doet bij een bepaalde input. Dit krijgt vooral zin als we kunnen bewijzen dat deze correctheidsbeweringen kloppen. We hoeven dan niet meer door uitproberen een programma van zijn fouten te ontdoen (‘debuggen’), maar kunnen aantonen dat het voorgestelde programma precies doet wat het zou moeten doen, en dit logisch onderbouwen. De Engelsman C.A.R. Hoare ging ons hierin voor. Het idee is voor elk soort opdracht in een programmeertaal als Java een of meer regels te geven die het effect van dit type opdracht zo algemeen mogelijk beschrijven. We kijken nog eens naar de toekenningsopdracht x := x + 1. Met die opdracht verhogen we de waarde van x (zeg a) met 1, wat we uitdrukten als {x = a} x := x + 1 {x = a + 1}
Evenzo geldt dat {x = a} x := 3 {x = 3}
104
Leereenheid 4 Wetten van de predikaatlogica
Dit ‘toekennen’ van een nieuwe waarde aan x lijkt als twee druppels water op het substitueren van een nieuwe term voor een variabele. Inderdaad is er een mooi verband tussen toekenningen en substituties, al ligt dat misschien toch net even anders dan oppervlakkig gedacht zou kunnen worden. OPGAVE 4.25
Laat zien dat de regel {ϕ} x := t {[t/x]ϕ} voor voorgaande twee gevallen tot verkeerde specificaties leidt. De juiste regel voor toekenningsopdrachten werkt precies omgekeerd: Toekenningsregel
{[t/x]ϕ} x := t {ϕ}
Doordat de opeenvolging van opdrachten neerkomt op het aaneenschakelen van specificaties, kunnen we de correctheid van het omwisselprogramma uit leereenheid 3 als volgt bewijzen: VOORBEELD 4.27
{x = a, y = b} begin {y z := x; {y x := y; {x y := z {x einde {x = b, y = a}
= = = =
b, b, b, b,
x z z y
= = = =
a} a} a} a}
Omdat bij een toekenningsregel de substitutie ook van rechts naar links voert (en voor langere programma’s van onder naar boven), moet dit bewijs ook van onder naar boven gelezen worden. De komma’s in de specificaties moeten als conjuncties gelezen worden, dus onderaan staat eigenlijk de formule x = b ∧ y = a. De toekenningsregel geeft bij de laatste opdracht x = b ∧ z = a in de voorafgaande specificatie, en na nog twee substituties komen we zo uit bij y = b ∧ x = a wat logisch equivalent is met x = a ∧ y = b. « Dát we specificaties van opvolgende opdrachten mogen aaneenschakelen en logische equivalentie voor een specificatie kunnen gebruiken, wordt door regels in deze ‘correctheidscalculus’ gerechtvaardigd. Bij ingewikkelder programma’s komt er ook meer predikaatlogica om de hoek kijken, al speelt kwantificatie in correctheidsbeweringen meestal een bescheiden rol. 4.4.2
PROLOG
Het effect van programma’s kan met behulp van logische formules worden beschreven, maar we kunnen de logica ook zelf aanwenden om mee te programmeren. Voor de logische programmeertaal Prolog worden predikaatlogische formules van een heel beperkte vorm gebruikt.
105
Open Universiteit
Logica, verzamelingen en relaties
VOORBEELD 4.28
Beschouw het volgende kleine Prolog-programma, met links de Prolognotatie en rechts de standaard predikaatlogische notatie. man(alex). man(bernd). man(claus).
M(a) M(b) M(c)
vrouw(juul). vrouw(trix).
V(j) V(t)
ouder(claus, alex). ouder(trix, alex). ouder(juul, trix). ouder(bernd, trix).
O(c, a) O(t, a) O(j, t) O(b, t)
vader(X, Y) :man(X), ouder(X, Y). moeder(X, Y) :vrouw(X), ouder(X, Y).
∀x ∀y ((M(x) ∧ O(x, y)) → V'(x, y)) ∀x ∀y ((V(x) ∧ O(x, y)) → M'(x, y))
Dit programma kan gezien worden als een relationele database met negen feiten, aangevuld met twee regels. Maar het kan ook worden opgevat als een verzameling (of beter nog: als een conjunctie) van negen atomaire formules en twee universeel gekwantificeerde implicaties. « In Prolog vervangen punten en komma’s de logische conjunctietekens en zijn de implicaties omgekeerd: het teken :- kan worden gezien als ←. Feiten en regels zijn hier van de vorm ∀x1 ... ∀xn((α1 ∧ ... ∧ αm) → β), waarin α1, ..., αm, β atomaire formules zijn die alleen de variabelen x1, ..., xn mogen bevatten (dit is een betere weergave dan in leereenheid 2 gegeven is). Formules van deze vorm heten hornclausules. In het geval van feiten mogen we de α’s weglaten (dat kan door voor elke αi de algemeen geldige formule x1 = x1 te nemen).
Hornclausule
VOORBEELD 4.29
Aan deze database kunnen vragen gesteld worden, wat ook hornclausules zijn, waarbij nu β open is gelaten (logisch is dat te bereiken door voor β een contradictie te nemen, bijvoorbeeld x1 ≠ x1). Grofweg komt het stellen van de vraag neer op het kijken of er een aan de vraag gekoppelde formule kan worden afgeleid uit de verzameling formules die het programma vormt. Aan het voorgaande programmaatje kunnen we vragen of Alex een man is: ?- man(alex). yes ?-
Ook kunnen we vragen met variabelen stellen, zoals ‘Wie zijn de mannen?’, waarop het programma alle goede antwoorden opsomt; met ‘no’ aan het eind geeft het aan dat het geen andere antwoorden meer vindt.
106
Leereenheid 4 Wetten van de predikaatlogica
?- man(X) X = alex; X = bernd; X = claus; no ?-
«
Hoe werkt zo’n Prolog-programma nu eigenlijk? Wat opvalt is dat er alleen feitelijke informatie over een bepaald onderwerp in het programma staat, en geen opdrachten wat het moet doen. Dat komt omdat er in feite een vaste procedure in Prolog is ‘ingebakken’ die ervoor zorgt dat wanneer er een vraag gesteld is, deze systematisch met het programma vergeleken wordt. Dit vergelijken gaat met behulp van de zogenaamde resolutieregel: Resolutie
ϕ ∨ ¬ ψ, ψ ∨ ¬ χ ⇒ ϕ ∨ ¬ χ Met implicatie-eliminatie kunt u snel zien dat dit niet anders dan het oude vertrouwde hypothetisch syllogisme is, dat in leereenheid 2 al is genoemd. Een bijzonder geval van de resolutieregel ontstaat als ϕ en χ afwezig zijn: dan hebben we in feite een geval van conjunctie-introductie (zie weer leereenheid 2): ¬ψ, ψ ⇒ ⊥. VOORBEELD 4.30
De vraag ?- man(alex) wordt logisch als ¬M(a) opgevat. Vergelijken met het eerste programmafeit levert dan met de resolutieregel ¬M(a), M(a) ⇒ ⊥. Dit kunnen we lezen als een bewijs uit het ongerijmde voor het feit dat het programma M(a) als logisch gevolg heeft. De vraag ?- man(trix) wordt logisch als ¬M(t) weergegeven, en nu volgt er geen contradictie, met welk feit of regel we deze formule ook combineren. Daarom wordt op deze vraag het antwoord no gegeven. « Resolutie kan in veel gevallen alleen maar werken doordat eerst met behulp van de instantiatieregel geschikte substituties worden gepleegd.
VOORBEELD 4.31
De vraag ?- man(X) wordt logisch als ∀x ¬M(x) opgevat. Diverse instantiaties leveren nu antwoorden. Bijvoorbeeld x = a levert: ∀x ¬M(x), M(a) ⇒ ¬M(a), wat een contradictie is, zodat X = alex als antwoord wordt gegeven. Daarna wordt de volgende substitutie geprobeerd, enzovoort. Ook voor de vraag ?- moeder(trix, alex) is instantiatie nodig: logisch wordt dit opgevat als ¬M’(t, a). Achtereenvolgende instantiaties (van t voor x en a voor y) in de ‘moeder-regel’ leveren (V(t) ∧ O(t, a)) → M′(t, a). Samen met ¬M′(t, a) heeft dit ¬V(t) ∨ ¬O(t, a) tot gevolg, wat een contradictie geeft wanneer we dit combineren met de feiten V(t) en O(t, a). « Dit is, heel globaal, wat aan Prolog ten grondslag ligt. Om daar echt mee uit de voeten te kunnen, moet u uiteraard een volwaardige cursus daarover volgen.
107
Open Universiteit
Logica, verzamelingen en relaties
SAMENVATTING
We onderscheidden drie soorten wetten in de predikaatlogica: algemeen geldige formules, logische equivalenties en logische gevolgen. Een formule is algemeen geldig als ze waar is op elk mogelijk model. Twee formules zijn logisch equivalent (notatie ϕ ⇔ ψ) als ze in elk model dezelfde waarheidswaarde hebben. De formule ψ is een logisch gevolg van ϕ1, ..., ϕn (notatie ϕ1, ..., ϕn ⇒ ψ) als elk model dat de formules ϕ1, ..., ϕn waar maakt, ook ψ waar maakt. Er zijn in de predikaatlogica systematische verbanden tussen algemeen geldige formules enerzijds, en logische equivalenties en logische gevolgen anderzijds: ϕ ↔ ψ is algemeen geldig precies dan als ϕ ⇔ ψ, en (ϕ1 ∧ ... ∧ ϕn) → ψ is algemeen geldig precies dan als ϕ1, ..., ϕn ⇒ ψ. Modellen zijn vooral handig voor het geven van tegenvoorbeelden: ze tonen dan aan dat een formule niet algemeen geldig is, of dat twee formules niet logisch equivalent zijn. Om algemene geldigheid, logische equivalentie en gevolg aan te tonen, is een bewijs met modellen vaak heel bewerkelijk. In eenvoudige gevallen is dit nog wel te doen, maar indien mogelijk gebruiken wij daarvoor liever standaardwetten. – Standaardequivalenties Naast de propositionele standaardequivalenties zijn er de volgende regels. naam
equivalentie
distributiviteit
∀x (ϕ ∧ ψ) ⇔ (∀x ϕ ∧ ∀x ψ) ∃x (ϕ ∨ ψ) ⇔ (∃x ϕ ∨ ∃x ψ) ¬∃x ϕ ⇔ ∀x ¬ϕ ¬∀x ϕ ⇔ ∃x ¬ϕ ∀x ϕ ⇔ ϕ ∃x ϕ ⇔ ϕ ∀x ϕ ⇔ ∀y [y/x]ϕ ∃x ϕ ⇔ ∃y [y/x]ϕ ∀x ∀y ϕ ⇔ ∀y ∀x ϕ ∃x ∃y ϕ ⇔ ∃y ∃x ϕ
dualiteit loze universele kwantificatie loze existentiële kwantificatie herbenoemen variabelen verwisselen kwantoren
voorwaarde
x niet vrij in ϕ x niet vrij in ϕ y komt niet in ϕ voor y komt niet in ϕ voor
– Standaardgevolgen Naast de standaardgevolgen uit de propositielogica zijn er de volgende regels. naam
gevolg
gedeeltelijke distributiviteit
∀x ϕ ∨ ∀x ψ ⇒ ∀x (ϕ ∨ ψ) ∃x (ϕ ∧ ψ) ⇒ ∃x ϕ ∧ ∃x ψ ∀x (ϕ ∨ ψ) ⇒ ∀x ϕ ∨ ∀x ψ ∃x ϕ ∧ ∃x ψ ⇒ ∃x (ϕ ∧ ψ) ∀x ϕ ⇒ [t/x]ϕ [t/x]ϕ ⇒ ∃x ϕ ∃x ∀y ϕ ⇒ ∀y ∃x ϕ
instantiatie existentiële generalisatie verwisselen kwantoren
108
voorwaarde
x niet vrij in ϕ of ψ x niet vrij in ϕ of ψ t vrij voor x in ϕ t vrij voor x in ϕ
Leereenheid 4 Wetten van de predikaatlogica
– Standaard geldige formules Alle standaardequivalenties en standaardgevolgen keren via de genoemde verbanden terug als algemeen geldige formules. Ook de standaardtautologieën gelden nog steeds, waarbij we nu predikaatlogische formules mogen invullen. Daarnaast is er een belangrijke regel om uit een algemeen geldige formule een andere algemeen geldige formule af te leiden: universele generalisatie
Als ϕ algemeen geldig is, dan is ∀x ϕ ook algemeen geldig
Met de logische equivalenties, in het bijzonder dualiteit, kunnen we bezuinigen op het aantal connectieven en kwantoren. Een toepassing van standaardequivalenties is het in prenexe normaalvorm brengen van een formule. Een andere specifieke vorm is de hornclausule, de vorm van formules in een Prolog-programma. Logische equivalenties en gevolgen blijken onmisbaar voor het bewijzen van correctheidsbeweringen van bijvoorbeeld Java-programma’s en voor het functioneren van Prolog. ZELFTOETS
1
Een vorm van loze existentiële kwantificatie betreft logische gevolgen van de vorm ∃x ϕ ⇒ ϕ. Laat door middel van een tegenvoorbeeld zien dat de voorwaarde dat x niet vrij in ϕ mag voorkomen, hier noodzakelijk is.
2
a Wat zijn standaardequivalenties dualiteit en distributiviteit van ∀ over ∧? b Pas deze toe in een bewijs van de equivalentie van twee in leereenheid 3 gegeven formules: E(2) ∧ P(2) ∧ ¬∃x (x ≠ 2 ∧ E(x) ∧ P(x)) en ∀x ((E(x) ∧ P(x)) ↔ x = 2). Gebruik bij het bewijs de equivalentie ∀x (x = c → ϕ) ⇔ [c/x]ϕ.
3
Zet om in prenexe normaalvorm: ∀x x ≥ 0 → ∀y ∃x (y > x ∧ P(x)).
4
Toon het volgende feit aan (Prolog maakt er gebruik van): ∀x ((α1 ∧ ... ∧ αm) → ⊥) ⇔ ∀x (¬α1 ∨ ... ∨ ¬αm)
5
a Laat met behulp van modellen zien dat ∃x (P(x) ∧ Q(x)) ⇒ ∃x P(x) ∧ ∃x Q(x). b Leid het logisch gevolg uit onderdeel a opnieuw af, maar nu uit logisch gevolg 4.18, dualiteit en contrapositie.
109
Aanwijzingen en terugkoppelingen
Aanwijzingen
AANWIJZINGEN LEEREENHEID 1
1.2
Merk op dat de uitspraken elkaar uitsluiten: geen twee daarvan kunnen tegelijkertijd waar zijn. Er resteren slechts twee mogelijkheden: geen enkele is waar, of precies één is waar. Wat is juist?
1.4
Ga eerst na welke kleinste proposities in de uitspraken te ontdekken zijn.
1.5
Werk strikt volgens de definitie; het paar bij elkaar passende haakjes aan de buitenkant mag natuurlijk wel weg!
1.16
a Merk op dat ϕ eor ψ alleen waar is in twee gevallen: ϕ is waar en ψ onwaar én ϕ is onwaar en ψ waar. b Merk op dat voorgaande gevallen elkaar uitsluiten en dat we het eerste kunnen weergeven als ϕ ∧ ¬ψ. Dit leidt tot een mogelijke formule, maar er zijn meerdere oplossingen. c Wanneer we ↔ gebruiken, kan het zelfs heel compact (geïnspireerd door de waarheidstabel van ↔ , die ook twee keer waar en twee keer onwaar oplevert.)
1.17
c Vergeet niet dat een waarheidstabel voor een formule met precies drie verschillende propositieletters 23 = 8 rijen heeft.
1.20
Er zijn twee manieren om ‘tenzij’ op te vatten: ‘als niet’ en ‘desda niet’.
1.21
In alle gevallen bevat de logische formule een ander connectief dan we op het eerste gezicht zouden verwachten.
1.22
Kijk in de waarheidstabel naar die ‘situaties’ (rijen) waarin de formule waar is.
113
Open Universiteit
Logica, verzamelingen en relaties
AANWIJZINGEN LEEREENHEID 2
2.1 t/m 2.4
Bepaal de waarheidstabellen van de formules en kijk in de hoofdkolom.
2.8 en 2.9
Stel de waarheidstabellen op voor de formules aan beide zijden van de logische equivalentietekens en vergelijk de hoofdkolommen.
2.16
Gebruik in ieder geval implicatie-eliminatie. Bedenk dat zo’n equivalentie wel degelijk in twee ‘richtingen’ gebruikt kan worden, dus zowel om te elimineren als om te introduceren ... en hetzelfde geldt voor de andere standaardequivalenties!
2.18
Merk op dat we vanwege distributiviteit bij het eerste en laatste disjunct (q ∧ ¬r) ‘buiten haakjes’ mogen halen.
2.19
Voor welke waardering is het eerste disjunct waar? En voor welke het tweede, enzovoort.
2.22
Probeer net zo’n redenering te geven als voor een DNV die een contradictie is.
2.23
Ga afzonderlijk voor feiten en regels van een Prolog-programma na of het disjuncties zijn waarin hooguit één propositie zonder negatie voorkomt. De vorm van feiten en regels staat beschreven in de tekst.
2.29
Maak waarheidstabellen!
2.32
Breek het bewijs op in twee helften, zoals bij stelling 2.1. Bijvoorbeeld van links naar rechts: als ψ geen gevolg is van ϕ1, ..., ϕn, dan is (ϕ1 ∧ ... ∧ ϕn) → ψ geen tautologie.
2.34
a Wat betekent het volgens definitie 2.5 dat ϕ, ¬ψ ⇒ ⊥? Vertaal dit in de richting van ϕ ⇒ ψ. b Gebruik reductio ad absurdum als volgt: ϕ ∧ ψ, ¬ϕ ⇒ ⊥.
114
Aanwijzingen
AANWIJZINGEN LEEREENHEID 3
3.3
a Gebruik het predikaat H niet in de zin van ‘houden van elkaar’, maar gewoon als ‘houden van’.
3.5
c Bedenk dat we zo’n uitspraak heel algemeen bedoelen, dus niet slechts voor één priemgetal, maar voor alle ...
3.8
a We willen geen vertaling van het soort ‘er zijn geen x, y en z waarvoor F(x, y, z, 3)’, omdat we dan informatie verloren hebben. Bijvoorbeeld, uit F(x, y, z, 3) volgt niet dat z > x, terwijl dit uit x3 + y3 = z3 wél volgt. b Gebruik het tweeplaatsige functiesymbool ↑, waarbij x ↑ u staat voor xu.
3.12
Vergelijk voorbeeld 3.14.
3.21
Teken een model met een of meer objecten. Geef de eigenschappen met rondjes, vierkantjes of driehoekjes weer. Doe dat zo, dat de gewenste situatie ontstaat. Soms is een model met één object al voldoende.
3.22
Gebruik de waarheidstabel van → uit leereenheid 1.
115
Open Universiteit
Logica, verzamelingen en relaties
AANWIJZINGEN LEEREENHEID 4
4.7
Is x altijd vrij voor x?
4.9
e De formule P(x) ∧ (P(x) → Q(x)) → Q(x) is algemeen geldig: dit is gewoon een speciaal geval van de tautologie (ϕ ∧ (ϕ → ψ)) → ψ!
4.23
Wanneer u een voorbeeld moet leveren van twee formules ϕ en ψ die aan bepaalde voorwaarden voldoen, zodat ϕ ⇏ ψ, dan zijn twee benaderingen vaak succesvol: (i) probeer een ϕ te vinden die een contingentie is en een ψ die een contradictie is, en die beide aan de overige voorwaarden voldoen; (ii) idem, maar nu voor ϕ een algemeen geldige formule en voor ψ een contingentie.
116
Terugkoppelingen
TERUGKOPPELING LEEREENHEID 1
Uitwerking van de opgaven
1
1.1
De zinnen in de voorbeeldredeneringen in de introductie, zoals ‘De afstandsbediening is kapot’ en ‘De tv werkt goed’, zijn proposities, want zijn ondubbelzinnig waar of onwaar. Toevoegingen als ‘maar’ en ‘dus’ voegen op zich niets toe aan de proposities, maar helpen de lezer wel bij de betekenis in ‘gewone taal’.
1.2
Zoals in de aanwijzing wordt opgemerkt, kan er maar hoogstens één uitspraak waar zijn. Het geval dat er helemaal geen uitspraak waar is, kan zich niet voordoen, want dan zijn er immers vier uitspraken onwaar, en dat zegt de laatste uitspraak nu juist, dus die zou dan waar zijn! Er is dus precies één uitspraak waar, en dus zijn er precies drie onwaar, en de derde uitspraak zegt dit ook: dat is dus de enige ware uitspraak.
1.3
Behalve c (een opdracht) en e (een vraag) zijn het allemaal proposities, ook al is die waarheid wellicht niet objectief vast te stellen (a)..
1.4
a De conjunctie wordt p ∧ q met p: ‘Marie komt naar het feest’ en q: ‘Kees komt naar het feest’. b De disjunctie wordt p ∨ q met p: ‘Jan wast af’ en q: ‘Jan droogt de vaat’.
1.5
De rijtjes bij a, b en d zijn formules. Het rijtje c is geen formule, want een disjunctieteken kan nooit vooraan staan. Bij e zouden er haakjes bij moeten. Rijtje b ziet er misschien gek uit, maar het mag wel.
1.6
a p, p → p, p → (p → p) b p, q, ¬q, ¬q ∧ p, p ∨ (¬q ∧ p) c p, q, ¬p, p → q, ¬p ∨ q, (p → q) ↔ (¬p ∨ q)
1.7
a b c d
1.8
Het bereik van (een voorkomen van) een connectief in ϕ bestaat uit die deelformules van ϕ die gecombineerd met dit connectief weer een deelformule van ϕ vormen.
1.9
a b c d e
1.10
p, q, r, ¬r, q ∨ ¬r, p ∧ (q ∨ ¬r), ¬(p ∧ (q ∨ ¬r)) ¬(p ∧ (q ∨ ¬r)) ¬(p ∧ (q ∨ ¬r)) ¬(p ∧ (q ∨ ¬r))
p → ¬(q ↔ p) p ∨ (¬q → p) (p ∨ ¬q) → p (p → q) ↔ (¬p ∨ q) p → (q ↔ (¬p ∨ q))
Ze zijn gelijk! Zoals we in de volgende leereenheid zullen zien, is dit niet van belang ontbloot.
117
Open Universiteit
Logica, verzamelingen en relaties
1.11
De waarheidstabel van ¬¬¬p bevat een kolom meer dan de tabel in voorbeeld 1.12: p
¬p
¬¬p
¬¬¬p
1 0
0 1
1 0
0 1
1.12
a Voor drie propositieletters zijn er 2 × 2 × 2 = 8 combinaties van waarheidswaarden mogelijk, dus 8 rijen. b Voor n propositieletters zijn er dus evenzo 2 × 2 × ... × 2 = 2n combinaties van waarheidswaarden mogelijk, dus 2n rijen. c De bovenste formule bevat 8 verschillende propositieletters, dus zal de waarheidstabel volgens onderdeel b 28 = 256 rijen met waarheidswaarden bevatten. Bij de onderste formule is er slechts sprake van 3 verschillende propositieletters, dus daar krijgen we 8 rijen. Nu is de bovenste formule wel wat korter dan de onderste (19 tegen 31 tekens als we de haakjes niet meerekenen), maar het gaat om het aantal deelformules en dat is bij de bovenste ook 19, bij de onderste 21. De bovenste tabel is dus 256 × 19 = 4864 plaatsen groot, de onderste 8 × 21 = 168 en daardoor relatief makkelijk te maken. Zo’n tabel stelt u uiteraard niet zelf op, maar u schrijft na een geschikte vervolgcursus een computerprogramma dat dit voor u doet!
1.13
a p
q
p∧q
1 1 0 0
1 0 1 0
1 0 0 0
p
q
¬p
1 1 0 0
1 0 1 0
0 0 1 1
0 0 1 0
p
¬p
p ∧ ¬p
¬(p ∧ ¬p)
1 0
0 1
b ¬p ∧ q
c
0 0
1 1
Merk op dat deze formule alleen waar kan zijn. We komen hier in de volgende leereenheid uitgebreid op terug.
118
Terugkoppelingen
d p
q
r
q∧r
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 0 0 0 1 0 0 0
p ∧ (q ∧ r) 1 0 0 0 0 0 0 0
1.14
a In kolom 4: daar staat het connectief met bereik over de hele formule. b De formule is waar als p en q verschillen in waarheidswaarde.
1.15
a p
q
p
∨
¬
q
1 1 0 0
1 0 1 0
1 1 0 0
1 1 0 1
0 1 0 1
1 0 1 0
1
3
2
1
b p
q
p
∧
(¬
q
∨
q)
1 1 0 0
1 0 1 0
1 1 0 0
1 1 0 0
0 1 0 1
1 0 1 0
1 1 1 1
1 0 1 0
1
4
2
1
3
1
c
1.16
p
q
¬
((p
∨
¬
q)
∧
(¬
p
∨
q))
1 1 0 0
1 0 1 0
0 1 1 0
1 1 0 0
1 1 0 1
0 1 0 1
1 0 1 0
1 0 0 1
0 0 1 1
1 1 0 0
1 0 1 1
1 0 1 0
5
1
3
2
1
4
2
1
3
1
a
De waarheidstabel voor eor is: (zie ook de aanwijzing)
ϕ
ψ
1 1 0 0
1 0 1 0
ϕ eor ψ 0 1 1 0
b De uitspraak óf ϕ óf ψ wordt uitgedrukt door bijvoorbeeld (ϕ ∧ ¬ψ) ∨ (¬ϕ ∧ ψ). Ook (ϕ ∨ ψ) ∧ ¬(ϕ ∧ ψ) voldoet. c De waarheidstabel voor de formule (ϕ ∧ ¬ψ) ∨ (¬ϕ ∧ ψ) staat in feite al in voorbeeld 1.16, als we ϕ voor p in de plaats zetten en ψ voor q.
119
Open Universiteit
Logica, verzamelingen en relaties
1.17
a p
¬
¬
p
→
¬
p
1 0
1 0
0 1
1 0
0 1
0 1
1 0
3
2
1
4
2
1
b
1.18
p
q
(p
→
¬
p)
→
q
1 1 0 0
1 0 1 0
1 1 0 0
0 0 1 1
0 0 1 1
1 1 0 0
1 1 1 0
1 0 1 0
1
3
2
1
4
1
p
q
r
((p
→
q)
∧
(q
→
r))
→
(p
→
r)
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 1 0 0 1 1 1 1
1 1 0 0 1 1 0 0
1 0 0 0 1 0 1 1
1 1 0 0 1 1 0 0
1 0 1 1 1 0 1 1
1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1
1 1 1 1 0 0 0 0
1 0 1 0 1 1 1 1
1 0 1 0 1 0 1 0
1
2
1
3
1
2
1
4
1
2
1
a p
p
↔
(p
↔
p)
1 0
1 0
1 0
1 0
1 1
1 0
1
3
1
2
1
b p
q
(p
→
q)
↔
(¬
p
∨
q)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 1 1
0 0 1 1
1 1 0 0
1 0 1 1
1 0 1 0
1
2
1
4
2
1
3
1
c p
q
¬
(p
∧
q)
↔
(¬
p
∨
¬
q)
1 1 0 0
1 0 1 0
0 1 1 1
1 1 0 0
1 0 0 0
1 0 1 0
1 1 1 1
0 0 1 1
1 1 0 0
0 1 1 1
0 1 0 1
1 0 1 0
3
1
2
1
4
2
1
3
2
1
120
Terugkoppelingen
1.19
a p
p
nand
p
1 0
1 0
0 1
1 0
1
2
1
ϕ
ψ
(ϕ
nand ψ)
nand (ϕ
nand ψ)
1 1 0 0
1 0 1 0
1 1 0 0
0 1 1 1
1 0 0 0
0 1 1 1
b
1
1 0 1 0 2
1
1 1 0 0 3
1
1 0 1 0 2
1
1.20
a Goed zijn bijvoorbeeld ¬q ∧ ¬p of ¬p ∧ ¬q. b Bijvoorbeeld (p ∨ q) ∧ ¬( p ∧ q) (zie uitwerking opgave 1.16) of p ↔ ¬q . c Dit betekent dat Jan en Marie niet beiden naar het feest gaan, en dat Jan gaat als Marie niet gaat, en Marie gaat als Jan niet gaat. De vertaling wordt dus ook in dit geval p ↔ ¬q.
1.21
a Laat p en q zijn als bij opgave 1.21. De uitspraak wordt dan weergegeven door p ∧ q (dus met ∧ en niet met →). b Zij p: ‘Men verhoogt de entreeprijzen’ en q: ‘Er komt nog iemand’. De meest voor de hand liggende lezing is dan niet p ∧ ¬q, maar p → ¬q! c De logische formule wordt: p ↔ ¬q met p: ‘het getal n is even en q: ‘het getal n is niet deelbaar door 2. De koppeling die door n in de uitspraken bereikt wordt, is in de vertaling overigens verloren gegaan: daarvoor is de propositielogica niet toegerust. Waar het hier om gaat, is dat er niet → maar ↔ staat: zo worden definities nu eenmaal opgevat!
1.22
Zij p: ‘Jan gaat’, q: ‘Marie gaat’ en r: ‘Piet gaat’. De uitspraak 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 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 1 0 0 1 1 1 1
1 1 0 0 1 1 0 0
0 1 0 0 1 1 1 1
1 0 1 0 1 0 1 0
0 1 0 1 1 1 1 1
0 0 0 0 1 1 1 1
1 1 1 1 0 0 0 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.
121
Open Universiteit
Logica, verzamelingen en relaties
1.23
a Er zijn diverse mogelijkheden: ¬p ∧ ¬q, ¬(p ∧ q) en ¬p ∧ q, met p: ‘Roken is gezond’ en q: ‘Drinken is gezond’. (We zien af van de dubbelzinnigheid van het woord ‘drinken’.) b Mogelijkheden zijn nu: p ∨ (q ∧ r) en (p ∨ q) ∧ r, met p: ‘Het regent’, q: ‘Het hagelt’ en r: ‘Het waait’. Uitwerking van de zelftoets
2
1
a Dit is geen formule: uitgezonderd het negatieteken kan een connectief in onze propositielogica niet voorop staan (zie definitie). b Dit is een formule (ook al is de disjunctie in feite overbodig); spreek uit: ‘p of p’. c Dit is ook een formule; spreek uit: ‘als p dan q tussen haakjes desda niet tussen haakjes als niet q dan niet p’. d Dit is geen formule, connectieven anders dan ¬ kunnen volgens de definitie van formule nooit direct naast elkaar staan.
2
a De waarheidstabel van ∨ staat in paragraaf 1.3.3 en die van → in paragraaf 1.3.4. b p
q
(p
→
q)
∨
(q
→
p)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 1 1
1 0 1 0
1 1 0 1
1 1 0 0
1
2
1
3
1
2
1
c
3
p
q
r
((p
∨
¬
q)
∧
r)
↔
(¬
(p
∧
r)
∨
q)
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 1 1 1 0 0 1 1
0 0 1 1 0 0 1 1
1 1 0 0 1 1 0 0
1 0 1 0 0 0 1 0
1 0 1 0 1 0 1 0
1 0 0 0 0 0 1 0
0 1 0 1 1 1 1 1
1 1 1 1 0 0 0 0
1 0 1 0 0 0 0 0
1 0 1 0 1 0 1 0
1 1 0 1 1 1 1 1
1 1 0 0 1 1 0 0
1
3
2
1
4
1
5
3
1
2
1
4
1
a (p → q) ∨ (q → p) b ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q) c ((p ∨ ¬q) ∧ r) ↔ (¬(p ∧ r) ∨ q)
122
Terugkoppelingen
4
a Een mogelijke formule is: (p ∧ q) → ¬r, met p: ‘x > 3’, q: ‘y ≤ 0’ en r: ‘z = 0’. (Kiest u voor r: ‘z ≠ 0’, dan wordt de formule (p ∧ q) → r; onderdeel b en de motivatie bij onderdeel c veranderen navenant.) b p
q
r
(p
∧
q)
→
¬
r
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0
0 1 1 1 1 1 1 1
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
c De formule is onwaar als p, q en r alle waar zijn, dat wil zeggen: in het geval x > 3, y ≤ 0 en z = 0.
123
Open Universiteit
Logica, verzamelingen en relaties
TERUGKOPPELING LEEREENHEID 2
Uitwerking van de opgaven 2.1
a
De waarheidstabel van p → p is:
p
p
→
p
1 0
1 0
1 1
1 0
De hoofdkolom bevat alleen enen, dus p → p is een tautologie. b zie de uitwerking van opgave 1.18b. c zie de uitwerking van opgave 1.17c . d zie de uitwerking van opgave 1.18c. 2.2
a
De waarheidstabel van ¬(p → ¬p) is:
p
¬
(p
→
¬
p)
1 0
1 0 ↑
1 0
0 1
0 1
1 0
De formule is niet voor elke waardering waar en is dus geen tautologie. b De waarheidstabel van ¬(p ∨ q) ↔ (¬p ∧ ¬q) is: p
q
¬
(p
∨
q)
↔
(¬
p
∧
¬
q)
1 1 0 0
1 0 1 0
0 0 0 1
1 1 0 0
1 1 1 0
1 0 1 0
1 1 1 1 ↑
0 0 1 1
1 1 0 0
0 0 0 1
0 1 0 1
1 0 1 0
De formule is waar voor elke waardering (zie aangegeven hoofdkolom) en is derhalve een tautologie. c Zie voorbeeld 1.17; de formule is niet voor elke waardering waar en is dus geen tautologie. d De waarheidstabel van (p → q) ↔ (¬q → ¬p) is: p
q
(p
→
q)
↔
(¬
q
→
¬
p)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 1 1 ↑
0 1 0 1
1 0 1 0
1 0 1 1
0 0 1 1
1 1 0 0
De formule is waar voor elke waardering en derhalve een tautologie. 2.3
a
De waarheidstabel wordt:
p
¬
(p
→
p)
1 0
0 0 ↑
1 0
1 1
1 0
De formule is inderdaad voor elke waardering onwaar en is daarmee een contradictie.
124
Terugkoppelingen
b De waarheidstabel wordt: p
q
(p
∧
q)
↔
(¬
p
∨
¬
q)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0
1 0 1 0
0 0 0 0 ↑
0 0 1 1
1 1 0 0
0 1 1 1
0 1 0 1
1 0 1 0
De hoofdkolom bevat alleen nullen en dus is de formule een contradictie. c De waarheidstabel wordt: p
q
(p
∨
q)
∧
(¬
q
∧
¬
p)
1 1 0 0
1 0 1 0
1 1 0 0
1 1 1 0
1 0 1 0
0 0 0 0 ↑
0 1 0 1
1 0 1 0
0 0 0 1
0 0 1 1
1 1 0 0
De hoofdkolom bevat weer alleen nullen en dus is hier sprake van een contradictie. 2.4
a
De waarheidstabel wordt:
p
q
p
∧
¬
(p
∨
q)
1 1 0 0
1 0 1 0
1 1 0 0
0 0 0 0 ↑
0 0 0 1
1 1 0 0
1 1 1 0
1 0 1 0
De formule is steeds onwaar en is dus een contradictie. b De waarheidstabel wordt: p
q
¬
(p
→
q)
1 1 0 0
1 0 1 0
0 1 0 0 ↑
1 1 0 0
1 0 1 1
1 0 1 0
De formule is voor een waardering waar en is dus geen contradictie. c
De waarheidstabel wordt:
p
q
¬
(((p →
q)
→
p)
→
p)
1 1 0 0
1 0 1 0
0 0 0 0 ↑
1 1 0 0
1 0 1 0
1 1 0 0
1 1 0 0
1 1 1 1
1 1 0 0
1 0 1 1
De formule is voor elke waardering onwaar en is dus een contradictie.
125
Open Universiteit
Logica, verzamelingen en relaties
2.5
Als ϕ een tautologie is, dan is ϕ waar voor elke waardering, maar dan is ¬ϕ onwaar voor elke waardering, en dus een contradictie. En omgekeerd, als ¬ϕ een contradictie is, dan is ¬ϕ onwaar voor elke waardering, en dus is ϕ waar voor elke waardering, kortom ϕ is een tautologie. De tweede overeenkomst gaat precies zo.
2.6
De formules in 2.2a en 2.2c zijn contingenties, alsmede 2.4b.
2.7
Formules in a en b zijn tautologieën, want de waarheidstabellen zijn: ϕ
ϕ
↔
¬
¬
ϕ
1 0
1 0
1 1 ↑
1 0
0 1
1 0
ϕ
ψ
(ϕ
∧
¬
ϕ)
→
ψ
1 1 0 0
1 0 1 0
1 1 0 0
0 0 0 0
0 0 1 1
1 1 0 0
1 1 1 1 ↑
1 0 1 0
Wanneer we p en q vervangen door respectievelijk ϕ en ψ, krijgen we formule d uit opgave 2.1d, e uit 2.2b en f uit 2.2d. 2.8
a Er geldt p → q ⇔ ¬p ∨ q, want de waarheidswaarden in de aangegeven kolommen stemmen overeen: p
q
p
→
q
¬
p
∨
q
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1 ↑
1 0 1 0
0 0 1 1
1 1 0 0
1 0 1 1 ↑
1 0 1 0
b Er geldt: ¬(ϕ ∧ ψ) ⇔ ¬ψ ∨ ¬ϕ, want de aangegeven kolommen zijn gelijk: ϕ
ψ
¬
(ϕ
∧
ψ)
¬
ψ
∨
¬
ϕ
1 1 0 0
1 0 1 0
0 1 1 1 ↑
1 1 0 0
1 0 0 0
1 0 1 0
0 1 0 1
1 0 1 0
0 1 1 1 ↑
0 0 1 1
1 1 0 0
c Er geldt: ϕ → ψ ⇔ ¬ψ → ¬ϕ, want de aangegeven kolommen zijn gelijk: ϕ
ψ
ϕ
→
ψ
¬
ψ
→
¬
ϕ
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1 ↑
1 0 1 0
0 1 0 1
1 0 1 0 ↑
1 0 1 1
0 0 1 1
1 1 0 0
126
Terugkoppelingen
2.9
a
Er geldt: ¬(p ∨ q) ⇎ ¬p ∨ ¬q, want de hoofdkolommen zijn ongelijk:
p
q
¬
(p
∨
q)
¬
p
∨
¬
q
1 1 0 0
1 0 1 0
0 0 0 1 ↑
1 1 0 0
1 1 1 0
1 0 1 0
0 0 1 1
1 1 0 0
0 1 1 1 ↑
0 1 0 1
1 0 1 0
b Er geldt: ¬(p ∨ q) ⇔ ¬p ∧ ¬q, want: p
q
¬
(p
∨
q)
¬
p
∧
¬
q
1 1 0 0
1 0 1 0
0 0 0 1 ↑
1 1 0 0
1 1 1 0
1 0 1 0
0 0 1 1
1 1 0 0
0 0 0 1 ↑
0 1 0 1
1 0 1 0
c
Er geldt: ¬(p ↔ q) ⇔ p ↔ ¬q, want:
p
q
¬
(p
↔
q)
p
↔
¬
q
1 1 0 0
1 0 1 0
0 1 1 0 ↑
1 1 0 0
1 0 0 1
1 0 1 0
1 1 0 0
0 1 1 0 ↑
0 1 0 1
1 0 1 0
d Er geldt: p ↔ q ⇎ (p→ q) ∨ (q → p), want: p
q
p
↔
q
(p
→
q)
∨
(q
→
p)
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 1 ↑
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 1 1 ↑
1 0 1 0
1 1 0 1
1 1 0 0
2.10
Elke contradictie is onwaar voor alle mogelijke waarderingen, en heeft dientengevolge dezelfde waarheidswaarde als ⊥, en is daarmee dus equivalent.
2.11
a
De waarheidstabel van p ∧ (q ∨ ⊤) is:
p
q
p
∧
(q
∨
⊤)
1 1 0 0
1 0 1 0
1 1 0 0
1 1 0 0 ↑
1 0 1 0
1 1 1 1
1 1 1 1
Dus p ∧ (q ∨ ⊤) ⇔ p. b De waarheidstabellen om ϕ ∨ ¬ϕ ⇔ ⊤ aan te tonen zijn: ϕ
ϕ
∨
¬
ϕ
⊤
1 0
1 0
1 1 ↑
0 1
1 0
1 1 ↑
127
Open Universiteit
Logica, verzamelingen en relaties
2.12
2.13
De commutativiteit van ∨, ofwel de logische equivalentie ϕ ∨ ψ ⇔ ψ ∨ ϕ, volgt uit de waarheidstabellen: ϕ
ψ
ϕ
∨
ψ
ψ
∨
ϕ
1 1 0 0
1 0 1 0
1 1 0 0
1 1 1 0 ↑
1 0 1 0
1 0 1 0
1 1 1 0 ↑
1 1 0 0
Het bewijs van (ϕ ∧ ψ) ∧ χ ⇔ ϕ ∧ (ψ ∧ χ) gaat met een paar flinke waarheidstabellen: ϕ
ψ
χ
(ϕ
∧
ψ)
∧
χ
ϕ
∧
(ψ
∧
χ)
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 1 0 0 0 0 0 0
1 1 0 0 1 1 0 0
1 0 0 0 0 0 0 0 ↑
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 ↑
1 1 0 0 1 1 0 0
1 0 0 0 1 0 0 0
1 0 1 0 1 0 1 0
2.14
Een voorbeeld waaruit blijkt dat → niet associatief is: p → (p → p) ⇎ (p → p) → p. Met een waarheidstabel kunt u dit nagaan. Ook ⊥ → (⊥ → ⊥) ⇎ (⊥ → ⊥) → ⊥ voldoet, en er zijn nog oneindig veel andere tegenvoorbeelden.
2.15
⊤∨ϕ ⇔ϕ∨⊤ ⇔⊤
2.16
p→q ⇔ ¬p ∨ q ⇔ q ∨ ¬p ⇔ ¬¬q ∨ ¬p ⇔ ¬q → ¬p
2.17
ϕ↔ψ ⇔ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) ⇔ (¬ϕ ∧ ¬ψ) ∨ (ϕ ∧ ψ) ⇔ (¬ϕ ∧ ¬ψ) ∨ (¬¬ϕ ∧ ¬¬ψ) ⇔ ¬ϕ ↔ ¬ψ
2.18
(p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ ¬r) ⇔ (p ∧ q ∧ ¬r) ∨ (¬p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ⇔ (q ∧ ¬r ∧ p) ∨ (q ∧ ¬r ∧ ¬p) ∨ (p ∧ ¬q ∧ r) ⇔ ((q ∧ ¬r) ∧ (p ∨ ¬p)) ∨ (p ∧ ¬q ∧ r) ⇔ ((q ∧ ¬r) ∧ ⊤) ∨ (p ∧ ¬q ∧ r) ⇔ (q ∧ ¬r) ∨ (p ∧ ¬q ∧ r)
2.19
De verschillende disjuncten sluiten elkaar uit, dus er zijn precies drie waarderingen (die we w1, w2 en w3 noemen) die de formule waar maken: w1(p) = 1, w1(q) = 1, w1(r) = 0 w2(p) = 1, w2(q) = 0, w2(r) = 1 w3(p) = 0, w3(q) = 1, w3(r) = 0.
128
commutativiteit ⊤-eigenschap implicatie-eliminatie commutativiteit dubbele negatie implicatie-eliminatie equivalentie-eliminatie commutativiteit dubbele negatie equivalentie-eliminatie commutativiteit ∨ commutativiteit ∧ distributiviteit ⊤-eigenschap ⊤-eigenschap
Terugkoppelingen
2.20
a De formule is al in DNV en is waar voor elke waardering w waarvoor w(p1) = 1 en w(p2) = 0, of w(p3) = 1 en w(p4) = 0, of w(p5) = 1 en w(p6) = 0, of w(p7) = 1 en w(p8) = 0. Een aardig vervolgvraagje: hoeveel van de 256 waarderingen van p1, ..., p8 maken nu de formule waar? b We gebruiken achtereenvolgens een paar keer De Morgan en ten slotte dubbele negatie om een DNV te vinden: ¬((¬(p ∧ q ∧ r) ∧ ¬(p ∧ q ∧ ¬r)) ∧ (¬(p ∧ ¬q ∧ r) ∧ ¬(¬p ∧ q ∧ r))) ⇔ ¬(¬(p ∧ q ∧ r) ∧ ¬(p ∧ q ∧ ¬r)) ∨ ¬(¬(p ∧ ¬q ∧ r) ∧ ¬(¬p ∧ q ∧ r)) ⇔ ¬¬(p ∧ q ∧ r) ∨ ¬¬(p ∧ q ∧ ¬r) ∨ ¬¬(p ∧ ¬q ∧ r) ∨ ¬¬(¬p ∧ q ∧ r) ⇔ (p ∧ q ∧ r) ∨ (p ∧ q ∧ ¬r) ∨ (p ∧ ¬q ∧ r) ∨ (¬p ∧ q ∧ r) Er zijn dus vier waarderingen die de formule waar maken: w1(p) = w1(q) = w1(r) = 1; w2(p) = w2(q) = 1 en w2(r) = 0; w3(p) = 1, w3(q) = 0, w3(r) = 1; w4(p) = 0, w4(q) = 1, w4(r) = 1.
a De formule p ∨ ¬q is al zowel een DNV als een CNV. Immers, p ∨ ¬q kan opgevat worden als een disjunctie van twee conjuncties, indien p en ¬q als grensgevallen van conjuncties worden opgevat. Of p ∨ ¬q kan opgevat worden als een grensgeval van een conjunctie, met maar één conjunct, namelijk p ∨ ¬q dat een disjunctie is. b ¬(p ↔ q) ⇔ ¬((p ∧ q) ∨ (¬p ∧ ¬q)) equivalentie-eliminatie ⇔ ¬(p ∧ q) ∧ ¬(¬p ∧ ¬q) De Morgan ⇔ (¬p ∨ ¬q) ∧ (¬¬p ∨ ¬¬q) De Morgan dubbele negatie ⇔ (¬p ∨ ¬q) ∧ (p ∨ q) [een CNV!] distributiviteit ⇔ (¬p ∧ p) ∨ (¬p ∧ q) ∨ (¬q ∧ p) ∨ (¬q ∧ q) [een DNV] ⇔ (¬p ∧ q) ∨ (¬q ∧ p) ⊥-eigenschappen De DNV die we na distributie verkregen, is nog wat vereenvoudigd. 2.21
c (p → q) ↔ (q → r) ⇔ (¬p ∨ q) ↔ (¬q ∨ r) ⇔ ((¬p ∨ q) ∧ (¬q ∨ r)) ∨ (¬(¬p ∨ q) ∧ ¬(¬q ∨ r)) ⇔ ((¬p ∨ q) ∧ (¬q ∨ r)) ∨ ((¬¬p ∧ ¬q) ∧ (¬¬q ∧ ¬r)) ⇔ ((¬p ∨ q) ∧ (¬q ∨ r)) ∨ (¬¬p ∧ (¬q ∧ ¬¬q) ∧ ¬r) ⇔ (¬p ∨ q) ∧ (¬q ∨ r) [een CNV ] ⇔ (¬p ∧ ¬q) ∨ (¬p ∧ r) ∨ (q ∧ r) [een DNV] 2.22
implicatie-eliminatie equivalentie-eliminatie De Morgan associativiteit ⊥-eigenschappen distributiviteit en ⊥
Een CNV is een tautologie dan en slechts dan als elk conjunct een propositieletter en de negatie van die propositieletter bevat. Bewijs Een CNV is een tautologie (precies dan) wanneer hij voor elke waardering waar is, maar een conjunctie is alleen waar als alle conjuncten waar zijn, dus moet elk conjunct een tautologie zijn. Elk conjunct van een CNV is een disjunctie van propositieletters en negatie van propositieletters: die is dan en alleen dan altijd waar als er een propositieletter en haar negatie in voorkomen. Immers, als dit niet zo is, dan kunnen we altijd een waardering kiezen die deze disjunctie onwaar maakt: laat de waardering maar elke propositieletter die zonder negatie optreedt, onwaar maken, en elke propositieletter die met negatie optreedt, waar (bijvoorbeeld voor p ∨ ¬q ∨ r: w(p) = 0, w(q) = 1 en w(r) = 0).
129
Open Universiteit
Logica, verzamelingen en relaties
2.23
Een Prolog-feit is gewoon een propositieletter, en voldoet daarmee aan de eis: net als bij de definitie van DNV en CNV beschouwen we dit als een grensgeval van een disjunctie. Een Prolog-regel is van de vorm (p1 ∧ ... ∧ pn) → p0. Met de standaardequivalenties kunnen we deze formule in de gewenste vorm brengen: (p1 ∧ ... ∧ pn) → p0 ⇔ ¬(p1 ∧ ... ∧ pn) ∨ p0 ⇔ ¬p1 ∨ ... ∨ ¬pn ∨ p0
2.24
implicatie-eliminatie (n – 1) maal De Morgan
Noem p: ‘x = 1’ en q: ‘y < 0’. Dan kunnen we de voorwaarde formuleren als ¬((p ∨ q) ∧ (q ∨ ¬p)) en dit vereenvoudigt tot ¬q (hier volgt een snel bewijs, het kan uiteraard ook via de omweg van een DNV): ¬((p ∨ q) ∧ (q ∨ ¬p)) ⇔ ¬((q ∨ p) ∧ (q ∨ ¬p)) ⇔ ¬(q ∨ (p ∧ ¬p)) ⇔ ¬(q ∨ ⊥) ⇔ ¬q
2.25
Voor een conjunctie ϕ ∧ ψ geldt: ϕ ∧ ψ ⇔ ¬(¬ϕ ∨ ¬ψ). In de rechterformule komen alleen ¬ en ∨ als connectieven voor. Bewijs:
ϕ∧ψ
⇔ ¬¬(ϕ ∧ ψ) ⇔ ¬(¬ϕ ∨ ¬ψ) 2.26
commutativiteit distributiviteit ⊥-eigenschap ⊥-eigenschap
dubbele negatie De Morgan
De waarheidstabellen van ¬ϕ en ϕ nor ϕ zijn: ϕ
¬
ϕ
ϕ
nor ϕ
1 0
0 1 ↑
1 0
1 0
0 1 ↑
1 0
De aangegeven kolommen zijn gelijk, dus ¬ϕ ⇔ ϕ nor ϕ. Ook de waarheidswaarden van (ϕ nor ϕ) nor (ψ nor ψ) en (ϕ ∧ ψ) zijn gelijk:
2.27
ϕ
ψ
(ϕ
nor ϕ)
nor (ψ
nor ψ)
(ϕ
∧
ψ)
1 1 0 0
1 0 1 0
1 1 0 0
0 0 1 1
1 0 0 0 ↑
0 1 0 1
1 1 0 0
1 0 0 0 ↑
1 0 1 0
1 1 0 0
1 0 1 0
1 0 1 0
De uitwerking van opgave 1.19 geeft aanleiding tot de volgende equivalenties: ‘¬ϕ ⇔ ϕ nand ϕ’ en ‘ϕ ∧ ψ ⇔ (ϕ nand ψ) nand (ϕ nand ψ)’.
130
Terugkoppelingen
2.28
Met waarheidstabellen is direct te zien dat p ↔ q ⇏ p: p
q
p
↔
q
p
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 1
1 0 1 0
1 1 0 0
De eerste en laatste waardering maken het uitgangspunt waar (omkaderde enen), maar voor de laatste is de conclusie onwaar. 2.29
a
We maken de waarheidstabellen voor p → q, p en q.
p
q
p
→
q
p
q
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 0 0
1 0 1 0
Alleen in de eerste rij zijn beide uitgangspunten waar, en dan is de conclusie dat ook, dus p → q, p ⇒ q. b We maken de waarheidstabellen voor p, ¬p en q: p
q
p
¬
p
q
1 1 0 0
1 0 1 0
1 1 0 0
0 0 1 1
1 1 0 0
1 0 1 0
We zien hier een bijzonder geval: de uitgangspunten zijn nooit tegelijk (dat wil zeggen: voor dezelfde waardering) waar, dus maakt elke waardering die de uitgangspunten waar maakt (dat zijn er dus geen!), de conclusie waar. c We maken de waarheidstabellen voor p → q en ¬q → ¬p. p
q
p
→
q
¬
q
→
¬
p
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
0 1 0 1
1 0 1 0
1 0 1 1
0 0 1 1
1 1 0 0
De eerste, derde en laatste waardering maken het uitgangspunt waar, en in die gevallen is de conclusie ook waar, dus p → q ⇒ ¬q → ¬p.
131
Open Universiteit
Logica, verzamelingen en relaties
d We maken de waarheidstabellen voor p → q, q → r en p → r: p
q
r
p
→
q
q
→
r
p
→
r
1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 1 0 0 1 1 1 1
1 1 0 0 1 1 0 0
1 1 0 0 1 1 0 0
1 0 1 1 1 0 1 1
1 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0
1 0 1 0 1 1 1 1
1 0 1 0 1 0 1 0
In alle vier gevallen waarin beide uitgangspunten waar zijn, is de conclusie ook waar, dus p → q, q → r ⇒ p → r. 2.30
We kunnen natuurlijk een waarheidstabel maken, maar het is niet verboden even na te denken: q → ¬p, ¬p ⇏ q als er een waardering w is waarvoor de uitgangspunten waar zijn en de conclusie onwaar. Dus vanwege het tweede uitgangspunt zal dan moeten gelden w(p) = 0 en vanwege de onware conclusie w(q) = 0. Omdat dan inderdaad het eerste uitgangspunt waar is, vormt dit het bewijs dat q geen logisch gevolg is van q → ¬p en ¬p.
2.31
a
De waarheidstabellen worden:
p
q
p
q
p
∧
q
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0
1 0 1 0
Alleen in de bovenste rij zijn beide uitgangspunten waar, maar dan is de conclusie dat ook, dus p, q ⇒ p ∧ q. b De waarheidstabellen worden: p
q
p
→
q
q
p
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 0 1 0
1 1 0 0
In de derde rij zijn de uitgangspunten waar, maar de conclusie niet, dus p → q, q ⇏ p. c De waarheidstabellen worden: p
q
p
∧
q
q
p
∨
q
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0
1 0 1 0
1 0 1 0
1 1 0 0
1 1 1 0
1 0 1 0
Dus p ∧ q, q ⇒ p ∨ q.
132
Terugkoppelingen
d De waarheidstabellen worden: p
q
p
→
q
p
∧
q
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
1 1 0 0
1 0 0 0
1 0 1 0
De derde en vierde rij laten een waar uitgangspunt en een onware conclusie zien, derhalve p → q ⇏ p ∧ q. 2.32
We bewijzen hier slechts één helft, de andere gaat net zo. Als ψ geen logisch gevolg is van ϕ1, ..., ϕn, dan is er een waardering w die ϕ1, ..., ϕn waar maakt en ψ onwaar. Maar dan is volgens de waarheidstabel (ϕ1 ∧ ... ∧ ϕn) → ψ onwaar voor w, en dus geen tautologie.
2.33
a p ∨ ¬q, q ⇒ (p ∨ ¬q) ∧ q ⇔ (p ∧ q) ∨ (¬q ∧ q) ⇔p∧q ⇒p b p, p → q ⇒ p ∧ (p → q) ⇔ p ∧ (¬p ∨ q) ⇔ (p ∧ ¬p) ∨ (p ∧ q) ⇔p∧q ⇔q∧p ⇒q c ¬ ϕ → ¬ψ ⇔ ¬¬ϕ ∨ ¬ψ ⇔ ϕ ∨ ¬ψ ⇔ ¬ψ ∨ ϕ ⇔ψ→ϕ
2.34
conjunctie-introductie distributiviteit ⊥-eigenschappen conjunctie-eliminatie conjunctie-introductie implicatie-eliminatie distributiviteit ⊥-eigenschappen commutativiteit conjunctie-eliminatie implicatie-eliminatie dubbele negatie commutativiteit implicatie-eliminatie
a ϕ, ¬ψ ⇒ ⊥ betekent dat iedere waardering die ϕ en ¬ψ waar maakt, ook ⊥ waar maakt. Aangezien geen enkele waardering ⊥ waar maakt, volgt er dat geen enkele waardering ϕ en ¬ψ waar maakt. Een waardering die dus ϕ waar maakt, moet ¬ψ wel onwaar maken, ofwel ψ waar maken. Maar dit betekent precies dat ϕ ⇒ ψ. b We moeten aantonen dat ϕ ∧ ψ ⇒ ϕ en gaan hiertoe met reductio ad absurdum aantonen dat ϕ ∧ ψ, ¬ϕ ⇒ ⊥, waarbij we uitsluitend conjunctie-introductie en standaardequivalenties gebruiken:
ϕ ∧ ψ, ¬ ϕ ⇒ ( ϕ ∧ ψ) ∧ ¬ ϕ ⇔ (ϕ ∧ ¬ϕ) ∧ ψ ⇔⊥∧ψ ⇔⊥
conjunctie-introductie commutativiteit; associativiteit ⊥-eigenschap ⊥-eigenschap
Uit ϕ ∧ ψ, ¬ϕ ⇒ ⊥ volgt nu dat ϕ ∧ ψ ⇒ ϕ.
133
Open Universiteit
Logica, verzamelingen en relaties
Uitwerking van de zelftoets
2
1
a
De waarheidstabel wordt:
p
p
↔
¬
p
1 0
1 0
0 0 ↑
0 1
1 0
De aangegeven kolom bevat slechts nullen, dus p ↔ ¬p is een contradictie. b De waarheidstabel wordt: p
q
p
→
(q
→
p)
1 1 0 0
1 0 1 0
1 1 0 0
1 1 1 1 ↑
1 0 1 0
1 1 0 1
1 1 0 0
De aangegeven kolom bevat slechts enen, dus p → (q → p) is een tautologie. c De waarheidstabel wordt: p
q
¬
((p
→
q)
→
p)
1 1 0 0
1 0 1 0
0 0 1 1 ↑
1 1 0 0
1 0 1 1
1 0 1 0
1 1 0 0
1 1 0 0
De aangegeven kolom bevat niet slechts enen of nullen, dus de formule ¬((p → q) → p) is een contingentie. 2
a
De waarheidstabel van (p ∧ q) → p is:
p
q
(p
∧
q)
→
p
1 1 0 0
1 0 1 0
1 1 0 0
1 0 0 0
1 0 1 0
1 1 1 1 ↑
1 1 0 0
De aangegeven kolom bevat slechts enen, dus (p ∧ q) → p is een tautologie. b Een afleiding met standaardwetten is: (p ∧ q) → p ⇔ ¬(p ∧ q) ∨ p ⇔ (¬p ∨ ¬q) ∨ p ⇔ ¬q ∨ (p ∨ ¬p) ⇔ ¬q ∨ ⊤ ⇔⊤
134
implicatie-eliminatie De Morgan associativiteit en commutativiteit ⊤-eigenschap ⊤-eigenschap
Terugkoppelingen
c Deze tautologie hangt volgens stelling 2.3 samen met een logisch gevolg als p, q ⇒ p. d Dit is natuurlijk ook direct te zien: als p en q immers waar zijn, is p zeker waar. 3
a De logische equivalentie ϕ ⇔ ψ geldt, als ϕ en ψ voor iedere waardering dezelfde waarheidswaarden hebben. b De waarheidstabellen van ϕ ∧ (ϕ ∨ ψ) en ϕ zijn: ϕ
ψ
ϕ
∧
(ϕ
∨
ψ)
ϕ
1 1 0 0
1 0 1 0
1 1 0 0
1 1 0 0 ↑
1 1 0 0
1 1 1 0
1 0 1 0
1 1 0 0 ↑
De aangegeven kolommen zijn gelijk, dus geldt ϕ ∧ (ϕ ∨ ψ) ⇔ ϕ. c ϕ ∨ ( ϕ ∧ ψ) ⇔ (ϕ ∨ ϕ) ∧ (ϕ ∨ ψ) distributiviteit idempotentie ⇔ ϕ ∧ ( ϕ ∨ ψ) absorptie ⇔ϕ 4
a (¬p → q) → (r ↔ ¬s) ⇔ ¬(¬¬p ∨ q) ∨ (r ↔ ¬s) ⇔ ¬(¬¬p ∨ q) ∨ (r ∧ ¬s) ∨ (¬r ∧ ¬¬s) ⇔ ¬(p ∨ q) ∨ (r ∧ ¬s) ∨ (¬r ∧ s) ⇔ (¬p ∧ ¬q) ∨ (r ∧ ¬s) ∨ (¬r ∧ s)
implicatie-eliminatie equivalentie-eliminatie dubbele negatie De Morgan
Hiermee is de formule in DNV gebracht. b Elke waardering waarvoor p en q onwaar zijn, of waarvoor r en s verschillende waarheidswaarden hebben, maakt de formule waar. c De oorspronkelijke formule is immers logisch equivalent met haar DNV, en is daarom precies voor dezelfde waarderingen waar. 5
a
De waarheidstabellen voor p → q, ¬q en ¬p zijn:
p
q
p
→
q
¬
q
¬
p
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 1
1 0 1 0
0 1 0 1
1 0 1 0
0 0 1 1
1 1 0 0
Alleen in de laatste rij zijn beide uitgangspunten waar, maar dan is de conclusie dat ook, dus p → q, ¬q ⇒ ¬p. b p → q, ¬q ⇒ (p → q) ∧ ¬q conjunctie-introductie ⇔ (¬p ∨ q) ∧ ¬q implicatie-eliminatie ⇔ ¬q ∧ (¬p ∨ q) commutativiteit ⇔ (¬q ∧ ¬p) ∨ (¬q ∧ q) distributiviteit ⇔ (¬q ∧ ¬p) ∨ ⊥ ⊥-eigenschap ⇔ ¬q ∧ ¬p ⊥-eigenschap ⇔ ¬p ∧ ¬q commutativiteit ⇒ ¬p conjunctie-eliminatie
135
Open Universiteit
Logica, verzamelingen en relaties
c We bewijzen dat (p → q) ∧ ¬q, ¬(¬p) ⇒ ⊥, dan volgt met reductio ad absurdum dat (p → q) ∧ ¬q ⇒ ¬p, wat we moesten bewijzen. (p → q) ∧ ¬q, ¬(¬p) ⇒ ((p → q) ∧ ¬q) ∧ ¬(¬p) ⇔ ((¬p ∨ q) ∧ ¬q) ∧ p ⇔ (¬p ∨ q) ∧ (p ∧ ¬q) ⇔ ¬(p ∧ ¬q) ∧ (p ∧ ¬q) ⇔⊥
136
conjunctie-introductie implicatie-eliminatie; dubbele negatie commutativiteit; associativiteit De Morgan ⊥-eigenschap
Terugkoppelingen
TERUGKOPPELING LEEREENHEID 3
Uitwerking van de opgaven
1
3.1
a P(3) b m>j c S(m, j, p)
3.2
a b c d e
3.3
a H(j, m) ∧ H(m, j) b x>3↔y 2) → ∃y ∃z (P(y) ∧ P(z) ∧ S(x, y, z)))
P(x) V(x, j) 5y T(x, y, z)
137
Open Universiteit
Logica, verzamelingen en relaties
3.7
Letterlijk: ‘voor elk even getal groter dan twee is er een priemgetal waarvoor het verschil van het even getal en dit priemgetal weer een priemgetal is.’ Dat is uiteraard niets anders dan het vermoeden van Goldbach, in een andere gedaante. Indien nog niet duidelijk, kunnen we dit als volgt inzien. Noem maar x – y = z. Voor elk even getal groter dan 2 en elk priemgetal y bestaat er zo’n natuurlijk getal z (want als y > x, dan zou x – y geen (positief) priemgetal zijn). Verder geldt x – y = z ⇔ x = y + z als eigenschap van natuurlijke getallen (geen logische maar wel een wiskundige equivalentie).
3.8
a Deze bewering kunnen we eerst herformuleren als ‘Het is niet zo dat er x, y, z bestaan die gehele en positieve getallen zijn en waarvoor x3 + y3 = z3.’ Zo komen we op de formule: ¬∃x ∃y ∃z (Z(x) ∧ Z(y) ∧ Z(z) ∧ x > 0 ∧ y > 0 ∧ z > 0 ∧ x3 + y3 = z3). De gebruikte variabelen zijn x, y, z, de functiesymbolen + , 3 (eenplaatsig, als hooggeplaatste index erna geschreven), de enige constante 0, de predikaatsymbolen Z (‘is een geheel getal’), > en =. b Getal n is hier evengoed een variabele, dus n kan niet als functiesymbool optreden. We moeten daarom een nieuw tweeplaatsig functiesymbool ↑ invoeren, waarbij x ↑ u staat voor xu. (We gebruiken liever de notatie ↑ om verwarring met de eerdere eenplaatsige functiesymbolen 2 en 3 te vermijden.) Het ‘laatste theorema van Fermat’ kan dan als volgt worden weergegeven: ¬∃x ∃y ∃z ∃n (Z(x) ∧ Z(y) ∧ Z(z) ∧ Z(n) ∧ x > 0 ∧ y > 0 ∧ z > 0 ∧ n > 2 ∧ (x ↑ n) + (y ↑ n) = (z ↑ n)).
3.9
Letterlijk staat er: ‘Het is niet zo dat er een x is die priemgetal is, en dat tevens geldt dat voor alle getallen die (ook) priemgetal zijn, geldt dat ze kleiner dan of gelijk aan x zijn.’ Dat kan in gewoon Nederlands veel korter worden gezegd: ‘Er is geen grootste priemgetal.’
3.10
Onderdelen a, c en d zijn correcte termen. Onderdeel b is niet correct, want 3 was niet gegeven als functiesymbool. Onderdeel e is ook niet correct, omdat er haakjes ontbreken en ook typografisch klopt de exponent niet met de gegeven functieconstante 2. In de wiskunde wordt de notatie van e wel gebruikt: er wordt dan hetzelfde als f mee bedoeld (dat wil zeggen: gelijk aan x4). Maar ook f kan niet met het functiesymbool 2 worden gevormd, want daarvoor staan de haakjes verkeerd. We kunnen dit gemis opvangen zoals in opgave 3.8.
3.11
a Ja, dit is een keurig nette formule. We mogen dus best de existentiële kwantor met een disjunctie combineren! b Ook een goede formule: de buitenste haakjes om de conjunctie mochten immers weg. c Nee, in weerwil van de mogelijke interpretatie ‘Twee en vier zijn even’ is dit geen correcte formule, want ∧ mag alleen formules verbinden en geen termen. ‘Twee en vier zijn even’ kunnen we uitdrukken door E(2) ∧ E(4). d Niet correct, want er moeten haakjes om de disjunctie of de conjunctie heen. e Dit is een goede formule, al doet de universele kwantor hier helemaal niets: we kunnen net zo goed ∃x P(x) schrijven (zie leereenheid 4).
138
Terugkoppelingen
f Geen goede formule: direct achter de kwantorsymbolen mag alleen een variabele staan. Als we ‘Voor alle x met de eigenschap P is er een y met de eigenschap Q waarvoor R(x, y)’ willen uitdrukken, kan dit met: ∀x (P(x) → ∃y (Q(y) ∧ R(x, y))). g Ook niet correct, want een predikaat mag alleen werken op termen, terwijl één van de argumenten van H hier een formule is. Iets als ‘Ieder mens houdt van een mens’ kan natuurlijk wel worden uitgedrukt (vergelijk onderdeel f). 3.12
Dit zijn alle formules die in voorbeeld 3.14 gegeven werden!
3.13
a b c d
3.14
Als ∃x ϕ een deelformule van ψ is, dan is het bereik van de kwantor ∃x in ψ de formule ϕ.
3.15
a b c d
3.16
a Variabele x is vrij en y is gebonden. b Variabele x is gebonden en y is vrij. c Alle voorkomens van x en y zijn gebonden. d Variabele y en het eerste voorkomen van x zijn gebonden; het tweede voorkomen van x is vrij, want het tweede conjunct valt buiten het bereik van ∃x. e Variabele x en het tweede voorkomen van y zijn gebonden; z en het eerste voorkomen van y zijn vrij.
3.17
Alleen de formule van onderdeel c is gesloten, de overige formules uit de vorige opgave zijn open.
3.18
a b c d e f
3.19
a Waar, want er loopt een pijl van het punt 2 naar zichzelf. b Waar, want er loopt geen pijl van het punt 1 naar zichzelf. c Ook waar, want als we voor x object 1 nemen, dan is er een object, namelijk 2, zodat er een relatie (pijl) is tussen 1 en 2, en als we voor x object 2 kiezen, dan is er een pijl van 2 naar 2. Merk op dat de waarde van y helemaal niet hoeft te verschillen van die van x! d Onwaar, want proberen we voor x het object 1, dan is er geen pijl naar alle objecten(zie b), en proberen we voor x object 2, dan ook niet, immers er is geen pijl van 2 naar 1. e Waar, want alle pijlen lopen alleen naar object 2, en dat heeft een luspijl naar zichzelf.
∀x R(x, x) ∀x ((A(x) → B(x)) ∧ C(x)) ∀x (A(x) → B(x)) ∧ C(x) (∀x A(x) → B(x)) ∧ C(x)
A(c) ∧ ∀x ∃y R(x, y) ∃y ∀x (A(x) ∧ B(y)) ∀x ∃y ∀z S(x, y, z) ∃z ∀x ∃y S(x, y, z)
y y
139
Open Universiteit
Logica, verzamelingen en relaties
3.20
a Waar, want de keuze van object 1 voor x voldoet. b Onwaar, want neem voor x het object 2 en merk op dat geen pijl uit 2 vertrekt. c Waar, want alleen object 1 heeft de eigenschap die met P overeenkomt, en er loopt een pijl van 1 naar 2. d Waar. Dit lijkt lastiger dan het is, want alleen 1 heeft een luspijl, en 1 heeft inderdaad de eigenschap P, staat in de pijlrelatie tot 2 en 2 heeft niet de eigenschap P. Voor 2 is de uitspraak R(x, x) onwaar, dus ook dan is de implicatie waar.
3.21
Objecten met de eigenschap A krijgen een rondje, met eigenschap B een vierkantje, en met eigenschap C een driehoekje. a De formule is waar in elk model waarin alle objecten die ‘rondjes’ hebben ook ‘vierkantjes’ hebben, bijvoorbeeld:
FIGUUR 3.5
De formule is onwaar in elk model waarin tenminste één object met een rondje geen vierkantje heeft, bijvoorbeeld:
FIGUUR 3.6
b De formule is waar in elk model waarin tenminste één object zowel een rondje als een vierkantje heeft, en onwaar in elk model waarin elk object of geen rondje of geen vierkantje heeft. Dezelfde voorbeeldmodellen als bij a voldoen hier dus. c De formule is waar in elk model waarin elk object met een driehoekje ook een rondje en/of een vierkantje heeft, en elk object met een rondje een driehoekje heeft, en ook elk object met een vierkantje een driehoekje heeft, bijvoorbeeld:
FIGUUR 3.7
De formule is onwaar als dit niet zo is (zoals bij alle in a en b gegeven voorbeeldmodellen het geval is). 3.22
a Waar als x = 3, omdat dan x < 5 waar is en ook P(x), zodat de implicatie volgens haar waarheidstabel waar is. b Onwaar als x = 4, omdat dan x < 5 wel waar is, maar P(x) onwaar, zodat dan de implicatie als geheel onwaar is. c Waar als x = 5, omdat dan x < 5 onwaar is, zodat de implicatie volgens haar waarheidstabel waar is.
140
Terugkoppelingen
3.23
a b c d
Waar: 2 is een even priemgetal. Onwaar, om dezelfde reden. Onwaar: 23 is oneven, maar 25 en 27 zijn geen priemgetallen. Waar: 2 is het kleinste priemgetal.
3.24
Een eerste poging tot vertaling is: ∀x (V(x → Ax)) met V(x): x is verhuurd A(x): x is aanwezig op geplande ingangsdatum. De geplande ingangstijd is afhankelijk van de verhuur. Daarom zouden we de zin eerst wat scherper kunnen formuleren: Als een auto verhuurd is vanaf een zekere ingangsdatum, dan moet de auto op deze ingangsdatum aanwezig zijn. Hiermee wordt de vertaling: ∀x ∀t (V(x, t) → A(x, t)) met V(x, t): x is verhuurd vanaf ingangsdatum t A(x, t): x is aanwezig op ingangsdatum t. 2
Uitwerking van de zelftoets
1
a 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. b Geen formule: achter een kwantor moet één variabele staan en geen andere term. c en d: Idem dito. e Wel een formule, spreek uit: ‘Voor elke x (en) voor elke y is er een z waarvoor x plus y kleiner is dan z’.
2
a ∃x (V(x) ∧ ∀y (V(y) → x ≼ y)) b ∃x (V(x) ∧ ∀y ((V(y) ∧ x ≠ y) → ¬(x≼ y)))
3
a ∀x ∀y ∃z y + z = x: geen vrije variabelen, dus formule gesloten. b ∀y ∃z y + z = x: x is vrij, formule dus open. c ∀y ∃z y < z ∧ y > x: x en laatste voorkomen van y zijn vrij, formule derhalve open. d P(y) → ∀y ∃z y < z: eerste voorkomen van y is vrij, formule daarom open.
4
a De substituties [y2/x]∀x ∀y ∃z y + z = x en [x × y/x]∀x ∀y ∃z y + z = x hebben geen effect, want x is gebonden. De formule blijft ∀x∀y ∃z y + z = x. b De uitkomst van [y2/x]∀y ∃z y + z = x is ∀y ∃z y + z = y2. De uitkomst van [x × y/x]∀y ∃z y + z = x is ∀y ∃z y + z = x × y. c De uitkomst van [y2/x]∀y ∃z y < z ∧ y > x is ∀y ∃z y < z ∧ y > y2. De uitkomst van [x × y/x]∀y ∃z y < z ∧ y > x is ∀y ∃z y < z ∧ y > x × y. d De substituties [y2/x] en [x × y/x] hebben geen enkel effect, het resultaat blijft P(y) → ∀y ∃z y < z.
141
Open Universiteit
Logica, verzamelingen en relaties
5
a Ja, de formule is waar. Als k < m en m < n, dan zeker ook k < n, voor alle natuurlijke getallen k, m en n. b Nee, want kies maar x = 2, y = 1 en z = 0. Dan geldt 2 ≤ 1 en 1 ≤ 0, maar 2 ≰ 0. c 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 = 1 en y = z = 2 en (ii) x = y = z = 2. In beide gevallen is dan ook R(x, z) waar, zodat de implicatie waar is, welke objecten we ook voor x, y en z kiezen. d Nee, een model met twee objecten waarop de formule onwaar is, is bijvoorbeeld
FIGUUR 3.8
In dit model is er wel een pijl van 1 naar 2 en een pijl van 2 naar 1 , maar geen pijl van 1 naar zichzelf. Dus kiezen we voor x en z object 1, en voor y object 2, dan is de implicatie onwaar.
142
Terugkoppelingen
TERUGKOPPELING LEEREENHEID 4 1
Uitwerking van de opgaven
4.1
Om te bewijzen dat ∃x (P(x) ∨ Q(x)) ↔ (∃x P(x) ∨ ∃x Q(x)) waar is op alle mogelijke modellen, moeten we laten zien dat ∃x (P(x) ∨ Q(x)) en ∃x P(x) ∨ ∃x Q(x) in dezelfde modellen waar zijn. Voor een willekeurig model M geldt dat ∃x (P(x) ∨ Q(x)) waar is in M precies dan als er een object in M is waarvoor de formule P(x) ∨ Q(x) waar is, dat wil zeggen dat dit object in M ofwel de eigenschap ‘P’ ofwel de eigenschap ‘Q’ heeft. Dit laatste is precies dan het geval als in M ofwel ∃x P(x) ofwel ∃x Q(x) waar is, dus precies dan als ∃x P(x) ∨ ∃x Q(x) waar is in M.
4.2
Een model waarin (∃x P(x) ∧ ∃x ¬P(x)) → ∃x (P(x) ∧ ¬P(x)) onwaar is, moet ∃x P(x) ∧ ∃x ¬P(x) waar maken en ∃x (P(x) ∧ ¬P(x)) onwaar. Dat laatste is wel heel erg makkelijk: dat is altijd zo. Voor het eerste moet er dus een object zijn met de eigenschap ‘P’ en één zonder die eigenschap. Dus een model met twee objecten volstaat (zie figuur 4.2).
FIGUUR 4.2
4.3
a Dit is een speciaal geval van formule 4.3. b Dit is een speciaal geval van formule 4.1. c Dit is een speciaal geval van formule 4.4.
4.4
a Neem als model de natuurlijke getallen met de gewone groter-danrelatie. Dan is ∀x ∃y y > x waar, want voor elk natuurlijk getal is er een groter getal, maar ∃y y > y is onwaar: geen natuurlijk getal kan groter zijn dan zichzelf. De formule is dus onwaar op dit model. b Beschouw een willekeurig model M. Neem aan dat ∀x ∃y y > x waar is in M (anders is de formule zeker waar). Dan is er dus voor elk object van M een object dat in relatie ‘>’ staat met het eerste object. Dit geldt dus in het bijzonder ook voor het object dat aan z is toegekend, dus ook ∃y y > z is dan waar in M. Kortom, de formule ∀x ∃y y > x → ∃y y > z is waar op een willekeurig model M en is dus algemeen geldig.
4.5
a Ja, want 3 is een constante en bevat dus geen variabelen die gebonden kunnen worden. b Ja (deze is tamelijk gemeen), want x wordt niet gebonden na substitutie: het resultaat van de substitutie is namelijk gewoon de formule ∃y x ≠ y! Immers, alleen vrije variabelen worden bij substitutie vervangen. c Nee, x is niet vrij voor y in P(y) ∧ ∃x R(x, y), want de substitutie [x/y] (P(y) ∧ ∃x R(x, y)) is gelijk aan P(x) ∧ ∃x R(x, x). In deze formule wordt x in het predikaat R na substitutie gebonden en dat is volgens definitie 4.2 niet toegestaan. d Ja, vergelijk onderdeel b. e Ja, want na substitutie komt x wel binnen het bereik van een kwantor, maar dat is ∃z en die bindt x niet.
143
Open Universiteit
Logica, verzamelingen en relaties
4.6
Zoals we bij b en d van de vorige opgave gezien hebben, zou dat een zinloze conditie zijn, want alleen vrije voorkomens van x kunnen gesubstitueerd worden.
4.7
Ja, die is algemeen geldig. Dit volgt snel uit instantiatie door als te substitueren term x te nemen, want [x/x]ϕ = ϕ. Of ϕ de variabele x wel of niet (vrij) bevat, doet niet ter zake.
4.8
Neem een model met twee objecten, 0 en 1, en ken x object 0 toe. De formule voor het implicatieteken is dan waar, die erachter onwaar. De implicatie is dus onwaar in dit model.
4.9
a P(3) is gesloten, dus x komt daar niet vrij in voor en loze universele kwantificatie met voor ϕ de formule P(3) is toegestaan. b Ook ∃x P(x) is gesloten, en dus is loze universele kwantificatie toegestaan. c De variabele z komt niet vrij in ∃y P(x, y) voor, dus loze universele kwantificatie door middel van ∀z is toegestaan. d ∀x x > 0 → y > 0 is algemeen geldig vanwege instantiatie, en dus vanwege universele generalisatie ook ∀y (∀x x > 0 → y > 0). e (P(x) ∧ (P(x) → Q(x))) → Q(x) is algemeen geldig, want het is een predikaatlogische invulling van de tautologie (ϕ ∧ (ϕ → ψ)) → ψ. Universele generalisatie levert ∀x ((Px) ∧ (P(x) → Q(x))) → Q(x)).
4.10a
De afleiding van 4.13 uit de overige standaardequivalenties gaat als volgt. Stel dat x niet vrij voorkomt in ϕ of ψ, dan: ∃x ϕ ∧ ∃x ψ ⇔ ∃x ¬¬ϕ ∧ ∃x ¬¬ψ ⇔ ¬∀x ¬ϕ ∧ ¬∀x ¬ψ ⇔ ¬(∀x ¬ϕ ∨ ∀x ¬ψ) ⇔ ¬∀x (¬ϕ ∨ ¬ψ)
b
4.11
dubbele negatie dualiteit De Morgan distributiviteit: x niet vrij in ϕ of ψ (regel 4.12) ⇔ ¬∀x ¬(ϕ ∧ ψ) De Morgan ⇔ ∃x ¬¬(ϕ ∧ ψ) dualiteit ⇔ ∃x (ϕ ∧ ψ) dubbele negatie Deze equivalentie hebben we in feite in de eerste drie regels van onderdeel a al bewezen: ∃x ϕ ⇔ ∃x ¬¬ϕ dubbele negatie ⇔ ¬∀x ¬ϕ dualiteit ∃x ∀y x < y ∧ ∀y P(y) ⇔ ∃x ∀y x < y ∧ ∃x ∀y P(y) ⇔ ∃x (∀y x < y ∧ ∀y P(y)) ⇔ ∃x ∀y (x < y ∧ P(y))
144
loze existentiële kwantificatie distributiviteit: x niet vrij in ∀y P(y) (regel 4.13) distributiviteit
Terugkoppelingen
4.12
4.13
Stel dat x niet vrij in ψ voorkomt, dan: ∀x ϕ → ψ ⇔ ¬∀x ϕ ∨ ψ ⇔ ∃x ¬ϕ ∨ ψ ⇔ ∃x ¬ϕ ∨ ∃x ψ ⇔ ∃x (¬ϕ ∨ ψ) ⇔ ∃x (ϕ → ψ)
implicatie-eliminatie dualiteit loze existentiële kwantificatie distributiviteit implicatie-eliminatie
∃x ϕ → ϕ ⇔ ¬ϕ → ¬∃x ϕ ⇔ ¬ϕ → ∀x ¬ϕ
contrapositie dualiteit
Als x niet vrij is in ϕ, dan is x ook niet vrij in ¬ϕ, dus de laatste formule is algemeen geldig, maar dan is de formule op de eerste regel ook algemeen geldig. Op precies dezelfde manier volgt uit de algemeen geldigheid van ∀x ¬ϕ → ¬ϕ via (onder meer) dualiteit dat ook ϕ → ∃x ϕ algemeen geldig is (als x niet vrij is in ϕ ). 4.14
4.15
∀x ((x = a ∨ x = b) → P(x)) ⇔ ∀x (¬(x = a ∨ x = b) ∨ P(x)) ⇔ ∀x ((¬x = a ∧ ¬x = b) ∨ P(x)) ⇔ ∀x ((¬x = a ∨ P(x)) ∧ (¬x = b ∨ P(x))) ⇔ ∀x ((x = a → P(x)) ∧ (x = b → P(x))) ⇔ ∀x (x = a → P(x)) ∧ ∀x (x = b → P(x)) ⇔ P(a) ∧ P(b)
implicatie-eliminatie De Morgan ∨ distributief over ∧ implicatie-eliminatie distributiviteit equivalentie 4.17
∀x (x ≤ n → Q(x)) ⇔ ∀x ((x < n ∨ x = n) → Q(x)) ⇔ ∀x (¬(x < n ∨ x = n) ∨ Q(x)) ⇔ ∀x ((¬x < n ∧ ¬x = n) ∨ Q(x)) ⇔ ∀x ((¬x < n ∨ Q(x)) ∧ (¬x = n ∨ Q(x))) ⇔ ∀x ((x < n → Q(x)) ∧ (x = n → Q(x))) ⇔ ∀x (x < n → Q(x)) ∧ ∀x (x = n → Q(x)) ⇔ ∀x (x < n → Q(x)) ∧ Q(n)
met x ≤ n ⇔ x < n ∨ x = n implicatie-eliminatie De Morgan ∨ distributief over ∧ implicatie-eliminatie distributiviteit equivalentie 4.17
4.16
a ∃y R(x, y) ⇔ ∃z R(x, z) en [y / x]∃z R(x, z) geeft ∃z R(y, z). b (P(y) ∧ ∃x R(x, y)) ⇔ (P(y) ∧ ∃z R(z, y)) en [x / y](P(y) ∧ ∃z R(z, y)) geeft P(x) ∧ ∃z R(z, x)).
4.17
∃x P(x) → ¬∀y Q(y) ⇔ ¬∃x P(x) ∨ ¬∀y Q(y) ⇔ ¬(∃x P(x) ∧ ∀y Q(y)) ⇔ ¬(∀y ∃x P(x) ∧ ∀y Q(y)) ⇔ ¬∀y (∃x P(x) ∧ Q(y)) ⇔ ¬∀y (∃x P(x) ∧ ∃x Q(y)) ⇔ ¬∀y ∃x (P(x) ∧ Q(y)) ⇔ ∃y ¬∃x (P(x) ∧ Q(y)) ⇔ ∃y ∀x ¬(P(x) ∧ Q(y))
145
implicatie-eliminatie De Morgan loze kwantificatie ∀ distributief over ∧ loze kwantificatie ∃ distributief over ∧: x niet vrij in Q(y) dualiteit dualiteit
Open Universiteit
Logica, verzamelingen en relaties
4.18
Voor de liefhebbers staan diverse wegen open: (we doen om ruimte te besparen meerdere stappen op 1 regel)
∃x P(x) ↔ ∃x ∀y R(x, y) ⇔ (∃x P(x) ∧ ∃x ∀y R(x, y)) ∨ (¬∃x P(x) ∧ ¬∃x ∀y R(x, y)) ⇔ (∃z ∃x P(x) ∧ ∃z ∀y R(z, y)) ∨ ¬(∃x P(x) ∨ ∃x ∀y R(x, y)) ⇔ ∃z (∃x P(x) ∧ ∀y R(z, y)) ∨ ¬∃x (P(x) ∨ ∀y R(x, y)) ⇔ ∃z (∀y ∃x P(x) ∧ ∀y R(z, y)) ∨ ¬∃x (∀y P(x) ∨ ∀y R(x, y)) ⇔ ∃z ∀y (∃x P(x) ∧ R(z, y)) ∨ ¬∃x ∀y (P(x) ∨ R(x, y)) ⇔ ∃z ∀y (∃x P(x) ∧ ∃x R(z, y)) ∨ ∀x ¬∀y (P(x) ∨ R(x, y)) ⇔ ∃z ∀y ∃x (P(x) ∧ R(z, y)) ∨ ∀x ¬∀y (P(x) ∨ R(x, y)) ⇔ ∃z ∀y ∃x (P(x) ∧ R(z, y)) ∨ ∃z ∀x ¬∀y (P(x) ∨ R(x, y)) ⇔ ∃z (∀y ∃x (P(x) ∧ R(z, y)) ∨ ∀x ∃y ¬(P(x) ∨ R(x, y))) ⇔ ∃z (∀v ∀y ∃x (P(x) ∧ R(z, y)) ∨ ∀v ∃y ¬(P(v) ∨ R(v, y))) ⇔ ∃z ∀v (∀y ∃x (P(x) ∧ R(z, y)) ∨ ∃y ¬(P(v) ∨ R(v, y))) ⇔ ∃z ∀v (∀u ∃x (P(x) ∧ R(z, u)) ∨ ∀u ∃y ¬(P(v) ∨ R(v, y))) ⇔ ∃z ∀v ∀u (∃y (P(y) ∧ R(z, u)) ∨ ∃y ¬(P(v) ∨ R(v, y))) ⇔ ∃z ∀v ∀u ∃y ((P(y) ∧ R(z, u)) ∨ ¬(P(v) ∨ R(v, y)))
equivalentie-eliminatie loze kwantificatie; herbenoemen; De Morgan z niet vrij in ∃x P(x); distributiviteit twee maal loze kwantificatie distributiviteit; y niet vrij in P(x) loze kwantificatie; dualiteit x niet vrij in R(z, y); distributiviteit loze kwantificatie distributiviteit; dualiteit loze kwantificatie; herbenoemen v niet vrij in ∀y ∃x (P(x) ∧ R(z, y)); distributiviteit herbenoemen; loze kwantificatie u niet vrij in ∃y ¬(P(v) ∨ R(v, y)); distributiviteit; herbenoemen distributiviteit
4.19
Stel M is een willekeurig model dat ∀x P(x) ∨ ∀x Q(x) waar maakt. Dan is of ∀x P(x) waar, of ∀x Q(x) is waar, of beide. We beschouwen verder alleen het eerste geval (de andere gaan net zo). Dus P(x) is waar voor alle objecten in M, maar dan is P(x) ∨ Q(x) zeker waar voor alle objecten in M, en daarom is ∀x (P(x) ∨ Q(x)) waar in M.
4.20
a In voorbeeld 4.4 is in feite al bewezen (zelfs met behulp van twee verschillende modellen) dat ∀x (P(x) ∨ Q(x)) ⇏∀x P(x) ∨ ∀x Q(x). b Om met modellen te bewijzen dat ∀x (P(x) ∨ Q(y)) ⇒ ∀x P(x) ∨ ∀x Q(y), nemen we een model dat ∀x (P(x) ∨ Q(y)) waar maakt. We moeten dan aantonen dat ook ∀x P(x) ∨ ∀x Q(y) waar is. Als ∀x P(x) waar is, zijn we klaar. Als ∀x P(x) onwaar is, dan is er een object dat niet eigenschap P heeft. Maar omdat P(x) ∨ Q(y) waar is voor dit object, volgt er dat Q(y) waar is in het model. Dan is ook ∀x Q(y) waar en daarmee dus ∀x P(x) ∨ ∀x Q(y) waar, wat we moesten bewijzen.
4.21
Bijvoorbeeld ∀x (P(x) ∨ ¬P(x)) ⇏ ∀x P(x) ∨ ∀x ¬P(x): het twee-objectenmodel uit opgave 4.2 levert ook hiervoor het tegenvoorbeeld. We kunnen ook de uitwerking van opgave 4.20a gebruiken als tegenvoorbeeld.
4.22
a Instantiatie: 1000000000 is een constante en dus zeker vrij voor x in N(x) → ∃z (P(z) ∧ z > x). b Instantiatie: y 2 is vrij voor x in x ≤ y, want y wordt na substitutie niet gebonden. c Existentiële generalisatie: 2859433 – 1 is vrij voor x in P(x) ∧ x > 10258716.
4.23
(Zie de aanwijzing voor motivering.) Kies voor ϕ de formule ∀y x = y en voor t de variabele y. Merk op dat ∀y y = y ⇏ ∃x ∀y x = y: ieder model met twee objecten vormt een tegenvoorbeeld.
146
Terugkoppelingen
4.24
Het model uit figuur 4.3 maakt ∀y ∃x R(x, y) waar en ∃x ∀y R(x, y) onwaar. Denk bij zo’n model eventueel aan ‘Iedereen houdt van iemand, maar niemand houdt van iedereen’.
FIGUUR 4.3
4.25
Volgens {ϕ} x := t {[t/x]ϕ} krijgen we (vanuit de beginspecificatie) in het eerste geval {x = a} x := x + 1 {x + 1 = a} en in het tweede geval {x = a} x := 3 {3 = a}. Het eerste is fout omdat x + 1 = a ⇔ x = a – 1, dus dan zou de waarde van x juist verminderd zijn, het tweede klopt niet omdat de specificatie a = 3 niet alleen onjuist kan zijn, maar ook geen informatie over x meer bevat. 2
Uitwerking van de zelftoets
1
Laat ϕ de formule x = y zijn. Dan geldt ∃x x = y ⇏x = y: we kunnen een model maken waarin (voor de vrije variabelen!) x = 1 en y = 2. Daarin is ∃x x = y nog steeds waar (er is zeker een object gelijk aan 2), maar x = y is dan onwaar.
2
a De dualiteitsregels zijn de equivalenties ¬∃x ϕ ⇔ ∀x ¬ϕ en ¬∀x ϕ ⇔ ∃x ¬ϕ. Distributiviteit van ∀ over ∧ is: ∀x (ϕ ∧ ψ) ⇔ (∀x ϕ ∧ ∀x ψ). b
E(2) ∧ P(2) ∧ ¬∃x (x ≠ 2 ∧ E(x) ∧ P(x)) ⇔ E(2) ∧ P(2) ∧ ∀x ¬(x ≠ 2 ∧ E(x) ∧ P(x)) ⇔ E(2) ∧ P(2) ∧ ∀x (x = 2 ∨ ¬(E(x) ∧ P(x))) ⇔ ∀x (x = 2 → (E(x) ∧ P(x)) ∧ ∀x (x = 2 ∨ ¬(E(x) ∧ P(x)))) ⇔ ∀x ((x = 2 → (E(x) ∧ P(x)) ∧ (x = 2 ∨ ¬(E(x) ∧ P(x)))) ⇔ ∀x ((¬x = 2 ∨ (E(x) ∧ P(x)) ∧ (x = 2 ∨ ¬(E(x) ∧ P(x)))) ⇔ ∀x ((¬x = 2 ∧ x = 2) ∨ (¬x = 2 ∧ ¬(E(x) ∧ P(x))) ∨ (x = 2 ∧ (E(x) ∧ P(x))) ∨ ((E(x) ∧ P(x)) ∧ ¬(E(x) ∧ P(x)))) ⇔ ∀x ((¬x = 2 ∧ ¬(E(x) ∧ P(x))) ∨ (x = 2 ∧ (E(x) ∧ P(x)))) ⇔ ∀x ((E(x) ∧ P(x)) ↔ x = 2) 3
dualiteit De Morgan gegeven equivalentie distributiviteit implicatie-eliminatie ∧ distributief over ∨ ⊥-regels commutativiteit; equivalentie-eliminatie
Het kan op diverse manieren, bijvoorbeeld: ∀x x ≥ 0 → ∀y ∃x (y > x ∧ P(x)) ⇔ ¬∀x x ≥ 0 ∨ ∀y ∃x (y > x ∧ P(x)) ⇔ ∀y ¬∀x x ≥ 0 ∨ ∀y ∃x (y > x ∧ P(x)) ⇔ ∀y (¬∀x x ≥ 0 ∨ ∃x (y > x ∧ P(x))) ⇔ ∀y (∃x ¬x ≥ 0 ∨ ∃x (y > x ∧ P(x))) ⇔ ∀y ∃x (¬x ≥ 0 ∨ (y > x ∧ P(x)))
147
implicatie-eliminatie loze kwantificatie distributief: y niet vrij in ∀x x ≥ 0 dualiteit distributiviteit
Open Universiteit
Logica, verzamelingen en relaties
4
∀x ((α1 ∧ ... ∧ αm) → ⊥) ⇔ ∀x (¬(α1 ∧ ... ∧ αm) ∨ ⊥) ⇔ ∀x ((¬α1 ∨ ... ∨ ¬αm) ∨ ⊥) ⇔ ∀x (¬α1 ∨ ... ∨ ¬αm)
5
a Om te bewijzen dat ∃x (P(x) ∧ Q(x)) → ∃x P(x) ∧ ∃x Q(x) algemeen geldig is, beschouwen we een willekeurig model M. Is ∃x (P(x) ∧ Q(x)) onwaar in M, dan is de hele formule zeker waar in M. Neem dus aan dat ∃x (P(x) ∧ Q(x)) waar is. Dan is er een object in M, waarvoor zowel P(x) als Q(x) waar is, met andere woorden: er is een object waarvoor P(x) waar is en er is een object, namelijk hetzelfde, waarvoor Q(x) waar is, ofwel: ∃x P(x) ∧ ∃x Q(x) is waar. Ook in dit geval is nu de hele formule waar. De formule is dus algemeen geldig. b Voor het gemak schrijven we ϕ voor P(x) en ψ voor Q(x). ∃x (ϕ ∧ ψ) ⇔ ∃x ¬¬(ϕ ∧ ψ) ⇔ ¬∀x ¬(ϕ ∧ ψ) ⇔ ¬∀x (¬ϕ ∨ ¬ψ)
implicatie-eliminatie De Morgan (herhaald) ⊥-regel
dubbele negatie dualiteit De Morgan
Nu geldt dat ∀x ¬ϕ ∨ ∀x ¬ψ ⇒ ∀x (¬ϕ ∨ ¬ψ) (het standaardgevolg 4.18 – gedeeltelijke distributiviteit – toegepast op ¬ϕ en ¬ψ), dus met contrapositie krijgen we dat ¬∀x (¬ϕ ∨ ¬ψ) ⇒ ¬(∀x ¬ϕ ∨ ∀x ¬ψ). Dus: ∃x (ϕ ∧ ψ) ⇒ ¬(∀x ¬ϕ ∨ ∀x ¬ψ) ⇔ ¬∀x ¬ϕ ∧ ¬∀x ¬ψ ⇔ ¬¬∃x ϕ ∧ ¬¬∃x ψ ⇔ ∃x ϕ ∧ ∃x ψ
148
De Morgan dualiteit dubbele negatie
Bijlage
Symbolenlijst
symbool
betekenis
« □ {...} {xP(x)} {x AP(x)}
einde voorbeeld einde bewijs is element van is geen element van expliciete definitie van een verzameling impliciete definitie van een verzameling impliciete definitie van verzameling van elementen uit verzameling A aantal elementen van verzameling V indexnotatie met index i universum van verzamelingen gelijkteken ongelijkteken lege verzameling verzameling van de natuurlijke getallen verzameling van de gehele getallen verzameling van de gehele positieve getallen verzameling van de gehele negatieve getallen verzameling van de rationale getallen verzameling van de rationale positieve getallen verzameling van de rationale negatieve getallen verzameling van de reële getallen verzameling van de reële positieve getallen verzameling van de reële negatieve getallen is deelverzameling van doorsnede vereniging complement van de verzameling A is groter dan is kleiner dan is groter dan of gelijk aan is kleiner dan of gelijk aan (logische) en, conjunctieteken (logische) of, disjunctieteken is deler van
V Pi, ai U = Ø
+ –
+ –
+ –
Ac > < ≥ ≤
symbool
betekenis
ggd kgv G = (V, E)
grootste gemene deler kleinste gemene veelvoud graaf G met puntenverzameling V en lijnenverzameling E gerichte graaf D met puntenverzameling V en pijlenverzameling A graad van punt v uitgraad van u ingraad van u wandeling in graaf doorsnede van verzamelingen Ai vereniging van verzamelingen Ai machtsverzameling van de verzameling A symmetrisch verschil absolute waarde van x n-tupel het paar (x, y) behoort tot de relatie R het paar (x, y) behoort niet tot de relatie R f is een functie van A naar B aan x wordt f(x) toegevoegd functie van n variabelen samenstelling van de functies f en g samenstelling van n functies f inverse functies van f van B naar A identieke functie op A cartesisch product van A en B cartesisch product , ‘het platte vlak’ cartesisch product , ‘de ruimte’ cartesisch product van n verzamelingen faculteit som van variabelen xi product van variabelen xi Fibonacci-getal toekenningsopdracht: definitiesymbool negatieteken implicatieteken equivalentieteken niet beide noch logische equivalentie verum falsum logisch gevolg
D = (V, A) d(v) d+(u) d–(u) v0 v1 v2 i I A i i I A i P(A) x (a1, a2, ..., an) xRy x Ry f: A B x f(x) f: n fg fn f–1: B A 1A AB 2 3 n ! i I x i iI x i Fn := nand nor ⊤ ⊥
symbool
betekenis
P(x1, x1, ..., xn) [t/v] ⊓ ⊔ 1 0 D(n) a Rn R+ R* ST [x]R V/R PL ⊑ ⊏ ≤* sup(A) inf(A)
n-plaatsig predikaatsymbool universele kwantor existentiële kwantor substitutie van v in door t binaire verzamelingsoperatie dakje binaire verzamelingsoperatie bakje één-element nul-element verzameling van delers van n complement van a in Boole-algebra n-de macht van relatie R transitieve afsluiting van relatie R reflexieve afsluiting van relatie R samenstelling van relaties equivalentieklasse van x in relatie R quotiënt van equivalentierelatie R in verzameling V verzameling propositielogische formules gaat vooraf aan (partiële ordening) irreflexieve variant van relatie u lexicografische ordening supremum van verzameling A infimum van verzameling A
Bijlage
Grieks alfabet
kleine letter
hoofdletter
uitspraak
k ,
K
alfa bèta gamma delta epsilon zèta èta thèta iota kappa lambda mu nu ksi omicron pi rho sigma tau upsilon phi chi psi omega
Register
Absolute waarde II: 90 Absorptie I: 44 Absorptie voor doorsnede en vereniging II: 21 Afbeelding II: 87 Algemeen geldig I: 88 Al-kwantor I: 65 Antisymmetrie II: 109 Antisymmetrisch II: 128 Argument II: 87 Assenstelsel II: 75 Associativiteit I: 43 Associativiteit van doorsnede en vereniging II: 16 Atomaire formule I: 71 Axioma II: 38 Backus-Naur form III: 22 Bakje II: 37 Basis III: 12 Bedrijfsregels I: 81 Beeld II: 89 Beginpunt II: 59 Bereik I: 21 Bereik of waardenverzameling II: 89 Besliskunde II: 52 Bewijs met volledige inductie III: 40 Bijectie II: 94 Bijectief II: 94 Binaire relatie II: 79 Binaire relatie II: 106 Boole, G. II: 43 Boolealgebra II: 42 Bovengrens II: 137 Buur II: 54 Cartesisch product II: 74 Cirkelschijf II: 78 Commutativiteit I: 42 Commutativiteit van doorsnede en vereniging II: 15 Complement II: 10, 41, 139 Complementregels II: 23 Component II: 59, 67 Conclusie I: 53 Conjunct I: 17 Conjunctie I: 17 Conjunctieteken I: 17 Conjunctieve normaalvorm I: 50 Connectief I: 18 Constante I: 63 Constante functie II: 95 Constante rij II: 95 Contingentie I: 38 Continu II: 88
Contradictie I: 37 Coördinaat II: 73 Correctheidsbewering Cykel II: 61
I: 80
Dakje II: 37 Dan en slechts dan als I: 18 De Morgan II: 43 Deelformule I: 20, 72 Deelverzamelingen II: 51 Delerrelatie II: 110 Desda I: 18, 28 Differentievergelijking III: 28 Disjunct I: 17 Disjunctie I: 17 Disjunctieteken I: 17 Disjunctieve normaalvorm I: 47 Distributiviteit I: 44, 90, 95 Distributiviteit van doorsnede en vereniging II: 20 Domein of definitiegebied II: 89 Doorsnede II: 10 Driehoeksgetallen III: 9, 23 Dualiteit I: 95 Dubbel complement II: 23, 44 Dubbele negatie I: 45 Dubbele pijl II: 64 Een II: 137 Een-eenduidig II: 93 Eénelement II: 22, 40 Een-op-een II: 93 Eenplaatsig I: 64 Eerste term a III: 23, 26 Eindige meetkundige reeks III: 26 Eindige rekenkundige reeks III: 23 Eindpunt II: 55, 59 Equivalentie I: 18 Equivalentie-eliminatie I: 46 Equivalentieklasse II: 119 Equivalentierelatie II: 116 Equivalentieteken I: 18 Existentiële generalisatie I: 98, 103 Existentiële kwantor I: 66 Expliciete formule III: 18 Faculteit III: 18 Falsum I: 42 Formule I: 19 Formule van de predikaatlogica I: 71 Formule van de propositielogica I: 20 Formule voor een eindige meetkundige reeks III: 27 Formule voor een eindige rekenkundige reeks III: 25
154
Formule voor sn III: 24 Functie II: 86 Functie van één variabele II: 91 Functie van n variabelen II: 91 Functiesymbool I: 68 Functievoorschrift II: 87 ‘gaat vooraf aan’ II: 129 Gebonden variabele I: 73 Gedeeltelijke distributiviteit I: 102 Geïsoleerd punt II: 55 Geordend paar II: 73 Gericht pad II: 67 Gerichte cykel II: 67 Gerichte graaf II: 64, 85 (Gerichte) lus II: 64 Gerichte wandeling II: 66 Gesloten formule I: 73 Gesloten wandeling II: 59 Graad II: 55 Graad d(u) II: 65 Graaf II: 53, 85 Graaf van een relatie II: 83 Grafiek II: 88 Grafiek van de inverse II: 98 Grootste element II: 136 Hassediagram II: 133 Herbenoemen gebonden variabele 99 Hoofdkolom I: 37 Hornclausule I: 106 iat-relatie II: 129 Idempotentie I: 44; II: 44 Idempotentie van doorsnede en vereniging II: 14 Identieke functie II: 96 Identiteit II: 96 Implicatie I: 18 Implicatie-eliminatie I: 46 Implicatieteken I: 18 In relatie staan met II: 80 Incident II: 54 Incidentie II: 54 Indexnotatie II: 18 Indexverzameling II: 17 Inductiehypothese III: 40 Inductiestap III: 12, 13 Inductieve definitie III: 13 Inductieve definitie van N III: 12 Infimum II: 138 Ingraad d–(u) II: 65 Injectie II: 93 Injectief II: 93
I:
Instantiatie I: 93, 103 Inverse II: 97 Inverse functie II: 97 Invoer II: 87 Irreflexief II: 108, 129 Iteratie III: 28 Kleinste element II: 136 Koningsbergen II: 56 Kop II: 64 Kwantorbereik I: 72 Lege relatie II: 79 Lengte van een gerichte wandeling II: 66 Lengte van een wandeling II: 58 Leonhard Euler II: 57 Lexicografische ordening II: 130 Lijn II: 53, 78 Lijnenverzameling II: 53 Lineaire ordening II: 130 Logica I: 13 Logisch equivalent I: 40, 95 Logisch gevolg I: 53, 101 Logistiek II: 52 Loze kwantificatie I: 95 Loze universele kwantificatie I: 93 Lus II: 64, 84 Machten van een relatie II: 112 Machtsverzameling II: 13 Materiële equivalentie I: 41 Maximaal element II: 135 Meetkundige rij III: 26 Minimaal element II: 135 Model I: 77 Natuurlijke getallen III: 11 Negatie I: 17 Negatieteken I: 17 NIET-poort II: 30 n-kubus II: 134 Normaalvorm I: 47 Normaliseren I: 47 n-plaatsig I: 64 n-Tupel II: 73 Nul II: 137 Nulelement II: 22, 40 OF-poort II: 31 Omkeerprobleem II: 96 Ondergrens II: 137 Ongerichte wandeling II: 66 Onsamenhangend II: 59
Onsamenhangende gerichte graaf II: 67 Onvergelijkbaar II: 130 Op II: 92 Open formule I: 73 Open wandeling II: 59 Opvolger II: 132 Origineel II: 89 Paar II: 73 Pad II: 60 Pad tussen u en v II: 61 Partieel geordende verzameling II: 129 Partiële functie II: 95 Partiële ordening II: 129 Partitie II: 117 Peirce I: 29 Pijl II: 64 Predikaatsymbool I: 63 Prenexe normaalvorm I: 100 Principe van de uitgesloten derde I: 39 Productteken III: 20 Prolog I: 51 Propositieletter I: 18 Punt II: 53 Puntenverzameling II: 53 Quine I: 30 Quotiënt II: 122 rat-relatie II: 129 Recurrente betrekking III: 28 Recurrentie III: 28 Recursieve definitie III: 18 Recursieve definitie van som III: 20 Reden r III: 26 Reflexief II: 108, 129 Reflexieve transitieve afsluiting II: 114 Rekenkundige rij III: 23 Relatie II: 79 Relatie in A II: 79 Relatie van A naar B II: 79 Representant II: 120 Resolutie I: 107 Rij II: 90 Rij van Fibonacci III: 28 Rooster II: 75 Samengestelde formule I: 71 Samenhangend II: 59, 67 Samenstelling II: 99 Schakelalgebra II: 35
155
Semantiek I: 22 Sheffer I: 29 Sommatieindex III: 20 Somteken III: 19 Staart II: 64 Stamboom II: 51 Standaardtautologie I: 38 Startwaarde(n) III: 18 Sterk samenhangend II: 67 Strikte partiële ordening II: 129 String II: 130 Substitutie I: 74 Supremum II: 138 Surjectie II: 92 Surjectief II: 92 Symmetrie II: 109 Symmetrisch verschil II: 15 Syntaxis I: 22 Tarski I: 22 Tautologie I: 37 Tegenvoorbeeld I: 89 Term I: 70 Termen II: 90 Toekenningsregel I: 105 Toevoegen aan II: 84 Totale ordening II: 130 Transitief II: 128 Transitieve afsluiting II: 114 Transitiviteit II: 109 Tweeplaatsig I: 64 Uiteinde II: 54 Uitgangspunt I: 53 Uitgraad d+(u) II: 65 Uitsluiting III: 12, 13 Uitvoer II: 87 Universele generalisatie I: 94 Universele kwantor I: 65 Universele relatie II: 79 Variabele I: 64 Verbinden II: 54 Vereniging II: 10 Vergelijkbaar II: 130 Verschil II: 11 Verschil v III: 23 Vertaalsleutel I: 63 Verum I: 42 Verzamelingenalgebra II: 9 Volledig origineel II: 89 Voorganger II: 132 Voorouder-nakomeling-relatie Vrij voor I: 92 Vrije variabele I: 73
II: 128
Waardering I: 37 Waarheidsfunctioneel I: 16 Waarheidstabel I: 22 Waarheidswaarde I: 15 Wandeling II: 58 Wetten van De Morgan I: 45; II: 24 Wortelfunctie II: 92 Zwak samenhangend Zwarte doos II: 87
II: 67
156