TU/e
Mike Boldy en Hans Cuypers

Formules

Met proposities die slechts met een letter voor stelt kun je niet veel anders doen dan ze samen stellen tot nieuwe proposities. Dat samenstellen gebeurt met operatoren die logische connectieven worden genoemd. Een voorbeeld is ``en'', die wordt genoteerd mer het symbool \wedge. Definieer bijvoorbeeld de proposities

p\colon\text{``een koe is een zoogdier''}
en
q\colon\text{``een kat is een geleedpotige''},
dan kun je de uitspraak ``een koe is een zoogdier en een kat is een geleedpotige'' ook opschrijven als
p\wedge q.
Op deze manier maak je een nieuwe propositie, die de vorm heeft van een formule.

Definitie

Op de volgende pagina hebben we het over de logische betekenis van de connectieven. Hier behandelen we alleen de vorm van de formules. Want niet alles wat je opschrijft is een geldige formule. Een uitdrukking als

p\wedge\vee q\neg
is geen formule. Er bestaan manieren om precies te definiëren welke formules geldig zijn, wij volstaan met een aantal richtlijnen.

In de formule p\wedge q\vee r is het niet duidelijk of er p\wedge(q\vee r) of (p\wedge)q\vee r wordt bedoeld. Om een keuze vast te leggen kun je haakjes gebruiken, maar je kunt hier ook afspraken over maken. Dergelijke afspraken heten prioriteitsregels. Er bestaan meerdere afspraken over de prioriteitsregels, wij hanteren \modeswitch{print=in dit boek,pdf=in dit document,html=op deze pagina's} de volgende regels:

Op het eerste gezicht lijkt het vreemd om \wedge en \vee dezelfde prioriteit te geven, maar deze connectieven zijn in zekere zin gelijkwaardig. Kijk bijvoorbeeld naar de logische wetten.

Opmerking

Net zoals je proposities voorstelt met één enkele letter, kun je hele formules met een letter voorstellen, dus bijvoorbeeld

r=p\wedge q
Als p de bewering ``een koe is een zoogdier'' voorstelt en q de bewering ``een kat is een geleedpotige'', dan stelt r de bewering ``een koe is een zoogdier en een kat is een geleedpotige'' voor.

In sommige boeken maakt en onderscheid tussen formules en atomaire proposities, en schrijft men

r\Leftrightarrow p\wedge q.
Dit is alleen zinvol als je de formele definitie van logische formules begrijpt. Wij zullen dit onderscheid niet maken.

Opmerking

Volgens de regels die wij hanteren hebben \wedge en \vee gelijke prioriteit. De formule p\wedge q\vee r is dan ook geen geldige formule. Slechts door haakjes te gebruiken wordt het duidelijk hoe de prioriteit is vastgelegd.

In de formule p\wedge q\wedge r ontbreken de haakjes ook, maar bij deze formule is iets bijzonders aan de hand. De logische betekenis van (p\wedge q)\wedge r en p\wedge(q\wedge r) zijn namelijk gelijk. In dat geval is het toegestaan om de haakjes weg te laten. We komen hierop nog terug als we de logische wetten bespreken.

Opmerking

In sommige boeken worden binaire connectieven standaard voorzien van haken. Je schrijft dus altijd (p\wedge q). Het is in dat geval niet nodig prioriteitsregels af te spreken. Wel worden lange formules lastig leesbaar:

((\neg p\wedge q)\vee(p\wedge\neg q))

Opmerking

Toch kunnen extra haakjes de leesbaarheid vergroten. In de formule

p\rightarrow q\leftrightarrow\neg p\vee q
zie je niet direct welke proposities bij welke connectieven horen. De formule
(p\rightarrow q)\leftrightarrow(\neg p\vee q)
betekent hetzelfde, maar is beter in één oogopslag te lezen.

Opmerking

Omdat de symbolen \wedge en \vee niet op het toetsenbord voorkomen gebruikt men in computertalen andere symbolen. Soms worden woorden gebruikt, al dan niet in hoofdletters: {\tt NOT}, {\tt AND} en {\tt OR} (bijvoorbeeld FORTRAN, Algol 68, Pascal). Soms worden speciale symbolen gebruikt: ! in plaats van \neg, && in plaats van \wedge en || in plaats van \vee (bijvoorbeeld Java, C, C++, PHP).