Deel I: Modale Logica i Contents Inleiding 1 Modale logica: basisbegrippen 1.1 basisdefinities . . . . . . . . . 1.2 karakteriseerbaarheid . . . . . 1.3 bisimulaties . . . . . . . . . . 1.4 Opgaven . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 8 10 14 2 Temporele logica 2.1 inleiding . . . . . . . . . . . . . . . . . . 2.2 bijzondere klassen van temporele frames 2.2.1 lineaire vs vertakkende tijd . . . 2.2.2 dichte vs dicrete tijd . . . . . . . 2.2.3 bijzondere structuren . . . . . . . 2.3 alternatieve temporele talen . . . . . . . 2.4 computationele temporele logica . . . . 2.5 Opgaven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 19 19 20 21 22 23 27 3 Epistemische logica 3.1 inleiding . . . . . . . . . . . . . . . . . . 3.2 axiomatiek: het systeem K . . . . . . . 3.3 axiomatiek: de systemen T , S4 en S5 . 3.4 semantiek van de epistemische logica . . 3.5 algemene en gemeenschappelijke kennis 3.6 Opgaven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 32 35 38 43 47 A Eigenschappen van tweeplaatsige relaties 50 Inleiding / 1 Inleiding In de jaren twintig van deze eeuw is de symbolische modale logica ontwikkeld binnen de filosofie, via een uitbreiding van de klassieke (propositionele of predicaatlogische) talen met operatoren ‘2’ en 3’ die verwijzen naar de noodzakelijkheid resp. mogelijkheid van de waarheid van een formule. Aanvankelijk werd zulke modale talen alleen vanuit een syntactisch perspectief bestudeerd; door Lewis werden bijvoorbeeld verschillende axiomatische systemen ontwikkeld, waarvan twee nu nog voortleven onder de door hem gegeven namen S4 en S5. Pas na de introductie door Kripke en anderen van de zogenaamde ‘mogelijke werelden semantiek’ heeft het onderzoek naar de modale logica een grote vlucht genomen. Daarbij is ook het toepassingsgebied van de modale logica steeds verder verruimd, aanvankelijk nog alleen binnen de filosofische logica (bijvoorbeeld in Hintikka’s epistemische logica of Prior’s tijdslogica). Tegenwoordig worden modale talen in diverse disciplines toegepast als eenvoudige maar expressieve formalismes voor het beschrijven van van alles en nog wat. We noemen hier de volgende voorbeelden: filosofie: modale logica (in engere zin), deontische logica, epistemische logica informatica temporele logica, dynamische logica, epistemische logica taalkunde tijdslogica, attribute value structures wiskunde bewijsbaarheidslogica, relatie algebra’s Aangezien de kunstmatige intelligentie nauw verbonden is aan deze disciplines, zal het geen verbazing wekken dat bijna alle genoemde takken van modale logica ook binnen de AI veel worden gebruikt. Overzicht De eerste paragraaf behandelt de basisdefinities uit de modale logica. Vervolgens bespreken we een vorm van modale logica die zowel binnen de informatica als binnen de kunstmatige intelligentie een belangrijke rol speelt bij het formaliseren van het begrip ‘tijd’, namelijk de temporele logica. Als tweede voorbeeld gaan we nader in op epistemische logica’s; dit zijn formalismes die ons kunnen helpen bij het bestuderen van het begrip kennis. Literatuur Als u geı̈nteresseerd bent geraakt in de modale logica en wat meer wilt lezen, zijn hier wat suggesties voor literatuur: algemeen : 1 D.M. Gabbay and F. Guenthner (eds.), Handbook of Philosophical Logic, vol II (Nonclassical Logics), Reidel, Dordrecht, 1984. 2 R. Goldblatt, Logics of Time and Computation, CSLI Lecture Notes 7, Stanford, 1987. 3 P. Blackburn, M. de Rijke & Y. Venema, Modal Logic. A Textbook, manuscript, (te verkrijgen bij de laatste auteur). Inleiding / 2 temporele logica : 1 J. van Benthem, The Logic of Time, Reidel, Dordrecht, 1983. (2nd edition, 1992). 2 D.M. Gabbay, I. Hodkinson & M. Reynolds, Temporal Logic. Mathematical Foundations and Computational Aspects, Oxford University Press, 1994. 3 Z. Manna & A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems, Springer-Verlag, 1991. epistemische logica : 1 J.-J. Ch. Meyer & W. van der Hoek, Epistemic Logic for AI and Computer Science, te verschijnen bij Cambridge University Press, 1994. (eerdere versies verschenen als VU-syllabus Toegepaste Logica. 2 R. Fagin, J.Y. Halpern, Y.O. Moses and M.Y. Vardi, Reasoning about knowledge, MIT Press, 1995. Modale logica: basisbegrippen/ 3 1 Modale logica: basisbegrippen In deze paragraaf definiëren we enkele basisbegrippen uit de modale logica: 1. haar syntax en (Kripke-)semantiek 2. het karakteriseren van frame klasses 3. de notie van een bisimulatie tussen twee modellen. 1.1 basisdefinities Definitie 1.1 [syntax] De basistaal van de modale propositielogica is die van de gewone propositielogica, uitgebreid met een éénplaatsige operator 3 (‘ruitje’, Engels: ‘diamond’). Met andere woorden, gegeven een verzameling VAR = {p0 , p1 , . . .} van propositionele variabelen, wordt de verzameling Mfor van modale formules inductief als volgt gedefinieerd: 1. de propositionele variabelen zijn de atomaire formules, 2. als ϕ0 en ϕ1 modale formules zijn, dan ook ¬ϕ0 en ϕ0 ∧ ϕ1 , 3. als ϕ een modale formule is, dan ook 3ϕ. Als afkortingen zullen we ook de boolese connectieven ∨, → en ↔, en de constantes ⊥ en > gebruiken — ϕ ∨ ψ staat voor ¬(¬ϕ ∧ ¬ψ), ⊥ voor p0 ∧ ¬p0 , enzovoort. Daarnaast gebruiken we ook de modale operator 2 (‘blokje’, Engels: ‘box’), met de volgende definitie: 2ϕ ≡ ¬3¬ϕ. Als bindingsconventie spreken we af dat unaire operatoren het sterkst binden, en ∨ en ∧ sterker dan → en ↔. In plaats van ((2p) ∧ q) → (¬p) kunnen we nu korter schrijven: 2p ∧ q → p. In de loop van dit hoofdstuk zullen we variëren op dit basisformalisme door modale talen te bestuderen met meerdere ruitjes, en andere operatoren. Conventie 1.2 Om het verschil met de modale logica aan te geven, zullen we de term ‘klassiek’ gebruiken voor noties uit de gewone propositielogica. We gebruiken bijvoorbeeld de term ‘formule’ voor modale formules (of in de volgende paragraaf, voor temporele formules, enzovoort), en de term ‘klassieke (propositionele) formule voor formules die opgebouwd zijn met behulp van alleen de boolese connectieven. De oorspronkelijke betekenis van de operatoren 3 en 2 was: mogelijk geldt ϕ voor 3ϕ noodzakelijk geldt ϕ voor 2ϕ. De afgelopen dertig jaar echter zijn er vele alternatieve interpretaties ontwikkeld voor modale talen — in de volgende paragrafen zullen we een tweetal voorbeelden in detail bespreken. Laten we eerst de semantiek van de modale logica behandelen; de hoofdrol is weggelegd voor een specifieke klasse van relationele structuren die we frames noemen. Modale logica: basisbegrippen/ 4 Definitie 1.3 [frames] Een frame is een relationele structuur F = (W, R), waarbij W een verzameling is en R een tweeplaatsige relatie op W . W heet het domein of het universum van het frame, en R de toegankelijkheids- of bereikbaarheidsrelatie, of soms gewoon: de relatie. Elementen van W zullen we toestanden, punten of soms: mogelijke werelden noemen. Als voor twee punten s en t van een frame geldt dat Rst, dan noemen we t wel een opvolger van s. Conventie 1.4 We zullen vaak gebruik maken van tekeningetjes om frames te beschrijven. Zulke tekeningetjes hebben de vorm van grafen, waarin de toestanden van het frame worden gerepresenteerd door stippen; twee van zulke stippen worden onderling verbonden door een pijl als het paar van toestanden dat ze representeren in de bereikbaarheidsrelatie staat. In specifieke toepassingsgebieden fungeren frames als een abstract model van een deel van de werkelijkheid. In de volgende paragraaf bijvoorbeeld vormen frames een abstracte representatie van het begrip ‘tijd’; de punten van het domein zijn dan tijdstippen, en de relatie is de ‘eerder dan’-relatie tussen tijdstippen. In de oorspronkelijke ‘noodzakelijk/mogelijk’interpretatie van modale logica bestaat het universum van een frame uit mogelijke werelden; als hier voor twee mogelijke werelden s en t geldt dat Rst, dan dient men dat te lezen als: ‘in wereld s wordt wereld t voor mogelijk gehouden’. In een nog weer andere toepassing kunnen de punten bijvoorbeeld de metrostations van Londen representeren, en zou R een station s kunnen verbinden met precies die stations welke je zonder overstappen vanuit s kunt bereiken. Aan frames alleen hebben we nog niet zoveel: we kunnen onze modale formules nog niet interpreteren. Om nu de syntax van de modale taal werkelijk een semantiek te geven, kijken we eerst nog even naar de semantiek van de klassieke propositielogica. Zoals u zich van het inleidende college logica herinnert, krijgen klassieke propositionele formules als semantische interpretatie een waarheidswaarde, (1 voor ‘waar’ of 0 voor ‘onwaar’). Deze waarheidswaarde wordt inductief bepaald door de waardering van de propositionele variabelen: een waardering is een functie w : VAR → {0, 1}. Als we eenmaal de waardering kennen, dan ligt de waarheidswaarde van elke klassieke formule eens en voor altijd vast — deze semantiek is dus tamelijk statisch. Merk op dat dit, mutatis mutandi, ook geldt voor de klassieke predicatenlogica. Het zal duidelijk zijn dat deze vorm van modelleren voor toepassingen in bijvoorbeeld de informatica een veel te simpele voorstelling van zaken geeft. Bijvoorbeeld, een wezenlijk kenmerk van een computerprogramma is juist dat het de interpretatie van variabelen, en daarmee de waarheidswaarde van formules verandert. Logici zijn dan ook geı̈nteresseerd in het redeneren over veranderingen van waarderingen. Hiermee komen we toe aan het basiskenmerk van de semantiek van de modale propositielogica: om formules te interpreteren in een frame F = (W, R) kennen we aan elke toestand van het universum een eigen waardering toe. Om dit idee formeel uit te werken, voeren we nu het modale modelbegrip in: Definitie 1.5 [modellen] Een model is een structuur M = (F, π), waarbij F = (W, R) een frame is, en π een valuatie, dat wil zeggen, een functie π : W → (VAR → {0, 1}). Modale logica: basisbegrippen/ 5 Met andere woorden: door middel van de valuatie π heeft ieder punt s zijn eigen klassieke waardering π(s). Dat betekent dat we nu de klassieke formules in mogelijke werelden op de bekende wijze kunnen interpreteren: bijvoorbeeld de formule p ∧ ¬q zal waar zijn in punt s precies als π(s)(p) = 1 en π(s)(q) = 0. De boolese clausules van de waarheidsdefinitie in de modale semantiek zijn dus precies hetzelfde als in de klassieke semantiek. Om de clausule voor de modale operatoren in te leiden, gaan we even uit van de oorspronkelijke interpretatie van 3ϕ als ‘mogelijk geldt ϕ’. Stel dat we in wereld s willen besluiten of de formule 3ϕ waar is of niet, en dat de werelden s, t1 , t2 en t3 de toegankelijke werelden zijn vanuit s — als in het volgende plaatje: t1 q KAA A A t2 q 6 t3 q A A q s De situatie is dus als volgt: hoewel we ons in wereld s bevinden, houden we het nog voor mogelijk dat we ons in een van de werelden s, t1 , t2 of t3 bevinden. Daarom zal de formule 3ϕ waar zijn in s, als er tenminste één toegankelijke wereld is waarin ϕ zelf waar is. Analoog geldt, dat de formule 2ϕ waar is in s als ϕ waar is in elke wereld die in s voor mogelijk wordt gehouden. Dit impliceert dat 2ϕ waar is dan en slechts dan als er geen wereld toegankelijk is waar ϕ onwaar is: 2ϕ is waar als ¬ϕ niet voor mogelijk wordt gehouden. Alles tesamen nemende, komen we nu tot de volgende definitie van het waarheidsbegrip: Definitie 1.6 [waarheid] Laat M = (W, R, π) een model zijn, en ϕ een formule. We definiëren de waarheid van ϕ in een toestand s van W inductief als volgt: M, s p M, s ¬ϕ M, s ϕ ∧ ψ M, s 3ϕ ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒ π(s)(p) = 1 M, s 6 ϕ M, s ϕ & M, s ψ M, t ϕ, voor minstens één punt t zó dat Rst. Als geldt M, s ϕ dan zeggen we dat (in M) de formule ϕ waar is in toestand s. Als het duidelijk is welk model we in gedachten hebben, dan schrijven we wel s ϕ in plaats van M, s ϕ. Opmerking 1.7 Uit bovenstaand voorbeeld kunnen we onmiddelijk de waarheidsdefinitie afleiden voor de andere connectieven: 1. Voor de implicatie (→) geldt bijvoorbeeld: M, s ϕ → ψ ⇐⇒ als M, s ϕ, dan ook M, s ψ. Stel nu dat u wilt laten zien dat de formule ϕ → ψ waar is in een bepaalde toestand s van een model M. Het handigste is dan om aan te nemen dat ϕ waar is in s, en op grond daarvan aan te tonen dat M, s ψ. Modale logica: basisbegrippen/ 6 2. Voor het blokje 2 hebben we de volgende clausule: M, s 2ϕ ⇐⇒ M, t ϕ, voor elk punt t zó dat Rst. In het bijzonder geldt M, s 2⊥ ⇐⇒ er bestaat geen wereld t zó dat Rst. (1) Toestanden zonder opvolgers noemen we wel blinde werelden; (1) stelt dus dat blinde werelden worden gekarakteriseerd door de formule 2⊥. Voorbeeld 1.8 Beschouw het volgende model: qb 0 a0 q @ @ @ @ Rq @ c0 p, q qb 1 qb 2 p -q a1 @ @ @ Rq @ c1 p, q p -q a2 p -q a3 Er geldt onder andere: a0 3(p ∧ q) ∧ 3(p ∧ ¬q) a2 3(p ∧ 2⊥) a0 33(p ∧ q ∧ 332⊥) In veel gevallen zijn we niet alleen geı̈nteresseerd in de waarheid van formules in afzonderlijke toestanden van een model, maar ook in formules die in elke toestand van het model waar zijn, of zelfs in formules die waar blijven als we de valuatie veranderen. Voorbeeld 1.9 Beschouw bijvoorbeeld het volgende model M: p q? s1 I @ @ @ p ? q s4 @ @? q s0 -? q s3 @ @ @ s2 q 6p @ R? @ q s5 p - q? s6 p Het is duidelijk dat de formule 2p → p waar is in het hele model, evenals de formule 23p. Er geldt echter dat de waarheid van de eerste formule als het ware stabieler is dan die van de tweede. Immers, stel dat we de valuatie π iets veranderen, bijvoorbeeld tot π 0 , gegeven door 1 als x ∈ {s0 , s6 } π 0 (x)(p) = 0 als x ∈ {s1 , s2 , s3 , s4 , s5 } Modale logica: basisbegrippen/ 7 Dan geldt (W, R, π 0 ), s0 6 23p, omdat (W, R, π 0 ), s3 6 3p. De formule 2p → p zal echter waar zijn in elke toestand van elk model dat gebaseerd is op het bovenstaande frame. Stel namelijk dat we voor een valuatie τ onderzoeken of (W, R, τ ), x 2p → p voor een willekeurige wereld x. Als voorbeeld nemen we eerst x = s3 . We nemen dus aan dat (W, R, τ ), s3 2p, en proberen aan te tonen dat (W, R, τ ), s3 p. Uit (W, R, τ ), s3 2p volgt dat p waar is in elke opvolger van s3 , dus ook in s3 zelf! De crux van deze redenering zit hem dus in het feit dat s3 reflexief is: s3 is een opvolger van zichzelf. Op dezelfde manier kunnen we voor ieder ander punt si laten zien dat (W, R, τ ), si 2p → p. Het bovenstaande voorbeeld leidt tot de volgende definities: Definitie 1.10 [waarheid en geldigheid] Laat F = (W, R) een frame zijn, en M = (F, π) een model (dat gebaseerd is op F). We zeggen dat een modale formule ϕ waar is in M, notatie: M ϕ, als ϕ waar is in elk punt van M. We zeggen dat ϕ geldig is in F, notatie: F |= ϕ, als ϕ waar is in elk model dat gebaseerd is op F. Anders geformuleerd: F |= ϕ ⇐⇒ (F, τ ) ϕ voor elke valuatie τ . In een slogan kunnen we dus zeggen: geldigheid is een stabiele vorm van waarheid. Voorbeeld 1.11 Beschouw het frame F = (E, G) waarbij E de verzameling landen van de Europese Unie is (in 1995), en Gst geldt als s grenst aan t. De intuı̈tieve betekenis van s 3ϕ in een model op dit frame is dan: s grenst aan een land waar ϕ waar is. (Wat is de intuı̈tieve betekenis van s 2ϕ?) Beschouw nu de valuatie π gegeven door 1 als s een romaanse taal als officiële taal heeft π(s)(p) = 0 anders 1 als s een germaanse taal als officiële taal heeft π(s)(q) = 0 anders Dan geldt M σ, waarbij deze laatste formule gegeven wordt door (σ) (p ∧ q) → 3(p ∧ ¬q) ∧ 3(¬p ∧ q). Immers, beschouw een willekeurig land s. Om te laten zien dat σ waar is in s, nemen we aan dat p∧q waar is in s. De enige landen die in aanmerking komen zijn België en Luxemburg. Omdat in Frankrijk een romaanse taal en geen germaanse taal de officiële taal is, geldt Frankrijk p ∧ ¬q, en omdat België grenst aan Frankrijk, vinden we dat Belgie 3(p ∧ ¬q). Evenzo impliceert Nederland ¬p ∧ q dat Belgie 3(¬p ∧ q). Op analoge wijze vinden we dat Luxemburg 3(p ∧ ¬q) ∧ 3(¬p ∧ q). (Waarom is dit voldoende om te laten zien dat M σ?) Modale logica: basisbegrippen/ 8 Echter, σ is niet geldig in het frame F. Bekijk bijvoorbeeld de valuatie π 0 die p waar maakt in precies de landen die aan zee liggen, en q in landen met een republikeinse staatsvorm. Dan geldt bijvoorbeeld dat Frankrijk p ∧ q, Frankrijk 6 3(¬p ∧ q). Immers het enige land dat (aan Frankrijk grenst en) niet aan zee ligt, is Luxemburg, en Luxemburg is een groothertogdom, geen republiek. Er geldt dus dat (F, π 0 ), Frankrijk 6 σ, zodat (F, π 0 ) 6 σ. Daarmee hebben we aangetoond dat F 6|= σ. Een voorbeeld van een formule die wel geldig is in F, is 32p → p. We tonen aan dat F |= 32p → p. (2) Stel dus dat we een model M = (F, τ ) voor ons hebben. We moeten laten zien dat 32p → p in elk land waar is. Laat s dus een willekeurig land zijn. We nemen aan dat M, s 32p, en tonen aan dat M, s p. Uit M, s 32p volgt dat s grenst aan een land t waarvoor geldt: t 2p. Met andere woorden: in elk land dat aan t grenst, is p waar. Maar als s grenst aan t, dan grenst t ook aan s. Dus is p waar in s. Dit bewijst (2). Merk op dat we in de cruciale stap van het bovenstaande bewijsje gebruiken dat de relatie ‘grenzen aan’ symmetrisch is. Opmerking 1.12 De hier gebruikte terminologie en notatie is niet helemaal standaard: in plaats van ‘waarheid’ in een model (M ϕ) wordt ook wel gesproken van ‘geldigheid’ in een model; daarbij wordt dan de notatie ‘M |= ϕ’ gebruikt. De dubbele turnstyle ‘|=’ wordt ook wel gebruikt om het locale waarheidsbegrip weer te geven; men schrijft dan ‘M, s |= ϕ’ voor ‘M, s ϕ’. Opmerking 1.13 Ten slotte nog een waarschuwing: waarheid in een model en geldigheid in een frame gedragen zich niet altijd op de voor u misschien voor de hand liggende wijze. Er geldt bijvoorbeeld niet dat als een formule niet waar is in een model, dat dan zijn tegendeel waar is. Het kan immers best zijn dat er toestanden zijn waar ϕ waar is, en toestanden waar ¬ϕ waar is. 1.2 karakteriseerbaarheid We hebben nu twee voorbeelden gezien waarin de geldigheid van een formule in een frame wordt afgedwongen door een bepaalde eigenschap van de toegankelijkheidsrelatie van dat frame. Dat inspireert de volgende definitie: Definitie 1.14 [geldigheid in een klasse] Een modale formule ϕ is geldig in een klasse C van frames, notatie: C |= ϕ, als ϕ geldig is in elk frame in C. Een formule ϕ is universeel geldig, of gewoon: geldig, notatie: |= ϕ, als ϕ geldig is in (de klasse van) alle frames. Modale logica: basisbegrippen/ 9 Voorbeeld 1.15 De formule 2p → p is geldig in de klasse van reflexieve frames (dwz: frames met een reflexieve toegankelijkheidsrelatie); De formule 32p → p is geldig in de klasse van symmetrische frames. De formule 2(p → q) → (2p → 2q) is universeel geldig. Voor beide formules geldt zelfs nog iets sterkers. Van de formule 2p → p weten we niet alleen dat zij geldig is in elk reflexief frame, we kunnen ook aantonen dat 2p → p in geen enkel frame geldig is als de toegankelijkheidsrelatie van dat frame niet reflexief is! We kunnen dus het volgende bewijzen: voor elk frame F = (W, R) geldt: F |= 2p → p =⇒ F |= ∀x Rxx. (3) Stel immers dat F = (W, R) een frame is dat niet reflexief is: F 6|= ∀x Rxx. We moeten een valuatie π definiëren zodanig dat (F, π) 6 2p → p. Naast de valuatie moeten we dus ook tenminste één punt vinden waar (F, π), s 6 2p → p. Omdat R niet reflexief is, bestaat er tenminste één punt s in W waarvoor geldt dat (s, s) 6∈ R. Laten we nu eens proberen om de formule 2p → p onwaar te maken in s. We moeten dan twee dingen bewerkstelligen: 1. 2p moet waar zijn in s 2. p moet onwaar zijn in s. Om 2p waar te maken in s, moet p waar zijn in alle opvolgers van s. Stel nu dat we een valuatie kiezen die p alleen waar maakt in alle opvolgers van s. Met andere woorden, we definiëren: 1 als Rsx π(x)(p) = 0 anders Omdat s zelf geen opvolger is van s, geldt dus: (F, π), s 6 p. We hebben dus een valuatie π gevonden, die niet alleen aan voorwaarde 1, maar ook aan voorwaarde 2 voldoet! Om het verhaal af te maken: er geldt nu (F, π), s 6 2p → p. De formule 2p → p is dus niet overal waar in het model (F, π). Maar dan is de formule dus ook niet geldig in het frame F. Dit bewijst 3. Op een analoge manier kunnen we laten zien dat de formule 32p → p niet geldig is in een frame als dat frame niet symmetrisch is. Deze voorbeelden leiden tot de volgende definitie: Definitie 1.16 [karakteriseerbaarheid] Een formule ϕ karakteriseert een klasse K van frames als voor elk frame F geldt: F |= ϕ ⇐⇒ F behoort tot K. Een eigenschap van frames heet modaal karakteriseerbaar als er een modale formule is die de klasse van frames karakteriseert welke deze eigenschap hebben. Anders geformuleerd: ϕ karakteriseert K als aan de volgende twee voorwaarden is voldaan: • ϕ is geldig in K • ϕ is geldig in geen enkel frame buiten K. Voorbeeld 1.17 De formule 2p → p karakteriseert de (klasse van) reflexieve frames; symmetrie wordt gekarakteriseerd door de formule 32p → p. Modale logica: basisbegrippen/ 10 We geven nu nog een ander voorbeeld van een karakterisering: Propositie 1.18 De formule 33p → 3p karakteriseert de frames met een transitieve toegankelijkheidsrelatie. Bewijs. We bewijzen alleen de ‘moeilijke’ kant van de bewering, namelijk dat de formule 33p → 3p niet geldig is op een frame als de relatie van het frame niet transitief is. Stel dat F = (W, R) een willekeurig frame zó dat F 6|= ∀xyz ((Rxy ∧ Ryz) → Rxz). Dan is er dus een drietal punten s, t en u in W dat een tegenvoorbeeld vormt voor de transitiviteit van R: tq *H HH H HH s q j - qu NB Het domein W kan heel goed nog andere punten bevatten, en de relatie R nog andere paren (bijvoorbeeld (u, s)); u dient het plaatje te zien als een soort venster op F. Om te laten zien dat de formule 33p → 3p niet geldig is moeten we een valuatie zoeken, en een punt in W zodat de formule niet waar is in dat punt. Het ligt voor de hand om ons te concentreren op het punt s. We moeten twee dingen bewerkstelligen: 1. 33p moet waar zijn in s 2. 3p moet onwaar zijn in s. Om 33p waar te maken in s, kunnen we p bijvoorbeeld waar maken in u. Stel nu dat we p alleen in u waar maken, door de volgende valuatie te definiëren: 1 als x = u π(x)(p) = 0 anders Dan geldt u p, zodat t 3p en s 33p. Aan de andere kant is p onwaar in alle opvolgers van s (immers als x een opvolger is van s, dan geldt x 6= u). Hieruit volgt dus dat s 6 3p. Maar dan geldt dus (F, π) 6 33p → 3p, zodat 33p → 3p niet geldig is in F. 2 Opmerking 1.19 Om aan te tonen dat een formule ϕ niet geldig is in een bepaald frame F, moet je een valuatie zoeken zó dat ϕ onwaar is in een of ander punt van F. Hierbij kun je alleen voor de propositionele variabelen kiezen waar ze waar of onwaar zullen zijn. In het bewijs van Propositie 1.18 heb je dus niet de vrijheid om te zeggen: kies een valuatie π zó dat 33p ∧ ¬3p waar is in punt s. In dit specifieke geval moet je een π zo kiezen, dat de propositionele variabele p waar is in u en onwaar in alle opvolgers van s. Het effect van deze keuze is dan, dat de formule 33p ∧ ¬3p inderdaad waar is in s. 1.3 bisimulaties Aan het einde van deze inleidende paragraaf bespreken we een begrip, dat een belangrijk hulpmiddel is bij het vergelijken van twee modellen, namelijk de notie van een bisimulatie tussen twee modellen. Modale logica: basisbegrippen/ 11 Definitie 1.20 Gegeven zijn twee modellen M = (W, R, π) en M0 = (W 0 , R0 , π 0 ). Een nietlege relatie Z ⊆ W × W 0 heet een bisimulatie tussen de modellen M en M0 als Z aan de volgende drie voorwaarden voldoet (voor een bisimulatie gebruiken we vaak infixnotatie): 1. als wZw0 , dan geldt voor elke p ∈ V AR dat π(w)(p) = π 0 (w0 )(p), 2. als wZw0 en Rwv, dan is er een v 0 ∈ W 0 zó dat vZv 0 en R0 w0 v 0 , 3. als wZw0 en R0 w0 v 0 , dan is er een v ∈ W zó dat vZv 0 en Rwv. Om aan te geven dat er tussen de modellen M en M0 een bisimulatie bestaat die de punten w en w0 met elkaar verbindt, gebruiken we de notatie: M, w ↔ M0 , w0 ; informeel zeggen we in dit geval dat de punten w en w0 (met elkaar) bisimuleren. Een relatie Z ⊆ W × W 0 heet een bisimulatie tussen de frames (W, R) en (W 0 , R0 ) als Z voldoet aan de voorwaarden 2 en 3 hierboven. Intuı̈tief gesproken, betekent het bestaan van een bisimulatie Z tussen de modellen M en waarbij wZw0 , dat M en M0 erg op elkaar lijken, gezien vanuit de werelden w resp. w0 . De clausules zeggen namelijk het volgende: M0 1. als w en w0 bisimuleren, dan moeten ze in ieder geval de zelfde propositionele variabelen waar maken. 2. als w en w0 bisimuleren, en je kunt in model M vanuit w een stap zetten naar een toestand v, dan moet je ook in model M0 vanuit w0 een stap kunnen zetten naar een toestand v 0 die weer bisimuleert met v. Beschouw het volgende plaatje: vq 0 Z qv 6 Z q 6 w q w0 M0 M 3. deze clausule is natuurlijk het spiegelbeeld van clausule 2. Voorbeeld 1.21 Beschouw de volgende modellen M = (W, R, π) en M0 = (W 0 , R0 , π 0 ): W Rmn π(n)(p) = ⇐⇒ = N n = m + 1 1 als n even is 0 als n oneven is W0 R0 = {e, o} = {(e, o), (o, e)} 1 als x = e π(x)(p) = 0 als x = o Laat vervolgens Z ⊆ W × W 0 de volgende relatie zijn: Z = {(n, e) | n is even } ∪ {(n, o) | n is oneven }. Waarschijnlijk maakt het volgende plaatje duidelijker wat er bedoeld wordt: Modale logica: basisbegrippen/ 12 ' 0q $ - 1q - 2q - 3q AA Q Q @ @ & Q Q @ @ @ @ - 4q - 5q AA Q Q @ @' @ R? @ q e & ... % AA Q Q - ... AA $ Q s AAU Q -q o % De claim is dat Z een bisimulatie is tussen M en M0 . Het is niet erg moeilijk om te laten zien dat aan clausule 1 is voldaan. Voor clausule 2 beschouwen we een paar (n, s) ∈ Z, en een opvolger m van n in M. Er zijn twee mogelijkheden: óf n is even en s = e, óf n is oneven en s = o. We behandelen alleen de eerste mogelijkheid, en stellen dus dat n even is. Per definitie geldt dan dat m, de opvolger van n, oneven moet zijn: m is immers gelijk aan n + 1. Maar dan geldt mZo, en omdat o een opvolger is van e in M0 , zijn we klaar. Nu onderzoeken we clausule 3: we nemen een willekeurig bisimulerend paar (n, s) waarbij s een opvolger t heeft. We worden weer geconfronteerd met de zelfde mogelijkheden als eerder. Nu kijken we alleen naar het geval waarin n oneven is, en s dus het punt o. Per definitie van R0 geldt dus dat t het punt e moet zijn. Maar als n oneven is, dan is n + 1 even. Er geldt dus zowel R(n, n + 1) (per definitie van R) als (n + 1)Ze (per definitie van Z). Maar dat is precies wat we zochten. Een van de belangrijkste resultaten over bisimulaties is dat bisimulerende punten dezelfde modale formules waar maken — de modale taal is als het ware blind voor de verschillen tussen modellen waartussen een bisimulatie bestaat. De volgende stelling heeft zeer veel toepassingen binnen de modale logica: Stelling 1.22 [Preservatie van waarheid onder bisimulaties] Als M, w ↔ M0 , w0 , dan geldt voor alle modale formules ϕ: M, w ϕ ⇐⇒ M0 , w0 ϕ. Bewijs. Neem aan dat Z een bisimulatie is tussen de modellen M = (W, R, π) en M0 = (W 0 , R0 , π 0 ). We bewijzen met formule-inductie dat iedere modale formule ϕ voldoet aan de volgende bewering: voor alle w, w0 met wZw0 geldt: M, w ϕ ⇐⇒ M0 , w0 ϕ. In de basisstap van dit bewijs nemen we aan dat ϕ een atomaire formule is, zeg p. Als w en w0 nu punten zijn met wZw0 , dan geldt M, w p ⇐⇒ ⇐⇒ ⇐⇒ π(w, p) = 1 π 0 (w0 , p) = 1 M0 , w0 p. Hier wordt de tweede (en cruciale) equivalentie gerechtvaardigd door de eerste clausule van de definitie van een bisimulatie. Modale logica: basisbegrippen/ 13 Van de inductiestap van het bewijs slaan we de boolese stappen over (vgl. Opgave 1.7); we behandelen alleen het geval, waarin ϕ van de vorm 3ψ is. De inductiehypothese luidt dan als volgt: voor alle w, w0 met wZw0 geldt: M, w ψ ⇐⇒ M0 , w0 ψ. (IH) Stel nu dat we punten s ∈ W , s0 ∈ W 0 gegeven hebben die bisimuleren volgens Z. We moeten laten zien dat M, s 3ψ ⇐⇒ M0 , s0 3ψ. (4) We bewijzen slecht één kant van deze equivalentie — de andere kant verloopt volledig analoog. Neem aan dat 3ψ waar is in s. Volgens de waarheidsdefinitie is er dan een opvolger t van s waar ψ waar is. Uit Rst en sZs0 volgt dan, met behulp van clausule 2 van de definitie van een bisimulatie, dat er een punt t0 ∈ W 0 bestaat dat bisimuleert met t én een opvolger is van s0 . Nu gebruiken we de inductiehypothese: uit tZt0 en M, t ψ volgt M0 , t0 ψ. Maar dan volgt onmiddelijk dat M0 , s0 3ψ, omdat t0 een opvolger is van s0 . We hebben nu inderdaad één helft van (4) bewezen. 2 Modale logica: basisbegrippen/ 14 1.4 Opgaven Opgave 1.1 Beschouw het model M = (W, R, π) als gegeven in het onderstaande plaatje. p, q q a2 p -q a5@ @ q -q a3 p q a1 @ @ @ @ @ @ @ @ @ R q a4 @ R @ -q a6 q q @ Rqp @ a7 (a) Laat zien dat 1. M, a1 22(p ∨ q) 2. M, a2 3q → 33q 3. M, a3 3p → 2(q → 2(p → 2p)) (b) Laat zien dat 1. M 6 p → 3p 2. M 222¬q 3. M 6 q → (3q → 2(q → 3q)) (c) Verander de valuatie zodanig dat in het ontstane model M0 geldt: M0 2p → p. Opgave 1.2 De binaire boom is het volgende frame B = (W, R). Het domein W is de verzameling van strings (rijtjes) over het alfabet {a, b}, oftewel: W = {, a, b, aa, ab, ba, bb, aaa, . . .}. De relatie R wordt gegeven door Rst ⇐⇒ t = sa of t = sb. (a) Maak een plaatje van de binaire boom. (b) Beschouw de valuatie π die p waar maakt op strings die een even lengte hebben. Laat zien dat (B, π) 23p → 32p. (c) Gegeven is de valuatie π1 die de variabele p waar maakt in strings die met een a beginnen, en de variabele q in strings die met een b beginnen. Laat met behulp van deze valuatie zien dat de formule λ: (3p ∧ 3q) → [3(p ∧ 3q) ∨ 3(p ∧ q) ∨ 3(3p ∧ q)] (λ) niet geldig is in de binaire boom. (d) Laat zien dat de formule 33p → 3p niet geldig is in B. Modale logica: basisbegrippen/ 15 Opgave 1.3 Bewijs of weerleg dat de volgende formules geldig zijn in alle frames: (a) 2(p → q) → (3p → 3q) (b) 2(p ∧ q) → (3p ∧ 3q) (c) 2(p ∧ q) → (2p ∧ 2q) (d) 2p → 3p (e) 3p → 2p (f ) 3(p → q) → (2p → 3q) (g)∗ 2(2p → p) → 2p Opgave 1.4 Gegeven is een frame F = (W, R). (a) Laat zien dat de volgende implicaties gelden: (i) (ii) (iii) (iv) R R R R is is is is voortzettend transitief partieel functioneel functioneel =⇒ =⇒ =⇒ =⇒ F F F F |= 3> |= 2p → 22p. |= 3p → 2p. |= 2p ↔ 3p. (b)∗ Laat zien dat de formules in (a) de corresponderende eigenschap karakteriseren. Opgave 1.5 Laat F het frame (N, S) zijn van de natuurlijke getallen met de opvolgerrelatie S gegeven door Smn ⇐⇒ n = m + 1. (a) Definieer een valuatie τ op F waarvoor geldt (B, π), ↔ (F, τ ), 0, waarbij (B, π) het model is gedefinieerd in onderdeel (b) van Opgave 1.2. Bewijs dat dit de enige mogelijkheid is voor τ . (b) Laat zien dat er geen valuatie τ1 op F bestaat zó dat (B, π1 ), ↔ (F, τ1 ), 0, waarbij (B, π1 ) het model is op de binaire boom dat gedefinieerd is in onderdeel (c) van Opgave 1.2. Opgave 1.6 Beschouw de volgende twee frames F en F 0 : sa . . . F s a0 ~ Z Z Z ~ Z Z . . . ~ Z Z ~. Z . F 0 .. . (Uitleg: F heeft oneindig veel paden van eindige lengte 1,2,3,. . . ; F 0 heeft daarnaast ook een oneindig pad.) Beredeneer dat er geen bisimulatie Z bestaat tussen F en F 0 zó dat aZa0 . Modale logica: basisbegrippen/ 16 Opgave 1.7 Vul de ontbrekende stappen aan in het bewijs van Stelling 1.22. Opgave 1.8 (a) Geef een voorbeeld van een formule ϕ en een model M zó dat noch ϕ, noch ¬ϕ waar zijn in M. (b) Geef een voorbeeld van een formule ϕ en een frame F zó dat er twee modellen M = (F, R) en M0 = (F, R0 ) bestaan waarvoor geldt dat M ϕ en M0 ¬ϕ. Opgave 1.9 Beschouw het model M van Voorbeeld 1.21, en de volgende verzameling W 00 = {1̄, 2̄} ∪ {3n | n ∈ N}. Ga na, of er een relatie R00 op W 00 en een bisimulatie tussen de frames (W, R) en (W 00 , R00 ) bestaan, waarvoor geldt: {(3n, 3n) | n ∈ N} ⊆ Z {(3n + 1, 1̄) | n ∈ N} ⊆ Z {(3n + 2, 2̄) | n ∈ N} ⊆ Z. Temporele logica/ 17 2 2.1 Temporele logica inleiding In vele gebieden binnen de informatica en de kunstmatige intelligentie zijn formele representaties van het begrip tijd nodig, evenals formele talen om over die representaties te kunnen redeneren. Denkt u bij de informatica bijvoorbeeld aan real-time systemen of databases, en voor de A.I. aan planning. Daarnaast heeft het redeneren over programma’s ook bijna altijd temporele aspecten. In deze paragraaf bespreken we enkele zeer eenvoudige benaderingen vanuit de modale logica. Bij het opzetten van een (logisch) formalisme voor het modelleren van het begrip ‘tijd’ moeten er op de volgende vlakken keuzes gemaakt worden: ontologie Hierbij gaat het om de kwestie, welke mathematische structuren we kiezen als modellen voor de intuı̈tieve notie ‘tijd’. Vragen die dan een rol spelen zijn bijvoorbeeld: Representeren de objecten in het domein tijdstippen, intervallen of zogenaamde ‘events’ ? Wat voor relaties bestaan er tussen deze entiteiten? Wat voor condities moeten we opleggen aan onze structuren opdat zij ‘echte’ tijdsstructuren zijn? taal Ten tweede is er het probleem welke objecttaal we zullen gebruiken om uitspraken te doen over de gekozen temporele structuren. In hoofdlijnen kunnen we kiezen voor bijvoorbeeld de predicatenlogica, modale formalismes, algebraı̈sche formalismes, of voor hybride talen. In tweede instantie, als we bijvoorbeeld hebben geopteerd voor de predicatenlogica, moeten we dan nog kiezen welke predicaten we nodig hebben. semantiek Ten slotte moeten we dan nog besluiten hoe we de gekozen taal zullen interpreteren in de gekozen structuren. In de modale aanpak kunnen we bijvoorbeeld bepaalde constraints opleggen aan de valuaties, zoals de eis dat propositionele variabelen waar zijn in een uniek punt. De uitkomst van dergelijke overwegingen zal afhangen van een aantal factoren. De keuze voor een bepaalde ontologie zal voor een groot deel worden beı̈nvloed door de intuı̈ties die men binnen het beoogde toepassingsgebied heeft over de notie ‘tijd’. Zo verloopt de tijd binnen het bankwezen heel anders dan voor een ontwerper van micro-processoren, en heeft men voor common sense redeneringen weer heel andere intuı̈ties dan voor de kwantummechanica. Bij het kiezen van een geschikte taal om over tijd te redeneren spelen daarnaast ook computationele overwegingen een rol: in het algemeen zal hier een afweging gemaakt moeten worden tussen expressiviteit en complexiteit. De bovengenoemde vragen zullen in dit college slechts gedeeltelijk aan de orde komen. We kiezen hier voor een benadering, waarin tijd wordt gerepresenteerd als een verzameling tijdstippen die (partieel) geordend worden door de ‘eerder dan’-relatie; waarin we een modale taal kiezen om over deze structuren te spreken; en waarin de semantiek de gewone modale semantiek is zoals die in de vorige paragraaf is ontwikkeld. We hebben dan nog keuzemogelijkheden in de precieze aard van de partiële ordening, en in de verzameling modale operatoren van onze taal. Definitie 2.1 [tijdsstructuren] Een temporeel frame of tijdsstructuur is een frame T = (T, <) waarbij T een verzameling tijdstippen is en < een temporele ordening op T , dat Temporele logica/ 18 wil zeggen, een irreflexieve, transitieve relatie op T . Als s < t, dan zeggen we dat s eerder is dan t. Als conventie hanteren we dat zodra een temporeel frame T gegeven is, de verzameling tijdstippen genoteerd wordt als T . Opmerking 2.2 Wij hebben hier gekozen voor een opzet waarin de temporele ordening irreflexief is. In veel gevallen (waaronder een eerdere versie van deze syllabus!) wordt tijd juist gemodellerd als een partiële ordening, dat wil zeggen een reflexieve, antisymmetrische, transitieve binaire relatie. Merk op dat de frames in de Opgaves 1.2, 1.5 en 2.6 volgens onze definitie geen temporele frames zijn. Conventie 2.3 In plaatjes van temporele frames zullen we niet altijd de pijlen tekenen tussen alle tijdstippen waarvoor de ‘eerder dan’ relatie geldt. Omdat temporele frames per definitie altijd transitief zijn, kunt u wel altijd gemakkelijk de werkelijke gedaante van de ‘eerder dan’ relatie afleiden. Daarnaast zullen we tijdsstructuren ook vaak weergeven met behulp van lijnen. In een dergelijke plaatje ‘loopt’ de tijd van links naar rechts, of van beneden naar boven. Definitie 2.4 [temporeel model] Een temporeel model is een paar M = (T , π) waarbij T een tijdsstructuur is en π een valuatie. (Dat wil zeggen, net als in de gewone modale logica is π een functie: T → (VAR → {0, 1}).) De intuı̈tieve betekenis van de operatoren 3 en 2 in zulke modellen is nu: 3ϕ ≡ 2ϕ ≡ ooit (in de toekomst) zal ϕ waar zijn voortaan (altijd vanaf nu) zal ϕ waar zijn, in een plaatje: ϕ ϕ ϕ ϕ XXX ϕ XXX ϕ r 2ϕ XX ϕ X X XX XXrX r 3ϕ ϕ XXX XX Voorbeeld 2.5 We kunnen nu heel eenvoudige voorbeeldjes geven van het formaliseren van uitspraken met een temporeel aspect, bijvoorbeeld ‘voortaan zal het licht afwisselend aan en uit zijn’ door 2(3aan ∧ 3¬aan). Voorbeeld 2.6 Stel dat we (een heel eenvoudig deel) van de salarisadministratie van een bedrijf willen formaliseren in de taal van de temporele logica. Voor elke werknemer x introduceren we de volgende propositionele variabelen en hun intuı̈tieve betekenis: dx sx px †x x x x x is in dienst bij het bedrijf ontvangt een salaris van het bedrijf ontvangt een pensioen van het bedrijf overlijdt Dan kunnen we de volgende uitspraken in deze taal uitdrukken: Temporele logica/ 19 1. x zal nooit zowel een salaris als een pensioen ontvangen door 2¬(sx ∧ px ) 2. als x nu in dienst is bij het bedrijf, dan zal zij tot aan haar dood van het bedrijf een salaris of een pensioen ontvangen door dx → 2(3†x → (sx ∨ px )) 3. als x overleden is, ontvangt zij geen pensioen en geen salaris door 2(†x → 2(¬sx ∧ ¬px )). 2.2 bijzondere klassen van temporele frames In de inleiding van deze paragraaf waarin we een aantal verschillende terreinen tegenkwamen waarop men een keuze dient te maken bij het formaliseren van het begrip ‘tijd’, werden ook ‘condities’ op tijdsstructuren genoemd. We bespreken nu twee belangrijke keuzemogelijkheden. 2.2.1 lineaire vs vertakkende tijd Het plaatje dat de meeste (westerse) mensen van het begrip tijd hebben is dat van een lijn, dat wil zeggen: een totale ordening van tijdstippen. Er bestaan echter ook opvattingen, bijvoorbeeld binnen de literatuur of virtual reality-spelletjes, waarin de tijd zich kan vertakken. Men kan dan nog onderscheid maken tussen tijd die naar het verleden danwel naar de toekomst vertakt — al zal men het verleden eerder éénduidig willen vastliggen dan de toekomst. Het aardige is dat we in onze modale taal de temporele structuren kunnen karakteriseren waarin de tijd niet vertakt naar de toekomst: Propositie 2.7 De formule (λ) (3p ∧ 3q) → [3(p ∧ 3q) ∨ 3(p ∧ q) ∨ 3(3p ∧ q)] karakteriseert de rechts-lineaire temporele frames. Bewijs. Zie Opgave 2.2 2 Aan de andere kant is het niet mogelijk om een formule te vinden die de vertakkende tijdsstructuren karakteriseert: Propositie 2.8 Er bestaat geen temporele formule die de temporele frames karakteriseert waarin de tijd zich naar rechts vertakt. Bewijs. We bewijzen deze Propositie uit het ongerijmde. Stel dus dat er wel een formule ϕ bestaat die de klasse van tijdsstructuren karakteriseert welke voldoen aan de formule (TAK ) ∃xyz (x < y ∧ x < z ∧ y 6= z ∧ ¬(y < z) ∧ ¬(z < y)) Dan is ϕ niet geldig in het volgende frame T : Temporele logica/ 20 q a -q b Er bestaat dus een valuatie π en een tijdstip t zó dat (T , π), t ¬ϕ. (We weten dat t één van de punten a of b is, maar we weten niet welke van de twee). Beschouw nu het volgende frame T 0 : :q 0 b0 qX a0 XXXXX XXX zq X b01 We gaan een valuatie π 0 definiëren op T 0 en een punt x0 opscharrelen in T 0 zó dat (T , π), x ↔ (T 0 , π 0 ), x0 . (5) De valuatie π 0 wordt als volgt gekozen: π 0 (a0 )(p) = π(a)(p) π 0 (b00 )(p) = π(b)(p) π 0 (b01 )(p) = π(b)(p) We laten het aan de lezer om te laten zien dat nu de relatie Z gegeven door Z := {(a, a0 ), (b, b00 ), (b, b01 )} een bisimulatie is (denk hierbij wel even aan Conventie 2.3). Ten slotte ligt dan ook de keuze van x0 voor de hand: als x = a dan kiezen we x0 = a0 en als x = b dan kiezen we x0 = b00 (of x0 = b00 ). Dit bewijst (5). We kunnen nu vrijwel onmiddelijk de gevraagde tegenstelling afleiden. Met behulp van Stelling 1.22 volgt uit (5) namelijk dat (T 0 , π 0 ), x0 ¬ϕ. Dat betekent dat ϕ niet geldig is in T . Omdat we hadden aangenomen dat ϕ de frames karakteriseert die voldoen aan TAK , moeten we de conclusie trekken dat T 6|= TAK . Dit geeft een overduidelijke contradictie. 2 2.2.2 dichte vs dicrete tijd Een ander fundamenteel onderscheid is dat tussen een benadering waarin de tijd in afzonderlijke stapjes verloopt en een optiek waarin de tijd continu van aard is. De tweede visie heeft u zich waarschijnlijk eigen gemaakt bij het vak natuurkunde op de middelbare school; de eerste visie is gebruikelijk binnen de economie (rente wordt per dag berekend) en de informatica. Als we deze beide benaderingen van het tijdsbegrip formaliseren tot condities op partiële ordeningen, dan komen we tot de volgende definities: Definitie 2.9 Een tijdsstructuur T = (T, <) heet discreet als zij voldoet aan T |= ∀xy (x < y → ∃z (x < z ∧ (z ≤ y) ∧ ¬∃u (x < u ∧ u < z))), Temporele logica/ 21 en dicht als zij voldoet aan T |= ∀xy (x < y → ∃z (x < z < y)). Hierbij is x ≤ y een afkorting voor x < y ∨ x = y. In woorden: een temporele ordening heet dicht als er tussen elk tweetal tijdsstippen waarvan de één eerder is dan de ander, altijd een derde punt ligt. Wat betreft discrete tijdsstructuren zullen we alleen lineaire ordeningen beschouwen; een lineaire ordening is discreet als elk punt x een onmiddellijke opvolger u heeft, (als x tenminste niet het laatste punt van de lijn is — dit wordt aangegeven door het antecedent ‘x < y’). Er bestaan zowel formules die de dichte frames als die de discrete frames karakteriseren. De formule voor de discrete frames is een beetje ingewikkeld, tenminste als we ons tot de simpele taal willen beperken; later komen we een eenvoudige karakterizering tegen die de until-operator gebruikt. De formule voor dichtheid geven we in de volgende propositie. Propositie 2.10 De formule 3p → 33p karakteriseert de temporele frames met een dichte ordening. Bewijs. Zie Opgave 2.4. 2.2.3 2 bijzondere structuren In veel gevallen heeft men een heel specifieke interpretatie van het begrip ‘tijd’ in gedachten. Als men bijvoorbeeld de salarisadministratie van een bedrijf wil formaliseren, dan zal de onderliggende tijdsstructuur waarschijnlijk de gedaante aannemen van de natuurlijke getallen, waarbij elk getal een maand weergeeft (met bijvoorbeeld als nulpunt de eerste maand waarin het systeem in werking treedt, of de stichtingsdatum van het bedrijf). Omdat in commonsense redeneringen de tijd meestal wordt voorgesteld als een niet-vertakkende, dichte ordening, kan men hier kiezen voor de ordening van bijvoorbeeld de rationale of de reële getallen. Voor sommige doeleinden (bijvoorbeeld in de quantummechanica) kan men ingewikkelder temporele ordeningen nodig hebben. Definitie 2.11 We definiëren de volgende tijdsstructuren: N = (N, <) Z = (Z, <) Q = (Q, <) R = (R, <), waarin N, Z, Q en R de verzamelingen zijn van respectievelijk de natuurlijke, de gehele, de rationale en de reële getallen, en , de gewone ‘kleiner dan’ relatie. Temporele logica/ 22 2.3 alternatieve temporele talen De modale taal met alleen de operator 3 is natuurlijk niet erg expressief. In de context van temporele logica is het met name een beetje merkwaardig dat de taal wel de mogelijkheid heeft om over de toekomst, maar niet om over het verleden te spreken. In bijna alle toepassingen bevat de taal van de temporele logica dan ook tenminste twee ruitjes in plaats van maar één. Definitie 2.12 De taal van de temporele propositielogica is die van de gewone klassieke propositielogica, uitgebreid met twee éénplaatsige operatoren 3F en 3P . Als afkortingen voor de duale operatoren gebruiken we 2F en 2P . De semantiek van deze operatoren wordt gegeven door de volgende waarheidsdefinitie (in temporele modellen): M, s 3F ϕ M, s 3P ϕ ⇐⇒ ⇐⇒ M, t ϕ, voor minstens één punt t zó dat s < t M, t ϕ, voor minstens één punt t zó dat t < s. Met andere woorden: 3F is onze oude ‘toekomst-operator’ (de ‘F ’ staat voor ‘future’), terwijl 3P naar het verleden kijkt (de ‘P ’ staat voor ‘past’), vergelijk: r r 3F ϕ r ϕ r ψ 3P ψ In deze taal kunnen we meer uitdrukken; bijvoorbeeld 3P q → 3F q ≡ wat vroeger heeft plaatsgevonden, zal ooit weer gebeuren, 3P q → 2F 3P q ≡ wat vandaag verleden tijd is, blijft verleden tijd. We kunnen zelfs bewijzen dat het toevoegen van de 3P -operator de uitdrukkingskracht van de taal vergroot. Daartoe voegen we eerste de volgende definitie in. Definitie 2.13 Twee formules ϕ en ψ heten equivalent als de formule ϕ ↔ ψ universeel geldig is. Propositie 2.14 Er is geen formule in de modale basistaal (dat wil zeggen de taal zonder de 3P -operator) die equivalent is met de formule 3P q. Bewijs. Stel dat er wel zo’n formule was. Bekijk de volgende modellen M en M0 : q r s -r t -r u r -r t0 u0 M0 M We laten het over aan de lezer om te laten zien dat de relatie Z, gedefinieerd door Z := {(t, t0 ), (u, u0 )} een bisimulatie is tussen M en M0 . Volgens stelling 1.22 geldt dan voor alle formules ϕ in de modale basistaal: M, t ϕ ⇐⇒ M0 , t0 ϕ. (6) Temporele logica/ 23 Maar voor de formule 3P q geldt juist: M, t 3P q, M0 , t0 6 3P q. (7) Dat betekent dat de formule 3P q nooit equivalent kan zijn met een formule in de modale basistaal. Want stel dat de basisformule ϕ equivalent zou zijn met 3P q. Wegens (7) geldt dan dat M, t ϕ, zodat uit (6) volgt dat M0 , t0 ϕ. Dan geeft de equivalentie van ϕ en 3P q, dat M0 , t0 3P q, maar dat is in tegenspraak met (7). 2 Verderop in deze paragraaf zullen we nog een uitbreiding van de temporele taal tegenkomen. Opmerking 2.15 De hier gebruikte notatie is zeker niet de enige; de standaard is wellicht die, waarin F wordt gebruikt voor 3F , P voor 3P , G voor 2F en H voor 2P . De notatie van deze syllabus heeft als voordeel dat je meteen aan het symbool kunt zien of het een universele (blokje) dan wel een existentiële (ruitje) operator is. 2.4 computationele temporele logica We concentreren ons nu op een toepassing van temporele logica binnen de informatica, namelijk het redeneren over (parallel) programmeren. Het doel is hierbij niet zozeer om daadwerkelijk bijvoorbeeld correctheidsbewijzen van programma’s te geven (daartoe hebben we aan de modale propositielogica ook niet voldoende), als wel om u een indruk te geven hoe je vanuit een modaal perspectief naar programma’s zou kunnen kijken. We bekijken eerst alleen één heel simpel frame, namelijk N = (N, <) (het temporele frame bestaande uit de verzameling van de natuurlijke getallen, met daarop de gewone ‘kleiner dan’ordening <). De connectie met programma’s ligt in de observatie dat we dit frame kunnen zien als een mogelijke ‘run’ van een berekeningsproces. De overgang van een tijdstip n naar een tijdstip n + 1 komt dan overeen met het uitvoeren van een atomaire programmastap. Een valuatie geeft dan aan in welke toestand het systeem zich op elk moment bevindt — een toestand zou bijvoorbeeld een paar kunnen zijn bestaande uit de programcounter en een lijst met de inhoud van de diverse geheugencellen1 . In deze modellering speelt het tijdstip 0 als beginpunt van de tijdsstructuur een bijzonder rol: als men een vertaling maakt van een informele specificatie naar de formele modale taal, gaat men er wel vanuit dat de formules geı̈nterpreteerd worden in het punt 0. Merk op dat dit geen verlies van algemeenheid hoeft te betekenen; er geldt immers voor elke valuatie π op het frame N : (N , π) ϕ ⇐⇒ (N , π), 0 ϕ ∧ 2ϕ. We gebruiken in deze paragraaf de volgende afkortingen: ϕ ≡ ϕ ∧ 2ϕ 3̇ϕ ≡ ϕ ∨ 3ϕ In dit framework kunnen we al uitspraken formuleren over de correctheid van programma’s. Stel dat een programma een entry label m0 en een exit label me heeft. We kunnen nu dergelijke 1 Voor een realistischer modellering moeten we ons dus tot de predicatenlogica wenden; dan kunnen we aan ieder tijdstip een bedeling toekennen van getallen aan variabelen van het type integer, waarheidswaarden aan variabelen van het type boolean, enzovoort. Temporele logica/ 24 labels tot atomaire formules maken door er ‘at’ voor te zetten; de propositionele variabele at(m0 ) is dan bijvoorbeeld waar in tijdstip n als na de n-de executiestap van het programma, de program-counter zich bij het label m0 bevindt. Een uitspraak over de partial correctness van een programma is van de vorm: als bij de start van het programma de formule ϕ waar is, dan is bij terminatie de formule ψ waar. We kunnen dit nu formaliseren tot: at(m0 ) ∧ ϕ → (at(me ) → ψ). Total correctness houdt tevens in, dat het programma termineert: at(m0 ) ∧ ϕ → 3̇(at(me ) ∧ ψ). Ook (eenvoudige) eigenschappen van parallelle programma’s kunnen worden uitgedrukt in ons formalisme. Stel dat k verschillende processen parallel opereren en een geheugenomgeving delen; neem aan dat het kritische gedeelte van elk programma gemarkeerd wordt door het label mc (de formule at i (mc ) geeft aan dat processor i in de kritische sectie van zijn programma zit). Mutual exclusion is de eigenschap dat er nooit twee verschillende programma’s tegelijkertijd in hun kritische gedeelte verkeren. Deze conditie kan eenvoudig worden uitgedrukt door de formule ^ ¬(at i (mc ) ∧ at j (mc )). i,j≤k,i6=j Nog weer een ander voorbeeld komt uit de wereld van operating systems. Stelt u zich voor dat een operating system verzoeken (ri ) krijgt van verschillende processen, aan welke het kan aangeven dat zo’n verzoek wordt gehonoreeerd (gi ). De formule ^ (ri → 3gi ) i≤k geeft dan weer dat elke processor ooit de aandacht krijgt waar het om heeft verzocht: responsiveness van het systeem. Een iets zwakkere voorwaarde is fairness: het operating system gaat in ieder geval in op een verzoek als het herhaaldelijk wordt gedaan: ^ (23ri → 3̇gi ) i≤k In het algemeen kan men dergelijke voorwaarden aan programmatuur in verschillende categorieën verdelen. Zogenaamde liveness condities (‘something good will eventually happen’) zijn van de vorm ϕ → 3̇ψ, terwijl safety condities (‘something bad will never happen’) geformuleerd kunnen worden in het schema ϕ → ψ. Er zijn echter ook condities die je niet met behulp van alleen de 3-operator (of de 3F en de 3P -operator) kunt uitdrukken. Beschouw nog eens het voorbeeld van het operating system. Hoe kunnen we formuleren dat een proces i niet aan de beurt komt voordat het zelf daarom heeft verzocht (absence of unsollicited response)? Temporele logica/ 25 Definitie 2.16 [until-operator] We kunnen de modale basistaal uitbreiden met een tweeplaatsig temporeel connectief U , waarvan de semantiek wordt gegeven door de volgende waarheidsdefinitie: M, s ϕU ψ ⇐⇒ er is een punt u met s < u en M, u ψ en voor alle punten t met s < t < u geldt M, t ϕ. In een plaatje ziet het er als volgt uit: ϕX XX ϕ X ϕ rψ X ϕU ψ ϕ XXX r XX Met behulp van de until-operator kunnen we nu inderdaad absence of unsollicited response weergeven: (3gi → (¬gi )U ri ) ∧ [(gi ∧ 3gi ) → (¬gi )U ri )]. Het aardige is, dat we met behulp van de until-operator, de gewone toekomst-operator kunnen uitdrukken: Propositie 2.17 Voor iedere formule ϕ geldt, in elk temporeel model M en in elk tijdstip t M, t 3ϕ ⇐⇒ M, t >U ϕ. Bewijs. Dit volgt onmiddelijk uit de definities. 2 Aan de andere kant is de until-operator niet uitdrukbaar in de modale basistaal: Propositie 2.18 Er is geen formule in de modale basistaal die equivalent is met de formule pU q. Bewijs. Beschouw de volgende twee modellen M = (W, <, π) en M0 = (W 0 , <0 , π 0 ) Temporele logica/ 26 q rv0 KA A A A A q rv1 AK A A A A A A A A Ar rt 0 p ru t1 KA A K A A A A A A A A A A A A A r A r s0 s1 q rv 0 AKA A p ru 0 Ar t0 KAA A A A A A A r 0 M0 M A A A A s We laten het aan de lezer om aan te tonen dat de volgende relatie Z ⊂ W ×W 0 een bisimulatie is: Z := {(s0 , s0 ), (s1 , s0 ), (t0 , t0 ), (t1 , t0 ), (u, u0 ), (v0 , v 0 ), v1 , v 0 )}. Hieruit volgt dat voor elke formule ϕ uit het basisformalisme geldt: M, s0 ϕ ⇐⇒ M0 , s0 ϕ. Maar voor de formule pU q geldt juist: M, s0 pU q, M0 , s0 6 pU q. Dat betekent dat er dus geen enkele formule ϕ in de modale basistaal equivalent kan zijn met pU q. 2 Temporele logica/ 27 2.5 Opgaven Opgave 2.1 Bewijs of weerleg dat de volgende formules geldig zijn op de temporele structuur N = (N, <) van de natuurlijke getallen met de gewone ordening: (a) 32p → 23p (b) 23p → 32p (c) 3F 2F ⊥ (d) 3P > → 3P 2P ⊥ (e) 3P 3F q → (3P q ∨ q ∨ 3F q) Opgave 2.2 Bewijs Propositie 2.7. Opgave 2.3 (a) Geef een ordening die zowel dicht als discreet is. (b) Geef een ordening die noch dicht, noch discreet is. Opgave 2.4 Bewijs Propositie 2.10. Opgave 2.5 Gegeven zijn de formules (τ ) (3F 2F p ∧ 3F ¬p) → 3F (¬p ∧ 2F p) en (γ) (3F 2F p ∧ 3F ¬p) → 3F (2F p ∧ 2P 3F ¬p) (a) Laat zien dat τ geldig is in het temporele frame Z = (Z, <). (b) Laat zien dat τ niet geldig is in het temporele frame Q = (Q, <). (c) Laat zien dat γ niet geldig is in het temporele frame Q = (Q, <). (d) Is γ geldig in het temporele frame R = (R, <)? Opgave 2.6 Niet in alle gevallen verlangen we transitiviteit van de toegankelijkheidsrelatie in een frame dat het begrip ‘tijd’ modelleert. Beschouw bijvoorbeeld het het frame D = (W, R), waarbij W = {ma, di, . . . , zo} de verzameling dagen van de week is, en Rxy geldt als y hoogstens drie dagen na x komt. We maken hier ook gebruik van de ‘morgen’-operator ⊗, die in modellen op D de volgende waarheidsdefinitie heeft: M, ma ⊗ϕ M, di ⊗ϕ etc. als als M, di ϕ M, wo ϕ Temporele logica/ 28 (a) Laat zien dat de formule 3F 3F p → 3F p niet geldig is in dit frame. (b) Laat zien dat de formule ⊗q → 3P 3P q geldig is in D. (c) Stel nu dat we het werkrooster van een continu draaiende fabriek willen modelleren met behulp van deze structuur. Neem aan dat we de volgende proposities gebruiken: week ox mx nx fl x fl + x ≡ ≡ ≡ ≡ ≡ ≡ het is een ‘gewone’ werkdag werknemer x heeft ochtenddienst werknemer x heeft middagdienst werknemer x heeft nachtdienst werknemer x verdient gewoon werknemer x verdient extra Hoe kan men nu de volgende uitspraken weergeven in een modale formule? 1. als x nacht- of weekend dienst draait, krijgt hij extra geld 2. als x vrij heeft, verdient hij niet 3. de dag na een nachtdienst mag x geen ochtenddienst draaien 4. x mag niet zeven dagen achter elkaar werken 5. x heeft altijd vrij op zondag Moeten er nog bijzondere voorwaarden gelden voor de interpretatie van de propositionele variabele week? Opgave 2.7 Gegeven is de zogenaamde next-time operator ⊗ met de volgende waarheidsdefinitie op het frame N : (N , π), n ⊗ϕ ⇐⇒ (N , π), n + 1 ϕ. (a) Laat zien dat deze operator definieerbaar is met behulp van de until-operator. (b) Stelt u zich voor dat u een regel- en meetsysteem formaliseert, waarbij u gebruik maakt van de volgende propositionele variabelen: pd pt ≡ de druk wordt gemeten ≡ de temperatuur wordt gemeten Hoe kunt u nu weergeven dat de druk en de temperatuur om de beurt worden gemeten? Geef hierbij aan of sprake is van waarheid in een wereld, (en zo ja, welke,) waarheid in een model, of geldigheid in het frame N ? (c) Beschouw het model M = (N , π) waarbij π wordt gedefineerd door: 1 als n een drievoud is π(n)(p) = 0 anders Laat zien dat voor alle formules ϕ in de gewone modale taal geldt voor alle n ∈ N: M, n ϕ ⇐⇒ M, n + 3 ϕ. Laat zien dat hier uit volgt dat voor alle gewone modale formules ϕ geldt: M, 1 ϕ ⇐⇒ M, 2 ϕ. Temporele logica/ 29 (d) Laat zien dat de next-time operator niet kan worden gedefinieerd in de gewone modale taal. Opgave 2.8 Laat zien dat de formule >U > → ⊥U > de klasse van discrete frames karakteriseert binnen de klasse van alle totale temporele frames. Opgave 2.9 Pas de definitie van een bisimulatie zodanig aan dat voor alle formules ϕ in de temporele taal (dat wil zeggen, met de operatoren 3F en 3P ) het equivalent van Stelling 1.22 geldt. Opgave 2.10 Beschouw de frames Z = (Z, <) en G = (W, R), waarbij < de (irreflexieve) ordening is van de gehele getallen, en W en R gegeven worden door: W R = {a} = {(a, a)}. (a) Gegeven is een valuatie τ op G. Definieer een valuatie π op F zó dat (F, π), 0 ↔ (G, τ ), a. (b) Leid af uit (a) dat er geen modale formule bestaat die de klasse van irreflexieve frames karakteriseert. (c) Is er wel een temporele formule die de klasse van irreflexieve frarmes karakteriseert? Epistemische logica/ 30 3 Epistemische logica 3.1 inleiding In veel gebieden van de informatica, en natuurlijk met name binnen de kunstmatige intelligentie, is men geı̈nteresseerd in het beschrijven en representeren van de kennis van een agent, of de informatie die een agent tot zijn beschikking heeft. De epistemische logica is de tak van modale logica die zich, op een formele en abstracte wijze, bezighoudt met het redeneren over de notie ‘kennis’ en haar eigenschappen. Laten we eerst een voorbeeld geven van het soort problemen dat de kennislogica probeert te analyseren: Voorbeeld 3.1 Het volgende voorbeeld speelt, in verschillende gedaantes en onder verschillende namen2 , een belangrijke rol binnen de informatica in de discussie over de relatie tussen kennis, actie en communicatie. Wij citeren uit Y. Moses, D. Dolev & J.Y. Halpern, Cheating husbands and other stories: a case study of knowledge, action and communication3 : The queens of the matriarchal city-state of Mamajorca, on the continent of Atlantis, have a long record of opposing and actively fighting the male infidelity problem. Ever since the technologically-primitive days of queen Henrietta I, women in Mamajorca have been required to be in perfect health and pass an extensive logic and puzzle-solving exam before being allowed to take a husband. The queens of Mamajorca, however, were not required to show such competence. It has always been common knowledge among the women of Mamajorca that their queens are truthful and that the women are obedient to the queens. It was also common knowledge that all women hear every shot fired in Mamajorca. Queen Henrietta I awoke one morning with a firm resolution to do away with the male infidelity problem in Mamajorca. She summoned all of the women heads-of-households to the town square and read them the following statement: There are (one or more) unfaithful husbands in our community. Although none of you knew before this gathering whether your own husband was faithful, each of you knows which of the other husbands are unfaithful. I forbid you to discuss the matter of your husband’s fidelity with anyone. However, should you discover that your husband is unfaithful, you must shoot him on the midnight of the day that you find out about it. Thirty nine silent nights went by, and on the fortieth night, shots were heard. In dit hoofdstuk werken we toe naar een formeel systeem, waarin we dit soort puzzeltjes kunnen beschrijven en zo mogelijk oplossen. We definiëren nu eerst de syntax van de epistemische logica: Definitie 3.2 We definiëren de taal van de epistemische logica met n kenners (n is een positief natuurlijk getal). Het alfabet van deze taal is het alfabet van de klassieke propositionele logica, uitgebreid met n éénplaatsige operatoren K1 , K2 , . . . , Kn . De verzameling formules in deze taal wordt op de gebruikelijke manier gedefinieerd. De operatoren K1 , K2 , . . . , Kn zijn kennis-operatoren; met de volgende geı̈ntendeerde betekenis Ki ϕ ≡ kenner i weet dat ϕ, 2 3 Een isomorf puzzeltje is bekend onder de naam ‘muddy children problem’. IBM Research Report RJ 4756 (50524) 6/27/85. Epistemische logica/ 31 of, in een toepassing van gedistribueerde systemen: Ki ϕ ≡ processor i bezit de informatie ϕ. Conventie 3.3 We zullen in het algemeen vrij slordig zijn in het aangeven van het aantal kenners. Als we over systemen met slechts één kenner spreken, gebruiken we meestal de notatie K in plaats van K1 . We zijn in eerste instantie geı̈nteresseerd in formele afleidingssystemen voor epistemische logica’s; daarna zullen we ook een semantiek voor epistemische talen ontwikkelen. Voorbeeld 3.4 Ter inleiding proberen we om een gedeelte van de oplossing van het ‘cheating husbands’ raadsel te formaliseren. Laten we eens uitgaan van de situatie waarin er drie vrouwen aanwezig zijn op het plein: mevrouw 1, 2 en 3. Neem verder aan dat alleen de echtgenoot van mevrouw 1 ontrouw is. De uitspraak van de koningin bevat nieuws voor mevrouw 1: ze wist immers alleen dat mevrouw 2 en mevrouw 3 niet worden bedrogen. Als de koningin nu vertelt dat er overspel wordt gepleegd door één van de mannen 1, 2 of 3, dan moet dat wel haar eigen man zijn. Op de avond van de eerste dag zal zij dus haar man neerschieten. Om deze redenering nu formeel te maken, gebruiken we de propositionele variabelen z1 , z2 en z3 , waarvoor we de volgende betekenis in gedachten hebben in dit voorbeeld (voor i ∈ {1, 2, 3}): zi ≡ mevrouw i wordt bedrogen. Het doel is nu om een formeel systeem te ontwikkelen waarmee we de volgende afleiding kunnen maken: {K1 (z1 ∨ z2 ∨ z3 ), K1 ¬z2 , K1 ¬z3 } ` K1 z1 We zullen deze afleiding presenteren in een soort natuurlijk-deductie formaat. Daarbij zullen we een aantal keren een stelling nodig hebben die niet met behulp van de klassieke logica kan worden afgeleid. Het werkelijke doel van dit hoofdstuk over epistemische logica is dan om een afleidingssysteem te ontwikkelen, waarin deze ‘K-stellingen’ kunnen worden afgeleid. De eerste stap van onze afleiding is het nieuwtje dat mevrouw 1 oppikt uit de uitspraak van de koningin, namelijk dat ze weet dat er overspel wordt gepleegd in het dorp: (1) K1 (z1 ∨ z2 ∨ z3 ). Vervolgens hebben we nodig, dat als mevrouw 1 op de hoogte is van het overspel, dat ze dan beseft dat het haar eigen man betreft, omdat ze ook weet dat de echtgenoten 2 en 3 trouw zijn. De formule (2) hieronder is dus de eerste nog af te leiden ‘K-stelling’: (2) K1 (z1 ∨ z2 ∨ z3 ) → (K1 (¬z2 ∧ ¬z3 ) → K1 z1 ). Uit deze gegevens kunnen we het volgende afleiden met de gebruiksregel voor de implicatie: (3) K1 (¬z2 ∧ ¬z3 ) → K1 z1 . We moeten nu dus laten zien dat mevrouw 1 kennis heeft van de conjunctie ¬z2 ∧ ¬z3 . Nu heeft ze al weet van de afzonderlijke conjuncten: (4) K1 ¬z2 en (5) K1 ¬z3 , Epistemische logica/ 32 zodat we met behulp van een introductieregel voor ∧ kunnen concluderen tot: K1 ¬z2 ∧ K1 ¬z3 . (6) We hebben nu weer een K-stelling nodig: (7) K1 ¬z2 ∧ K1 ¬z3 → K1 (¬z2 ∧ ¬z3 ). Vanaf dit moment is de afleiding bijzonder eenvoudig: uit (6) en (7) leiden we af (met de gebruiksregel voor →): K1 (¬z2 ∧ ¬z3 ), (8) en dan zijn we klaar: uit (8) en (3) volgt, weer met G →: (9) K 1 z1 . In de volgende paragraaf zullen we een zogenaamd Hilbert-stijl of axiomatisch afleidingssysteem definiëren waarin we de formules (2) en (7) als stellingen kunnen afleiden. Met nadruk dient hier al vast vermeld te worden dat de afleiding die we in Voorbeeld 3.4 hebben gegeven, niet een correcte afleiding is in zo’n axiomatisch systeem. 3.2 axiomatiek: het systeem K In deze paragraaf ontwikkelen we een tamelijk simpel axiomatisch systeem voor de kennislogische taal uit de inleiding. We zullen laten zien dat we in dit systeem al in staat zijn om de ‘openstaande’ kennis-stellingen uit Voorbeeld 3.4 af te leiden. Definitie 3.5 Hilbert-stijl of axiomatische afleidingssystemen bestaan uit axioma’s en afleidingsregels. Een afleiding in een Hilbert-stijl afleidingssysteem H is een rijtje ϕ1 , . . . , ϕn van formules, zó dat elke ϕi óf een axioma is, of met behulp van de afleidingsregels kan worden verkregen uit formules ϕj1 , . . . , ϕjm die eerder in het rijtje voorkomen. Een formule heet afleidbaar in H, notatie: `H ϕ, als er een H-afleiding bestaat waarvan ϕ het laatste element vormt. Om ons eerste afleidingssysteem te kunnen geven, moeten we het begrip ‘substitutie’ invoeren: Definitie 3.6 Een (simultane) substitutie is een functie van propositionele variabelen naar epistemische formules. Zo’n functie σ kun je als volgt uitbreiden naar een totale functie σ̄ van formules naar formules: σ̄(p) = σ(p) σ̄(¬ϕ) = ¬σ̄(ϕ) σ̄(ϕ ∧ ψ) = σ̄(ϕ) ∧ σ̄(ψ) σ̄(Ki ϕ) = Ki σ̄(ϕ). In de praktijk schrijven we altijd σ in plaats van σ̄. Epistemische logica/ 33 Substituties doen dus niets anders dan simultaan alle voorkomens van een propositionele variabele in een formule op uniforme wijze te vervangen door een (andere) formule. Een voorbeeld: beschouw de substitutie σ waarvoor geldt σ(p) = q ∨ Ki r σ(q) = ¬s, dan geldt σ(¬(p ∨ r) ∧ Ki q) = ¬((q ∨ Ki r) ∨ r) ∧ Ki ¬s. NB: We hoeven dus alleen de voorkomens van q in de oorspronkelijke formule te vervangen.) We kunnen nu ons eerste afleidingssysteem geven: Definitie 3.7 Het axiomatische afleidingssysteem K n heeft de volgende axioma’s: klassieke tautologieën ϕ (CT ) Ki (p → q) → (Ki p → Ki q) (DB) voor elke klassieke tautologie ϕ. distributie voor alle operatoren Ki (1 ≤ i ≤ n). De afleidingsregels zijn: universele generalisatie ϕ Ki ϕ (U G) voor alle operatoren Ki (1 ≤ i ≤ n). modus ponens ϕ→ψ ψ substitutie ϕ ϕ σ(ϕ) (M P ) (SU B) voor alle substituties σ. Om weer te geven dat de formule ϕ afleidbaar is in het systeem Kn , gebruiken we de notatie: `K ϕ. Opmerking 3.8 Het feit, dat zowel de kennis-operatoren als het Hilbert-stijl systeem met een ‘K’ worden weergegeven, berust op een hier wat ongelukkig uitgevallen toeval. Met nadruk dient te worden gezegd, dat (U G), (M P ) en (SU B) de enige afleidingsregels zijn van het systeem K. Regels die u kent uit natuurlijke deductie-systemen zijn dus niet toegestaan in K-afleidingen (met uitzondering van de gebruiksregel voor de implicatie — dit is immers precies de regel Modus Ponens). Epistemische logica/ 34 Voorbeeld 3.9 Het is misschien nog belangrijker om een voorbeeld te geven van een rijtje formules die niet een afleiding in K vormen, dan voorbeelden van wat wel afleidingen zijn. Het volgende rijtje is geen correcte afleiding in het systeem K: (1) (2) (3) (4) p K1 p p → K1 p ϕ → K1 ϕ (aanname) (U G, 1) (I →, 1, 2) (SU B, 3) Immers, ten eerste mag je in het systeem K geen aannames gebruiken, en ten tweede behoort I → niet tot de regels van het systeem. Het zou ook heel vreemd zijn als we alle formules ϕ → K1 ϕ zouden kunnen afleiden; waarom zou uit een bewering ϕ volgen dat deze bekend is aan mevrouw 1? Voorbeeld 3.10 In de formalisering van het voorbeeld van de ‘cheating husbands’ hadden we de volgende formule nodig als een stelling: K1 (z1 ∨ z2 ∨ z3 ) → (K1 (¬z2 ∧ ¬z3 ) → K1 z1 ). Om ruimte te besparen, gebruiken we de volgende afkortingen: ϕ := z1 ∨ z2 ∨ z3 ψ := ¬z2 ∧ ¬z3 χ := z1 Het volgende rijtje epistemische formules vormt nu inderdaad een afleiding voor de gevraagde stelling: (1) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (10) (z1 ∨ z2 ∨ z3 ) → ((¬z2 ∧ ¬z3 ) → z1 ) (CT ) ϕ → (ψ → χ) (afspraak) K1 (ϕ → (ψ → χ)) (U G, 1) K1 (p → q) → (K1 p → K1 q) (DB) K1 (ϕ → (ψ → χ)) → (K1 ϕ → K1 (ψ → χ)) (SUB , 3) K1 ϕ → K1 (ψ → χ) (MP , 2, 4) K1 (ψ → χ) → (K1 ψ → K1 χ) (SUB , 3) (p → q) → ((q → r) → (p → r)) (CT ) (K1 ϕ → K1 (ψ → χ)) → ((K1 (ψ → χ) → (K1 ψ → K1 χ)) → (K1 ϕ → (K1 ψ → K1 χ))) (SUB , 7) (K1 (ψ → χ) → (K1 ψ → K1 χ)) → (K1 ϕ → (K1 ψ → K1 χ)) (MP , 5, 8) K1 ϕ → (K1 ψ → K1 χ) (MP , 6, 9) K1 (z1 ∨ z2 ∨ z3 ) → (K1 (¬z2 ∧ ¬z3 ) → K1 z1 ) (afspraak) Het zal duidelijk zijn dat het in het algemeen veel lastiger is om afleidingen te geven in axiomatische systemen dan met behulp van natuurlijke deductie (de naam ‘natuurlijk’ is niet voor niets gekozen). Merk bijvoorbeeld op hoe ingewikkeld het is in Voorbeeld 3.10 om van (5) en (6) naar (10) te komen. In veel gevallen, zoals het onderhavige, worden daarom verkorte regels geı̈ntroduceerd. Zulke verkorte regels mogen natuurlijk alleen worden toegepast als ze geen extra stellingen aan het systeem toevoegen: Propositie 3.11 De volgende regel is een afgeleide regel van Kn : ϕ→ψ ψ→χ ϕ→χ (†) Epistemische logica/ 35 Bewijs. Stel dat we afleidingen α1 , . . . , αm van ϕ → ψ en β1 , . . . , βk van ψ → χ hebben. (Merk op dat dit betekent dat αm de formule ϕ → ψ is, en βk de formule ψ → χ). Dan is het volgende rijtje formules een afleiding van ϕ → χ: (1) (2) .. . α1 α2 (ax) (. . .) ... (m) (m + 1) (m + 2) .. . ϕ→ψ β1 β2 (m + k) (m + k + 1) (m + k + 2) (m + k + 3) (m + k + 3) ψ→χ (. . .) (p → q) → ((q → r) → (p → r)) (CT ) (ϕ → ψ) → ((ψ → χ) → (ϕ → χ)) (SU B, m + k + 1) (ψ → χ) → (ϕ → χ) (M P, m, m + k + 2) ϕ→χ (M P, m + k, m + k + 3) (. . .) (ax) (. . .) ... 2 Als bewezen is dat een nieuwe regel afleidbaar is in het oude systeem, mag hij ook worden toegepast. De regel (†) wordt bijvoorbeeld gebruikt in het volgende voorbeeld: Voorbeeld 3.12 We geven nu een afleiding van de tweede formule die nog een open eindje vormde in onze formalisering van het ‘cheating husband problem’: (K1 ¬z2 ∧ K1 ¬z3) → K1 (¬z2 ∧ ¬z3 ) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 3.3 p → (q → (p ∧ q)) (CT ) K1 (p → (q → (p ∧ q))) (U G, 1) K1 (p → (q → (p ∧ q))) → (K1 p → K1 (q → (p ∧ q))) (SU B, DB) K1 p → K1 (q → (p ∧ q)) (M P, 2, 3) K1 (q → (p ∧ q))) → (K1 q → K1 (p ∧ q)) (SU B, DB) K1 p → (K1 q → K1 (p ∧ q)) (†, 4, 5) K1 ¬z2 → (K1 ¬z3 → K1 (¬z2 ∧ ¬z3 )) (SU B, 6) (p → (q → r)) → ((p ∧ q) → r) (CT ) (7) → ((K1 ¬z2 ∧ K1 ¬z3) → K1 (¬z2 ∧ ¬z3 )) (SU B, 8) (K1 ¬z2 ∧ K1 ¬z3) → K1 (¬z2 ∧ ¬z3 ) (M P, 7, 9) axiomatiek: de systemen T , S4 en S5 Het systeem K is maar heel beperkt als formalisering van het begrip ‘kennis’. Merk bijvoorbeeld op dat de K-stellingen die we konden afleiden ten behoeve van de ‘natuurlijke deductie’afleiding in Voorbeeld 3.4, geen melding maken van de relatie tussen kennis en waarheid, of van redeneringen over kennis. In deze paragraaf definiëren we een aantal Hilbert-stijl afleidingssystemen die een wat realistischer benadering vormen van het begrip kennis. Epistemische logica/ 36 Definitie 3.13 Beschouw de volgende formules: (A1) Ki p → p (A2) Ki p → Ki Ki p (A3) ¬Ki p → Ki ¬Ki p We definiëren nu de volgende Hilbert-stijl afleidingssystemen: T n is het systeem K n uitgebreid met het axioma A1, S4n is het systeem K n uitgebreid met de axioma’s A1 en A2, S5n is het systeem K n uitgebreid met de axioma’s A1, A2 en A3. Definitie 3.14 Laat H een Hilbert-stijl afleidingssysteem zijn. De door H gegenereerde logica ΛH wordt gedefinieerd als de verzameling stellingen van H: ΛH = {ϕ | `H ϕ}. Logica’s, die door uitbreidingen van het basissysteem K worden gegenereerd, heten wel normale modale logica’s. Conventie 3.15 In de praktijk zullen we afleidingssystemen en de logica’s die ze genereren vaak identificeren. We spreken bijvoorbeeld over de ‘logica’s’ K, T , S4 of S5. Een motivatie van deze axioma’s: A1 is het waarheidsaxioma, dat stelt dat je alleen dingen kunt weten die waar zijn. A2 en A3 zijn de zogenaamde introspectie-axioma’s: A2 stelt dat agens i weet dat hij iets weet (positieve introspectie), en volgens A3 weet hij dat hij iets niet weet (negatieve introspectie). Het zal duidelijk zijn dat de redelijkheid van deze nieuwe axioma’s een punt van discussie kan zijn. Het eerste axioma zal door vrijwel iedereen worden geaccepteerd — in het geval van een onware bewering p zullen we niet zeggen dat iemand p weet, maar bijvoorbeeld dat hij p denkt te weten. Het positieve introspectie-axioma is al wat controversiëler, en het derde kennis-axioma is zelfs tamelijk dubieus: stelt u zich voor dat iemand niet weet dat Marie de moeder is van Kees, omdat hij van het bestaan van Marie of Kees niet eens op de hoogte is. Dan ligt het niet voor de hand om aan te nemen dat onze kenner weet dat hij niet weet dat Marie de moeder van Kees is . . . Desalniettemin wordt het systeem S5n meestal gebruikt als ‘de’ kennislogica. De reden hiervoor is gedeeltelijk technisch: het systeem S5n heeft een aantal prettige logische eigenschappen, en gedeeltelijk gegeven door toepassingen van kennislogica bij het redeneren over gedistribueerde en sommige kunstmatig intelligente systemen. Eén van de prettige eigenschappen van het systeem S51 is dat we nestingen van Koperatoren en negatie-tekens kunnen ‘platslaan’: de formule K¬¬K¬KKp is bijvoorbeeld S5-bewijsbaar equivalent met de formule ¬Kp. Meer in het algemeen kunnen we de volgende propositie bewijzen: Propositie 3.16 Laat X een string zijn over het alfabet {¬, K}. Dan geldt voor alle formules ϕ: `S5 XKϕ ↔ Kϕ als X een even aantal voorkomens van ¬ bevat (?) `S5 XKϕ ↔ ¬Kϕ als X een oneven aantal voorkomens van ¬ bevat Bewijs. Het bewijs verloopt met inductie naar de lengte |X| van X. Laat n(X) het aantal voorkomens zijn in X van het negatie-teken. Epistemische logica/ 37 basisstap |X| = 0. In dit geval is X het lege rijtje; n(X) = 0, dus het aantal voorkomens van het negatie-teken is even. (?) geldt vanwege de volgende afleiding: (1) p↔p (CT ) (2) Kϕ ↔ Kϕ (SUB , 1) inductiestap |X| > 0. Onderscheid de volgende twee gevallen: 1. X is van de vorm ¬Y . Volgens de inductiehypothese geldt (?) voor Y . Merk op dat geldt: n(X) = n(Y ) + 1. Er zijn twee mogelijkheden: In het eerste geval is n(X) even, en n(Y ) dus oneven. Wegens de inductiehypothese geldt dan dat de formule Y Kϕ ↔ ¬Kϕ afleidbaar is in S5. Met behulp van de volgende afleiding: (1) (2) (3) (4) (p ↔ ¬q) → (¬p ↔ q) (CT ) (Y Kϕ ↔ ¬Kϕ) → (¬Y Kϕ ↔ Kϕ) (SUB , 1) (Y Kϕ ↔ ¬Kϕ) (IH ) (¬Y Kϕ ↔ Kϕ) (MP , 2, 3) is dan de formule XKϕ ↔ Kϕ afleidbaar. Het tweede geval, waarin n(X) oneven is, verloopt analoog. 2. X is van de vorm KY . Volgens de inductiehypothese geldt (?) voor Y . Merk op dat nu geldt: n(X) = n(Y ). Er zijn weer twee mogelijkheden: n(X) is even of oneven. We behandelen alleen het geval waarin n(X) even is. In dit geval heeft ook Y een even aantal voorkomens van ¬, zodat volgens (?) geldt: `S5 Y Kϕ ↔ Kϕ. Bekijk nu de volgende afleiding: (1) (2) (3) Y Kϕ ↔ Kϕ (p ↔ q) → (p → q) (Y Kϕ ↔ Kϕ) → (Y Kϕ → Kϕ) (4) (5) (6) (7) (8) (9) (10) (11) (Y Kϕ → Kϕ) (MP , 1, 3) K(Y Kϕ → Kϕ) (UG, 4) K(p → q) → (Kp → Kq) (DB ) K(Y Kϕ → Kϕ) → (KY Kϕ → KKϕ) (SUB , 6) KY Kϕ → KKϕ (MP , 5, 7) Kr → r (A1) KKϕ → Kϕ (SUB , 9) KY Kϕ → Kϕ (†, 8, 10) (IH ) (CT ) (SUB , 2) Epistemische logica/ 38 (12) (13) (p ↔ q) → (q → p) (Y Kϕ ↔ Kϕ) → (Kϕ → Y Kϕ) (14) (15) (16) (17) (18) (19) (20) (Kϕ → Y Kϕ) K(Kϕ → Y Kϕ) K(Kϕ → Y Kϕ) → (KKϕ → KY Kϕ) KKϕ → KY Kϕ Kr → KKr Kϕ → KKϕ Kϕ → KY Kϕ (21) (22) (23) (r → s) → ((s → r) → (r ↔ s)) (CT ) (KY Kϕ → Kϕ) → ((Kϕ → KY Kϕ) → (KY Kϕ ↔ Kϕ)) (SUB , 21) (Kϕ → KY Kϕ) → (KY Kϕ ↔ Kϕ) (MP , 11, 22) (24) KY Kϕ ↔ Kϕ Deze afleiding getuigt van de afleidbaarheid van XKϕ ↔ Kϕ. 3.4 (CT ) (SUB , 12) (MP , 1, 13) (UG, 14) (SUB , 6) (MP , 15, 16) (A2) (SUB , 18) (†, 17, 19) (MP , 20, 23) 2 semantiek van de epistemische logica Hoeveel trucjes (in de vorm van afgeleide regels, of handige zoekstrategieën) u ook introduceert voor de axiomatische kennis-systemen, het vinden van een afleiding voor een stelling blijft een moeilijke opgave. Daarnaast is er ook nog het probleem, hoe je kunt laten zien dat een bepaalde formule niet een stelling is van de logica. Daarom is het vaak handig, om een bepaalde semantiek te ontwikkelen bij een gegeven logica4 . We behandelen hier de modale semantiek voor de epistemische logica. Definitie 3.17 (semantiek) Gegeven is een positief getal n. Een epistemisch (n-)frame is een structuur F = (W, R1 , . . . , Rn ) waarbij elke Ri een tweeplaatsige relatie is tussen toestanden in W . Een epistemisch (n-)model is een structuur M = (F, π) waarbij F een epistemisch frame is en π een valuatie. Waarheid van een formule in een wereld wordt weer inductief gedefinieerd; hierbij geldt als clausule voor de kennisoperator Ki : M, s Ki ϕ ⇐⇒ M, t ϕ voor alle t zó dat Ri st. Met andere woorden: de kennisoperatoren zijn blokjes. We kunnen deze semantiek als volgt intuı̈tief maken: als twee toestanden s en t in de relatie Ri staan, dan zeggen we dat kenner i, vanuit s gezien, de toestand t nog voor mogelijk houdt. Zo gezien, moet inderdaad de formule Ki ϕ (‘i weet dat ϕ’) waar zijn in een toestand u precies als ϕ waar is in elke toestand die i voor mogelijk houdt in u: als i de formule ¬ϕ niet meer voor mogelijk houdt, dan weet hij ϕ. De vraag is nu, hoe ‘goed’ deze semantiek is voor de gegeven logica’s, bijvoorbeeld voor het systeem K. Deze vraag kan worden gesplitst in twee delen: correctheid Om te beginnen willen we natuurlijk dat alle formules die we als stellingen kunnen afleiden in het systeem K, ook geldig zijn in de semantiek. Als dit het geval 4 Deze motivatie keert de gebruikelijke volgorde om: meestal gaat men juist uit van een bepaalde semantiek voor een (modale) taal, en probeert men daarbij een geschikt (vgl. Definitie 3.18) bewijssysteem te vinden. Epistemische logica/ 39 is, dan kunnen we immers bewijzen dat een formule ϕ geen stelling is van K, namelijk door te laten zien dat ϕ niet algemeen geldig is in elk frame. volledigheid Aan de andere kant kan men zich afvragen hoe adekwaat K het concept ‘modale geldigheid’ beschrijft. Hierbij gaat het om de kwestie, of er in K een afleiding bestaat voor elke geldige formule. In het algemeen definiëren we: Definitie 3.18 Laat H een bepaalde logica zijn, en C een bepaalde klasse van frames. We zeggen dat H correct is met betrekking tot C, als elke H-stelling geldig is in C, oftewel, als geldt5 : `H ϕ =⇒ C |= ϕ. Omgekeerd, als elke formule die geldig is in C afleidbaar is in H; C |= ϕ =⇒ `H ϕ, dan zeggen we dat H volledig is voor C. Conventie 3.19 Het is gebruikelijk, maar erg onhandig, dat de term ‘volledigheid’ ook wordt gebruikt voor de conjunctie van ‘volledigheid’ en ‘correctheid’. Dat is bijvoorbeeld het geval in de volgende stelling. In het geval van K kunnen we inderdaad correctheid en volledigheid bewijzen: Stelling 3.20 (Volledigheid voor K) Voor alle epistemische formules ϕ geldt: `K ϕ ⇐⇒ |= ϕ. Bewijs. We bewijzen alleen maar één kant van deze bewering, namelijk correctheid (de richting volledigheid is op dit moment te moeilijk). We moeten dus laten zien dat voor alle epistemische formules geldt: `K ϕ =⇒ |= ϕ. (8) Het bewijs van (8) verloopt met inductie naar de lengte k van het bewijs van ϕ. basisstap: k = 1 In dit geval is ϕ dus een axioma; dat betekent dat ϕ óf een propositionele tautologie is (en dus zeker geldig) óf het distributieaxioma Ki (p → q) → (Ki p → Ki q). Van deze formule is de geldigheid eenvoudig aan te tonen. inductiestap: k > 1 In dit geval bestaat er een afleiding ϕ1 , . . . , ϕk voor ϕ. (Merk op dat ϕk , de laatste formule van het rijtje, gelijk is aan ϕ.) Volgens de inductiehypothese mogen we aannemen dat elke formule ϕi geldig is, als i kleiner is dan k. Onderscheid nu de volgende gevallen, al naar gelang de afleidingsregel die we hebben toegepast in de laatste stap: 5 Voor de notatie ‘C |= ϕ’ verwijzen we naar Definitie 1.14. Epistemische logica/ 40 UG In dit geval is ϕk van de vorm Ki ϕj voor zekere kennisoperator Ki en zekere j met 1 ≤ j < k. We laten nu zien dat Ki ϕj een geldige formule is. Beschouw dus een willekeurig frame F, een willekeurige valuatie π op F, en een willekeurige toestand s in F. We moeten laten zien dat (F, π), s Ki ϕj . Stel dus dat t een willekeurige Ri -opvolger is van s. Volgens de inductiehypothese geldt dat ϕj een geldige formule is. Dat betekent dat (F, π), t ϕj . Volgens de waarheidsdefinitie van Ki geldt dan inderdaad dat (F, π), s Ki ϕj . SUB Nu is ϕk van de vorm σϕj voor de één of andere ϕj die eerder in het rijtje voorkomt. Volgens de inductiehypothese weten we dat ϕj geldig is. Het feit dat σϕj geldig is volgt uit Propositie 3.21 hieronder. MP Dit geval wordt overgelaten aan de lezer. 2 De volgende Propositie dicht het laatste open gaatje van het bovenstaande bewijs: Propositie 3.21 Laat ϕ een epistemische formule zijn, C een klasse van epistemische frames, en σ een substitutie. Dan geldt: C |= ϕ =⇒ C |= σϕ. Bewijs. We bewijzen de propositie met contrapositie. Stel dus dat de formule σϕ niet geldig is in C. Dan is er dus (per definitie) een frame F in C zó dat F 6|= σϕ. We zullen laten zien dat dan ook de formule ϕ niet geldig is in F. We weten dat er een valuatie π op F en een toestand s in F bestaan zodanig dat (F, π), s 6 σϕ. Definieer nu de volgende valuatie π 0 : 1 als (F, π), x σ(p), π 0 (x)(p) := 0 anders Vervolgens laten we zien dat voor alle formules ψ geldt: (F, π 0 ), t ψ ⇐⇒ (F, π), t σψ. Hieruit volgt onmiddelijk dat (F, π 0 ), s 6 ϕ, waardoor ϕ niet geldig kan zijn in F. Het bewijs van (?) verloopt met formule-inductie: basisstap: ψ is een propositionele variabele. Dan geldt (?) per definitie van π 0 . inductiestap: ψ is een complexe formule. Onderscheid de volgende gevallen: 1. ψ is van de vorm ¬ψ1 . Dan geldt: (F, π 0 ), t ¬ψ1 ⇐⇒ (F, π 0 ), t 6 ψ1 ⇐⇒ (F, π), t 6 σ(ψ1 ) ⇐⇒ (F, π), t ¬σ(ψ1 ) ⇐⇒ (F, π), t σ(¬ψ1 ). (?) Epistemische logica/ 41 2. ψ is van de vorm ψ1 ∧ ψ2 . Dit geval wordt aan de lezer overgelaten. 3. ψ is van de vorm Ki ψ1 . Dan geldt: (F, π 0 ), t Ki ψ1 ⇐⇒ (F, π 0 ), u ψ1 voor alle u zdd Ri tu ⇐⇒ (F, π), u σ(ψ1 ) voor alle u zdd Ri tu ⇐⇒ (F, π), t Ki σ(ψ1 ) ⇐⇒ (F, π), t σ(Ki ψ1 ). 2 Voorbeeld 3.22 Op grond van de Correctheidsstelling voor K kunnen we nu laten zien dat bijvoorbeeld het axioma A1 niet afleidbaar is in K. Beschouw het model F = (W, R) waarbij W = {a, b}, R = {(a, b)} en π is zódanig dat p alleen waar is in b. Dan geldt (F, π), a 6 Kp → p. Het axioma A1 is dus niet algemeen geldig, en wegens de Correctheidsstelling voor K dan ook niet afleidbaar in K. De vraag is dan, of we ook voor de systemen T , S4 en S5 volledigheidsresultaten kunnen bewijzen. Laten we eerst eens naar het systeem T kijken. Het zal uit Voorbeeld 3.22 duidelijk zijn dat we, om correctheid te behouden, de frameklasse voor T moeten inperken. Merk op dat we in paragraaf 1 hebben laten zien dat het axioma A1 (of zoals we het daar schreven: 2p → p) de klasse van reflexieve frames karakteriseert. Het ligt daarom voor de hand om te proberen een volledigheidsresultaat te bewijzen voor T met betrekking tot de klasse van reflexieve frames. Op dezelfde manier is het een goede suggestie om te bewijzen dat S4 correct en volledig is met betrekking to de klasse van reflexieve en transitieve frames. Voor S5 liggen de zaken net iets ingewikkelder, al is er wel een frame conditie die met het axioma A3 correspondeert: Propositie 3.23 Het axioma A3 karakteriseert de klasse van frames waarin elke relatie Ri euclidisch is. Bewijs. Dit bewijs laten we als een oefening aan de lezer. 2 In eerste instantie kunnen we bewijzen dat het axiomasysteem S5n volledig is met betrekking tot de klasse van frames waarin alle relaties reflexief, transitief en euclidisch zijn. In Opgave 3.3 wordt echter bewezen dat dit precies die frames zijn waar alle relaties equivalentierelaties zijn. Definitie 3.24 Gegeven is een natuurlijk getal n. We definiëren de volgende klassen van epistemische frames: Cnr de klasse van n-frames, waarin elke Ri reflexief is Cnrt de klasse van n-frames, waarin elke Ri reflexief en transitief is Cneq de klasse van n-frames, waarin elke Ri een equivalentierelatie is Stelling (i) (ii) (iii) 3.25 (Volledigheid voor T , S4 en S5) Voor alle epistemische n-formules ϕ geldt: `T n ϕ ⇐⇒ Cnr |= ϕ. `S4n ϕ ⇐⇒ Cnrt |= ϕ. `S5n ϕ ⇐⇒ Cneq |= ϕ. Epistemische logica/ 42 Bewijs. Het bewijs voor de richting ‘volledigheid’ slaan we over; in opgave 3.7 wordt u gevraagd zelf het correctheidsbewijs te geven. 2 Opmerking 3.26 De axioma’s A1, A2 en A3 gedragen zich erg ‘netjes’ in de zin dat ze aan de volgende condities voldoen (geformuleerd voor een afzonderlijk axioma, maar het gaat ook op voor willekeurige combinaties van axioma’s uit de verzameling {A1, A2, A3}): 1. de formule A karakteriseert een klasse C van frames 2. de logica KA die we verkrijgen door de formule A als axioma aan het basissysteem K toe te voegen is niet alleen correct, maar ook volledig met betrekking tot deze klasse C. Met grote nadruk vermelden we, dat zulke ‘nette’ formules uitzonderingen op de regel zijn. Het is wel zo, dat de logica KA altijd correct is met betrekking tot de klasse van frames die door de formule A wordt gekarakteriseerd (waarom?). Er zijn echter legio voorbeelden van formules A waarvoor geldt dat de logica KA niet volledig is voor de klasse van frames die door A worden gekarakteriseerd. Jammer genoeg zijn deze voorbeelden te ingewikkeld om hier te behandelen. We kunnen deze stelling nu weer toepassen om te laten zien dat bepaalde formules niet afleidbaar zijn in de systemen T , S4 of S5: Voorbeeld 3.27 We kunnen nu laten zien dat bijvoorbeeld de formule p → Kp niet afleidbaar is in S5. Beschouw het frame F = (W, W × W ), waarbij W = {a, b}. Stel dat de valuatie π de variabele p alleen waar maakt in a. Dan geldt (F, π), a 6 p → Kp, zodat p → Kp niet geldig is in de klasse Ceq . Wegens de Correctheidsstelling 3.25.(iii) voor S5 is deze formule dan niet afleidbaar in S5. Aan de andere kant kunnen we ook laten zien dat een formule juist wel afleidbaar is in één van onze logica’s, zonder daarvoor een afleiding te hoeven geven: Voorbeeld 3.28 Beschouw de formule α ≡ ¬K¬Kp → p. We laten zien dat Ceq |= α. Laat F = (W, ∼) een frame zijn zó dat ∼ een equivalentierelatie is op W . Laat vervolgens π een willekeurige valuatie zijn, en s een willekeurige toestand in W . We nemen aan dat s ¬K¬Kp, en laten zien dat s p. Uit s ¬K¬Kp volgt dat niet voor elke x in de equivalentieklasse van s geldt dat x ¬Kp. Er is dus een t met s ∼ t zó dat t 6 ¬Kp, oftewel: t Kp. Maar dan geldt s p, omdat s in de equivalentieklasse zit van t. Maar als α geldig is in de klasse Ceq , dan geldt wegens de Volledigheidsstelling voor S5 dat `S5 α. We besluiten deze paragraaf met een voorbeeld waarin een mogelijke toepassing van epistemische logica aan de orde komt. Voorbeeld 3.29 Beschouw een gedistribueerd systeem met processoren 1, . . . , n die met elkaar zijn verbonden via een communicatienetwerk. We nemen aan dat elke processor i steeds in een bepaalde locale toestand si verkeert. De globale toestand van het systeem wordt nu gedefinieerd als het n-tupel (s1 , . . . , sn ) bestaande uit de n verschillende locale toestanden. De epistemische relaties Ri worden als volgt gedefinieerd. We nemen aan dat de processor i ‘weet’ in welke toestand hij zelf verkeert, maar dat hij niets weet van de toestand van de andere processoren. Hij beschouwt dus alle globale toestanden als mogelijk, als de i-de coördinaat van deze globale toestand overeenkomt met zijn huidige locale toestand. Epistemische logica/ 43 Preciezer geformuleerd: we definiëren een gedistribueerd epistemisch frame als volgt: F S Ri = (S, Ri )1≤i≤n , = {(s1 , . . . , sn ) | elke si is een locale toestand van processor i} = {(s̄, t̄ ) | si = ti }. Merk op dat in deze frames de relaties Ri inderdaad equivalentierelaties zijn. Hieruit volgt dat de logica S5 geldig is in zulke frames. 3.5 algemene en gemeenschappelijke kennis Laten we nu eens onderzoeken of we al voldoende formeel materiaal hebben ontwikkeld om de ‘cheating husbands’ puzzel te analyzeren. Voorbeeld 3.30 Stelt u zich nu voor dat zich vijf vrouwen op het marktplein hebben verzameld, waarvan er twee, zeg mevrouw 1 en mevrouw 2 worden bedrogen. We redeneren nu vanuit de positie van mevrouw 1: op het eerste gezicht bevat de boodschap van de koningin niets nieuws voor haar: zij weet immers al dat mijnheer 2 ontrouw is. Ze hoopt natuurlijk dat haar eigen man trouw is, en wacht in spanning de eerste nacht af. Als haar echtgenoot haar immers niet bedriegt, dan heeft mevrouw 2 uit de boodschap van de koningin de conclusie getrokken dat háár man ontrouw is, en zal het geweerschot van mevrouw 2 weerklinken. Omdat dit niet gebeurt (mevrouw 2 redeneert hetzelfde als mevrouw 1), moet mevrouw 1 wel tot de slotsom komen dat ook zij wordt bedrogen, en aldus klinken in de tweede nacht twee schoten. In werkelijkheid bevat de mededeling van de koningin dus wel nieuws: waar het feit dat er overspel in het dorp voorkwam voorheen algemene kennis was (iedereen wist het), is het nu gemeenschappelijke kennis geworden: iedereen weet het, maar ook weet iedereen dat iedereen het weet, en dat weet weer iedereen6 , enzovoort. We hebben dus in de taal van de epistemische logica ook nog de operatoren E en C nodig, met de volgende betekenis: Eϕ ∼ iedereen weet dat ϕ, Cϕ ∼ ϕ is gemeenschappelijke kennis. (Deze letter E staat voor ‘everybody knows’, de C voor ‘common knowledge’.) We zouden deze operatoren graag introduceren als afkortingen, bijvoorbeeld als volgt: Eϕ ≡ K1 ϕ ∧ K2 ϕ ∧ . . . ∧ Kn ϕ Cϕ ≡ Eϕ ∧ EEϕ ∧ EEEϕ ∧ . . . Voor de algemene kennis-operator is dit een keurige definitie, maar voor C niet — de epistemische taal heeft immers geen oneindige conjuncties. Daarom worden deze operatoren toegevoegd aan de gewone epistemische taal: Definitie 3.31 Gegeven een aantal n > 0 van kenners, definiëren we de uitgebreide epistemische taal als volgt. Het alfabet is dat van de gewone epistemische taal, uitgebreid met twee éénplaatsige operatoren E en C. De verzameling formules van deze taal wordt weer gedefinieerd als gebruikelijk. 6 Voor het geval van twee overspelige echtgenoten (k = 2) is het voldoende dat iedereen weet dat iedereen het weet. Ga na dat in het geval k = 3 drie ‘kennis-nestingen’ nodig zijn, enzovoort. In het algemene geval, waarbij we niet weten hoeveel mannen er ontrouw zijn, hebben we aan eindige nestingen niet voldoende. Dit verschil wordt in Opgave 3.8 duidelijker uitgewerkt. Epistemische logica/ 44 Voor de semantiek van de nieuwe operatoren hoeven we geen nieuwe frames en modellen te creëren. De toegankelijkheidsrelatie van de common knowledge operator C wordt namelijk gedefinieerd als de transitieve afsluiting van die van RE , en deze relatie wordt weer gedefinieerd als de vereniging van alle ‘gewone’ relaties Ri . Definitie 3.32 Van een tweeplaatsige relatie R wordt de transitieve afsluiting R+ gedefinieerd als de kleinste transitieve relatie die R bevat. Equivalent hiermee is de volgende definitie: R+ bestaat uit die paren (s, t) zó dat er een R-pad loopt van s naar t. Deze laatste notie wordt als volgt gedefinieerd: er loopt een R-pad tussen s en t als als er punten u0 , . . . , un zijn (n > 0), waarvoor geldt s = u0 , t = un en u0 Ru1 R . . . Run . In een plaatje: q s = u0 R-q R-q Ru1 u2 ... q un−1 R-q un = t Definitie 3.33 Laat F = (W, R1 , . . . , Rn ) een epistemisch frame zijn. We definiëren de volgende relaties: RE = R1 ∪ . . . ∪ Rn RC = (RE )+ Laat nu π een valuatie zijn op F. We interpreteren de uitgebreide epistemische taal in het epistemische model M = (F, π) als volgt: M, s Eϕ M, s Cϕ ⇐⇒ ⇐⇒ M, t ϕ, voor alle punten t zó dat RE st. M, t ϕ, voor alle punten t zó dat RC st. De interpretatie van de algemene kennis-operator E door middel van de de vereniging van de relaties Ri in plaats van de doorsnede zal u wellicht verbazen; de formule Eϕ is toch juist bedoeld als de conjunctie van de formules K1 ϕ, . . . , Kn ϕ? Deze paradox wordt als volgt opgeklaard. Eϕ staat voor: iedereen weet ϕ. Wil nu de formule Eϕ waar zijn in een toestand s, dan moeten we voor iedere i nagaan of Ki ϕ waar is. Dat wil zeggen: voor iedere i moeten we in iedere toestand die Ri -bereikbaar is vanuit s, checken of ϕ er waar is. Dat houdt in, dat we ieder punt van de vereniging {t ∈ W | R1 st} ∪ . . . ∪ {t ∈ W | Rn st} moeten inspecteren. Maar dat betekent dat inderdaad RE = R1 ∪ . . . Rn . Ook de waarheidsdefinitie van de C-operator is de enige juiste: in Opgave 3.12 wordt u gevraagd de volgende Propositie te bewijzen: Propositie 3.34 In elke toestand s van elke epistemisch model M geldt: M, s Cp ⇐⇒ voor alle n > 0 geldt: M, s E n p. (Hierbij definiëren we E n ϕ inductief als volgt: E 0 p ≡ p, E n+1 p ≡ EE n p.) Epistemische logica/ 45 Voor de volledigheid vermelden we nog dat we ook voor de uitgebreide epistemische taal een axiomatiek kunnen ontwikkelen: Definitie 3.35 Laat H een van de logica’s K n , T n , S4n of S5n zijn. We definiëren het systeem H + als de uitbreiding van H met de volgende axioma’s: (AE) Ep ↔ K1 p ∧ . . . ∧ Kn p (DBC ) C(p → q) → (Cp → Cq) (C1) Cp → Ep (C2) Cp → ECp + (C ) C(p → Ep) → (Ep → Cp) en de universele generalisatie regel voor C: ϕ Cϕ (U GC ) We verklaren alleen het axioma C + , het zogenaamde inductie-axioma. Om precies te zijn, we laten zien dat C + geldig is in elk frame: Propositie 3.36 C + is geldig in elk epistemisch frame. Bewijs. Laat F een willekeurig epistemisch frame zijn, π een willekeurige valuatie op F, en s een willekeurige toestand in F. We gaan aantonen dat s C(p → Ep) → (Ep → Cp). Stel dus dat s C(p → Ep) en s Ep, dan moeten we laten zien dat s Cp. Bekijk nu een willekeurige toestand t in F waarnaar een RE -pad loopt vanuit s. Er zijn dus punten x0 , . . . , xn waarvoor geldt: x0 = s, xn = t en xi RE xi+1 , in een plaatje: RE - q RE - q RE s = x0 x1 x2 q ... RE - q xn−1 xn = t q We bewijzen nu met inductie naar i dat voor alle i ≥ 1 geldt: xi p. (9) basisstap: i = 1. Volgens één van onze aannames gold s Ep. Omdat sRE x1 , volgt dat x1 p. inductiestap: i = j + 1 (j ≥ 1). Merk om te beginnen op, dat er een RE -pad loopt van s naar xj . Omdat s C(p → Ep), is de formule p → Ep dus waar in xj . Maar volgens de inductiehypothese is p waar in xj . De conclusie is dat xj Ep, zodat xi p: het punt xi = xj+1 is immers een RE -opvolger van xj . Uit (9) volgt dat t p, immers t = xn . Maar omdat t willekeurig was, betekent dit dat s Cp. 2 Epistemische logica/ 46 Stelling 3.37 (Volledigheid voor common knowledge) Laat ϕ een formule zijn in de uitgebreide epistemische taal. Dan geldt: (i) `T n+ ϕ ⇐⇒ Cnr |= ϕ. (ii) `S4n+ ϕ ⇐⇒ Cnrt |= ϕ. (iii) `S5n+ ϕ ⇐⇒ Cneq |= ϕ. Epistemische logica/ 47 3.6 Opgaven Opgave 3.1 (a) Geef een afleiding voor `K K(p ∧ q) → (Kp ∧ Kq). (b) Geef een afleiding voor `K (Kp ∨ Kq) → K(p ∨ q). (c) Laat zien dat de volgende regel een afgeleide regel is van het systeem K: ϕ→ψ Kϕ → Kψ (D) (d) Geef een afleiding voor `K (¬K¬p ∧ K(p → q)) → ¬K¬q. Opgave 3.2 Bewijs de volgende beweringen door het geven van afleidingen: (a) `T p → ¬K¬p. (b) `T Kp → ¬K¬p. (c) `T ¬K¬p → ¬KK¬p. (d) `T ¬K(p ∧ ¬Kp). (Hint: laat zien dat `T K(p ∧ ¬Kp) → ⊥. (e) `T ¬K(KKp ∧ ¬Kp). Opgave 3.3 Gegeven is een tweeplaatsige relatie R. Bewijs de volgende beweringen: (a) Als R reflexief, transitief en euclidisch is, dan is R een equivalentierelatie. (b) Als R een equivalentierelatie is, dan is R euclidisch. (c) Als R reflexief en euclidisch is, dan is R transitief. Opgave 3.4 In deze opgave laten we zien dat de axiomatizering van S5 niet de zuinigste is die we hadden kunnen kiezen. U wordt gevraagd om axioma A2 af te leiden uit de logica Q die wordt gedefinieerd als het afleidingssysteem K met daaraan toegevoegd alleen de axioma’s A1 en A3. (a) Geef een afleiding voor `Q Kp → ¬K¬Kp. (b) Geef een afleiding voor `Q ¬K¬Kp → K¬K¬Kp. (c) Geef een afleiding voor `Q K¬K¬Kp → KKp. (d) Laat nu zien dat inderdaad `Q A2. (e) Denkt u dat er ook een semantisch bewijs is voor onderdeel (d)? Opgave 3.5 Gegeven is de formule α ≡ ¬K¬Kp → p. Epistemische logica/ 48 (a) Geef een afleiding voor `S5 α. (b) Toon aan dat 6`S4 α. (c) Vindt u het verdedigbaar dat α een wet van een kennislogica is? Opgave 3.6 Laat zien dat S52 6` K1 K2 p → K2 K1 p. Opgave 3.7 Bewijs de Correctheidsstelling voor T , S4 en S5. Opgave 3.8 Leg aan de hand van het zogenaamde Byzantijnse leger-probleem uit dat (in het geval van twee kenners), de common-knowledge operator C door geen enkel rijtje van operatoren Eϕ, EEϕ, EEEϕ kan worden vervangen: Twee geallieerde legers hebben hun tenten opgeslagen op twee aangrenzende heuvels. In de vallei tussen deze heuvels is de vijand gelegerd. De krachtsverhoudingen tussen deze drie legers is zó dat de geallieerden de vijand kunnen verslaan, maar alleen als ze samen de strijd inzetten, en op het zelfde moment aanvallen. Daarom is het van het grootste belang dat de gezamenlijke aanval goed wordt gepland. Op een zekere avond bedenkt generaal 1 (van het ene geallieerde leger) dat ze de ochtend daarop maar eens de strijd moesten aangaan. Hij stuurt daartoe een boodschapper naar generaal 2, met het bericht (p) het plan is om morgenochtend om zes uur aan te vallen. Hij vraagt echter nog een bevestiging van ontvangst, om te vermijden dat hij morgen in zijn eentje de vijand aan gaat vallen. Stel dat de koerier, die dwars door het vijandelijke gebied moet sluipen, het legerkamp van generaal 2 bereikt; deze schrijft een briefje dat zij met het plan akkoord gaat, en stuurt de koerier weer terug naar generaal 1. Generaal 2 wil echter zeker zijn dat haar antwoord aan is gekomen, in haar plaats ook om aan de smadelijke nederlaag te ontkomen die haar boven het hoofd hangt als generaal 1 niet te weten komt dat zij akkoord gaat met de aanval. Daarom vraagt zij generaal 1 om de boodschapper weer terug te sturen met het bericht dat hij haar ontvangstbevestiging inderdaad ontvangen heeft. Als nu generaal 1 dit briefje ontvangt, . . . Opgave 3.9 Laat zien dat in de frames zoals die beschreven worden in Voorbeeld 3.29, de volgende formule geldig is: Cp ↔ EEp. Opgave 3.10 Laat zien dat het axioma C2 geldig is in elk epistemisch frame. Opgave 3.11 Gegeven is een epistemisch model waar de formule p → Ep waar is. Laat zien dat dan ook de formule p → Cp waar is. Epistemische logica/ 49 Opgave 3.12 Bewijs Propositie 3.34 Opgave 3.13 Gegeven zijn twee epistemische modellen M en M0 met daarin twee toestanden s, resp. s0 zó dat geldt: M, s ↔ M0 , s0 . (Hierbij hanteren we de voor de hand liggende definitie: een bisimulatie tussen twee epistemische modellen moet aan de ‘heen-en-weer’-conditie voldoen voor elke relatie Ri .) (a) Laat zien dat als we de gewone epistemische taal uitbreiden met de algemene kennis-operator E, nog steeds voor iedere formule ϕ geldt: M, s ϕ ⇐⇒ M0 , s0 ϕ. (b) Laat nu zien dat ook in de uitgebreide epistemische taal (Definitie 3.31) voor iedere formule ϕ geldt: M, s ϕ ⇐⇒ M0 , s0 ϕ. (c) Volgt uit onderdeel (a) dat de E-operator definieerbaar is in de gewone epistemische taal? (d) Volgt uit onderdeel (b) dat de C-operator definieerbaar is in de gewone epistemische taal? Eigenschappen van relaties/ 50 A Eigenschappen van tweeplaatsige relaties Een tweeplaatsige relatie R heet: als R voldoet aan transitief reflexief irreflexief symmetrisch antisymmetrisch asymmetrisch euclidisch partieel functioneel serieel (of voortzettend) confluent rechts voortzettend links voortzettend functioneel een partiële ordening een temporele ordening een equivalentierelatie ∀xyz ((Rxy ∧ Ryz) → Rxz) ∀x Rxx ∀x ¬Rxx ∀xy (Rxy → Ryx) ∀xy ((Rxy ∧ Ryx) → x = y) ∀xy (Rxy → ¬Ryx) ∀xyz ((Rxy ∧ Rxz) → Ryz) ∀xyz ((Rxy ∧ Rxz) → y = z) ∀x∃y Rxy ∀yy 0 (∃x (Rxy ∧ Rxy 0 ) → ∃u (Ryu ∧ Ry 0 u)) ∀x∃y Rxy ∀x∃y Ryx partiële functionaliteit & serialiteit reflexiviteit, transitiviteit & antisymmetrie reflexiviteit & transitiviteit reflexiviteit, transitiviteit & symmetrie Een temporele ordening < heet: als < voldoet aan vertakkend rechts-lineair links-lineair lineair totaal dicht discreet: ∃xyz (x < y ∧ x < z ∧ y 6= z ∧ ¬y ≤ z ∧ ¬z ≤ y) ∀xyz ((x < y ∧ x < z) → (y < z ∨ y = z ∨ z < y)) ∀xyz ((y < x ∧ z < x) → (y < z ∨ y = z ∨ z < y)) rechts-lineariteit & links-lineariteit ∀xy (x < y ∨ x = y ∨ y < x) ∀xy (x < y → ∃z (x < z ∧ z < y)) ∀xy (x < y → ∃z (x < z ∧ z ≤ y ∧ ¬∃u (x < u ∧ u < z))) Hierbij is ≤ de ‘reflexieve versie’ van ≤, dat wil zeggen, we gebruiken het symbool als afkorting: x ≤ y ≡ (x < y ∨ x = y).