Deel I: Modale Logica

Vergelijkbare documenten
Logica voor AI. Bisimulatie en niet-karakteriseerbaarheid. Antje Rumberg. 21 november Correspondentie.

Formeel Denken 2014 Uitwerkingen Tentamen

Logica voor AI. Responsiecollege. Antje Rumberg. 12 december Kripke Semantiek. Geldigheid. De bereikbaarheidsrelatie

Logica voor AI. Inleiding modale logica en Kripke semantiek. Antje Rumberg. 14 november 2012

b) Niet geldig. Zij π(n)(p) = 1 als n is even, anders π(n)(p) = 0. Schrijf

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

Formeel Denken 2013 Uitwerkingen Tentamen

Logica voor AI. Bewijstheorie en natuurlijke deductie. Antje Rumberg. 28 november Kripke Semantiek.

Logica voor Informatica

3 De stelling van Kleene

Inleiding Wiskundige Logica

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

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

II.3 Equivalentierelaties en quotiënten

Logica als een oefening in Formeel Denken

Automaten. Informatica, UvA. Yde Venema

Logica 1. Joost J. Joosten

Logic for Computer Science

VERZAMELINGEN EN AFBEELDINGEN

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

III.2 De ordening op R en ongelijkheden

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

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

Tentamentips. Tomas Klos. 14 december 2010

Logica 1. Joost J. Joosten

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

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

Logica 1. Joost J. Joosten

Logica 1. Joost J. Joosten

Getallensystemen, verzamelingen en relaties

Verzamelingen. Hoofdstuk 5

Voortgezette Logica, Week 2

Formeel Denken. Herfst 2004

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Semantiek van predicatenlogica en Tractatus

Caleidoscoop: Logica

V.2 Limieten van functies

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

Wiskundige beweringen en hun bewijzen

IL-modellen en bisimulaties

Tentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur

Volledige inductie. Hoofdstuk 7. Van een deelverzameling V van de verzameling N van alle natuurlijke getallen veronderstellen.

Logica 1. Joost J. Joosten

Logica voor AI. Tijdslogica. Antje Rumberg. 07 december Kripke Semantiek. Tijdslogica. De bereikbaarheidsrelatie

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010

Samenvatting. TI1306 Redeneren & Logica Review Guide 2014 Door: David Alderliesten. Disclaimer

Logica 1. Joost J. Joosten

Logica voor AI. Verschillende modale systemen en correctheid. Antje Rumberg. 30 november 2012.

Verzamelingen deel 3. Derde college

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3

Semantiek 1 college 10. Jan Koster

Enkele valkuilen om te vermijden

opgaven formele structuren deterministische eindige automaten

Uitleg van de Hough transformatie

(Isomorfie en) RELATIES

Ternaire relaties in ERDs zijn lastig

Oefenopgaven Grondslagen van de Wiskunde A

1 Rekenen in eindige precisie

Samenvatting. Bijlage B

Analyse 1 Handout limieten en continuïteit

Honours projecten BSc Informatica: twee voorstellen

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

III.3 Supremum en infimum

Unitaire en Hermitese transformaties

Uitwerkingen Tentamen Wat is Wiskunde (WISB101) Donderdag 10 november 2016, 9:00-12:00

V.4 Eigenschappen van continue functies

Toegepaste Wiskunde 2: Het Kalman-filter

TENTAMEN WISKUNDIGE BEELDVERWERKINGSTECHNIEKEN

Combinatoriek groep 1

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Proposities. Hoofdstuk 2

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

behulp van een semantisch tableau en een daarmee geconstrueerd tegenvoorbeeld.

Predikatenlogica in Vogelvlucht

Logica voor Informatica. Propositielogica. Normaalvormen en Semantische tableaux. Mehdi Dastani

PROPOSITIELOGICA. fundament voor wiskundig redeneren. Dr. Luc Gheysens

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

Predikaatlogica, modellen en programma s

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Tweede huiswerkopdracht Lineaire algebra 1 Uitwerking en opmerkingen

Automaten & Complexiteit (X )

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Hebzucht loont niet altijd

Handout Natuurlijke Deductie

Aanvullingen bij Hoofdstuk 8

We beginnen met de eigenschappen van de gehele getallen.

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1

College Logica voor CKI

ling van die eigenschap binnen het model geldt. In het bijzonder bij het wiskundig modelleren van een programma kan een eigenschap met wiskundige zeke

TW2020 Optimalisering

Honours projecten BSc Informatica: twee voorstellen

Propositielogica. Evert De Nolf Delphine Draelants Kirsten Storms Evelien Weyn. 24 augustus Universiteit Antwerpen

Ter Leering ende Vermaeck

Tentamen IN1305-I Fundamentele Informatica 1, deel I: Logica

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Bewijs door inductie

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

Automaten & Complexiteit (X )

Inleiding Logica voor CKI, 2013/14

Transcriptie:

Deel I: Modale Logica

i Contents Inleiding 1 1 Modale logica: basisbegrippen 3 1.1 basisdefinities.................................... 3 1.2 karakteriseerbaarheid................................ 8 1.3 bisimulaties..................................... 10 1.4 Opgaven....................................... 14 2 Temporele logica 17 2.1 inleiding....................................... 17 2.2 bijzondere klassen van temporele frames..................... 19 2.2.1 lineaire vs vertakkende tijd........................ 19 2.2.2 dichte vs dicrete tijd............................ 20 2.2.3 bijzondere structuren............................ 21 2.3 alternatieve temporele talen............................ 22 2.4 computationele temporele logica......................... 23 2.5 Opgaven....................................... 27 3 Epistemische logica 30 3.1 inleiding....................................... 30 3.2 axiomatiek: het systeem K............................ 32 3.3 axiomatiek: de systemen T, S4 en S5...................... 35 3.4 semantiek van de epistemische logica....................... 38 3.5 algemene en gemeenschappelijke kennis..................... 43 3.6 Opgaven....................................... 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 en 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 ( ruitje, Engels: diamond ). Met andere woorden, gegeven een verzameling VAR = {p 0, p 1,...} 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 ϕ. Als afkortingen zullen we ook de boolese connectieven, en, en de constantes en gebruiken ϕ ψ staat voor ( ϕ ψ), voor p 0 p 0, enzovoort. Daarnaast gebruiken we ook de modale operator ( blokje, Engels: box ), met de volgende definitie: ϕ ϕ. Als bindingsconventie spreken we af dat unaire operatoren het sterkst binden, en en sterker dan en. In plaats van (( p) q) ( p) kunnen we nu korter schrijven: p 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 en was: mogelijk geldt ϕ voor ϕ noodzakelijk geldt ϕ voor ϕ. 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 ϕ als mogelijk geldt ϕ. Stel dat we in wereld s willen besluiten of de formule ϕ waar is of niet, en dat de werelden s, t 1, t 2 en t 3 de toegankelijke werelden zijn vanuit s als in het volgende plaatje: t 1 t 2 t 3 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, t 1, t 2 of t 3 bevinden. Daarom zal de formule ϕ waar zijn in s, als er tenminste één toegankelijke wereld is waarin ϕ zelf waar is. Analoog geldt, dat de formule ϕ waar is in s als ϕ waar is in elke wereld die in s voor mogelijk wordt gehouden. Dit impliceert dat ϕ waar is dan en slechts dan als er geen wereld toegankelijk is waar ϕ onwaar is: ϕ 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. definiëren de waarheid van ϕ in een toestand s van W inductief als volgt: We M, s p π(s)(p) = 1 M, s ϕ M, s ϕ M, s ϕ ψ M, s ϕ & 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 hebben we de volgende clausule: In het bijzonder geldt M, s ϕ M, t ϕ, voor elk punt t zó dat Rst. M, s 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. Voorbeeld 1.8 Beschouw het volgende model: b 0 b 1 b 2 p p p a 0 a1 a2 c 0 p, q c 1 p, q a3 Er geldt onder andere: a 0 (p q) (p q) a 2 (p ) a 0 (p q ) 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: s 1 p s 2 p s0 s 3 p s4 s 5 p s 6 p Het is duidelijk dat de formule p p waar is in het hele model, evenals de formule p. 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 π, gegeven door { π 1 als x {s0, s (x)(p) = 6 } 0 als x {s 1, s 2, s 3, s 4, s 5 }

Modale logica: basisbegrippen/ 7 Dan geldt (W, R, π ), s 0 p, omdat (W, R, π ), s 3 p. De formule p 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 p p voor een willekeurige wereld x. Als voorbeeld nemen we eerst x = s 3. We nemen dus aan dat (W, R, τ), s 3 p, en proberen aan te tonen dat (W, R, τ), s 3 p. Uit (W, R, τ), s 3 p volgt dat p waar is in elke opvolger van s 3, dus ook in s 3 zelf! De crux van deze redenering zit hem dus in het feit dat s 3 reflexief is: s 3 is een opvolger van zichzelf. Op dezelfde manier kunnen we voor ieder ander punt s i laten zien dat (W, R, τ), s i p 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: In een slogan kunnen we dus zeggen: F = ϕ (F, τ) ϕ voor elke valuatie τ. 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 in een model op dit frame is dan: (Wat is de intuïtieve betekenis van s ϕ?) Beschouw nu de valuatie π gegeven door s ϕ s grenst aan een land waar ϕ waar is. π(s)(p) = π(s)(q) = { 1 als s een romaanse taal als officiële taal heeft { 0 anders 1 als s een germaanse taal als officiële taal heeft 0 anders Dan geldt M σ, waarbij deze laatste formule gegeven wordt door (σ) (p q) (p q) ( 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 (p q). Evenzo impliceert Nederland p q dat Belgie ( p q). Op analoge wijze vinden we dat Luxemburg (p q) ( 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 π 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 ( 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, π ), Frankrijk σ, zodat Daarmee hebben we aangetoond dat (F, π ) σ. F = σ. Een voorbeeld van een formule die wel geldig is in F, is p p. We tonen aan dat F = p p. (2) Stel dus dat we een model M = (F, τ) voor ons hebben. We moeten laten zien dat p p in elk land waar is. Laat s dus een willekeurig land zijn. We nemen aan dat M, s p, en tonen aan dat M, s p. Uit M, s p volgt dat s grenst aan een land t waarvoor geldt: t p. 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 p p is geldig in de klasse van reflexieve frames (dwz: frames met een reflexieve toegankelijkheidsrelatie); De formule p p is geldig in de klasse van symmetrische frames. De formule (p q) ( p q) is universeel geldig. Voor beide formules geldt zelfs nog iets sterkers. Van de formule p p weten we niet alleen dat zij geldig is in elk reflexief frame, we kunnen ook aantonen dat p 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 = p p = F = x Rxx. (3) Stel immers dat F = (W, R) een frame is dat niet reflexief is: F = x Rxx. We moeten een valuatie π definiëren zodanig dat (F, π) p p. Naast de valuatie moeten we dus ook tenminste één punt vinden waar (F, π), s p p. Omdat R niet reflexief is, bestaat er tenminste één punt s in W waarvoor geldt dat (s, s) R. Laten we nu eens proberen om de formule p p onwaar te maken in s. We moeten dan twee dingen bewerkstelligen: 1. p moet waar zijn in s 2. p moet onwaar zijn in s. Om p 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 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 p p. De formule p 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 p 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 p p karakteriseert de (klasse van) reflexieve frames; symmetrie wordt gekarakteriseerd door de formule p p.

Modale logica: basisbegrippen/ 10 We geven nu nog een ander voorbeeld van een karakterisering: Propositie 1.18 De formule p p karakteriseert de frames met een transitieve toegankelijkheidsrelatie. Bewijs. We bewijzen alleen de moeilijke kant van de bewering, namelijk dat de formule p p 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 = 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: t s u 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 p p 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. p moet waar zijn in s 2. p moet onwaar zijn in s. Om p 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 p en s p. Aan de andere kant is p onwaar in alle opvolgers van s (immers als x een opvolger is van s, dan geldt x u). Hieruit volgt dus dat s p. Maar dan geldt dus (F, π) p p, zodat p p niet geldig is in F. 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 p p 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 p p 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 M = (W, R, π ). Een nietlege relatie Z W W heet een bisimulatie tussen de modellen M en M als Z aan de volgende drie voorwaarden voldoet (voor een bisimulatie gebruiken we vaak infixnotatie): 1. als wzw, dan geldt voor elke p V AR dat π(w)(p) = π (w )(p), 2. als wzw en Rwv, dan is er een v W zó dat vzv en R w v, 3. als wzw en R w v, dan is er een v W zó dat vzv en Rwv. Om aan te geven dat er tussen de modellen M en M een bisimulatie bestaat die de punten w en w met elkaar verbindt, gebruiken we de notatie: M, w M, w ; informeel zeggen we in dit geval dat de punten w en w (met elkaar) bisimuleren. Een relatie Z W W heet een bisimulatie tussen de frames (W, R) en (W, R ) 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 M waarbij wzw, dat M en M erg op elkaar lijken, gezien vanuit de werelden w resp. w. De clausules zeggen namelijk het volgende: 1. als w en w bisimuleren, dan moeten ze in ieder geval de zelfde propositionele variabelen waar maken. 2. als w en w bisimuleren, en je kunt in model M vanuit w een stap zetten naar een toestand v, dan moet je ook in model M vanuit w een stap kunnen zetten naar een toestand v die weer bisimuleert met v. Beschouw het volgende plaatje: v Z v w M Z w M 3. deze clausule is natuurlijk het spiegelbeeld van clausule 2. Voorbeeld 1.21 Beschouw de volgende modellen M = (W, R, π) en M = (W, R, π ): W = N W = {e, o} Rmn n { = m + 1 R = {(e, { o), (o, e)} 1 als n even is 1 als x = e π(n)(p) = π(x)(p) = 0 als n oneven is 0 als x = o Laat vervolgens Z W W 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 0 1 2 3 4 5...... e o De claim is dat Z een bisimulatie is tussen M en M. 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 M, 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 R 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 M, w, dan geldt voor alle modale formules ϕ: M, w ϕ M, w ϕ. Bewijs. Neem aan dat Z een bisimulatie is tussen de modellen M = (W, R, π) en M = (W, R, π ). We bewijzen met formule-inductie dat iedere modale formule ϕ voldoet aan de volgende bewering: voor alle w, w met wzw geldt: M, w ϕ M, w ϕ. In de basisstap van dit bewijs nemen we aan dat ϕ een atomaire formule is, zeg p. Als w en w nu punten zijn met wzw, dan geldt M, w p π(w, p) = 1 π (w, p) = 1 M, w 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 ψ is. De inductiehypothese luidt dan als volgt: voor alle w, w met wzw geldt: M, w ψ M, w ψ. (IH) Stel nu dat we punten s W, s W gegeven hebben die bisimuleren volgens Z. We moeten laten zien dat M, s ψ M, s ψ. (4) We bewijzen slecht één kant van deze equivalentie de andere kant verloopt volledig analoog. Neem aan dat ψ waar is in s. Volgens de waarheidsdefinitie is er dan een opvolger t van s waar ψ waar is. Uit Rst en szs volgt dan, met behulp van clausule 2 van de definitie van een bisimulatie, dat er een punt t W bestaat dat bisimuleert met t én een opvolger is van s. Nu gebruiken we de inductiehypothese: uit tzt en M, t ψ volgt M, t ψ. Maar dan volgt onmiddelijk dat M, s ψ, omdat t een opvolger is van s. We hebben nu inderdaad één helft van (4) bewezen.

Modale logica: basisbegrippen/ 14 1.4 Opgaven Opgave 1.1 Beschouw het model M = (W, R, π) als gegeven in het onderstaande plaatje. p a 1 p, q a2 q a 3 p a 5 p a7 a 4 q a 6 q (a) Laat zien dat 1. M, a 1 (p q) 2. M, a 2 q q 3. M, a 3 p (q (p p)) (b) Laat zien dat 1. M p p 2. M q 3. M q ( q (q q)) (c) Verander de valuatie zodanig dat in het ontstane model M geldt: M p 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: De relatie R wordt gegeven door (a) Maak een plaatje van de binaire boom. W = {ɛ, a, b, aa, ab, ba, bb, aaa,...}. Rst t = sa of t = sb. (b) Beschouw de valuatie π die p waar maakt op strings die een even lengte hebben. Laat zien dat (B, π) p p. (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 λ: ( p q) [ (p q) (p q) ( p q)] (λ) niet geldig is in de binaire boom. (d) Laat zien dat de formule p p 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) (p q) ( p q) (b) (p q) ( p q) (c) (p q) ( p q) (d) p p (e) p p (f) (p q) ( p q) (g) ( p p) p Opgave 1.4 Gegeven is een frame F = (W, R). (a) Laat zien dat de volgende implicaties gelden: (i) R is voortzettend = F = (ii) R is transitief = F = p p. (iii) R is partieel functioneel = F = p p. (iv) R is functioneel = F = p p. (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 : a... F a 7 7... 7 7... F (Uitleg: F heeft oneindig veel paden van eindige lengte 1,2,3,... ; F heeft daarnaast ook een oneindig pad.) Beredeneer dat er geen bisimulatie Z bestaat tussen F en F zó dat aza.

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 M = (F, R ) bestaan waarvoor geldt dat M ϕ en M ϕ. Opgave 1.9 Beschouw het model M van Voorbeeld 1.21, en de volgende verzameling W = { 1, 2} {3n n N}. Ga na, of er een relatie R op W en een bisimulatie tussen de frames (W, R) en (W, R ) bestaan, waarvoor geldt: {(3n, 3n) n N} Z {(3n + 1, 1) n N} Z {(3n + 2, 2) n N} Z.

Temporele logica/ 17 2 Temporele logica 2.1 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 en in zulke modellen is nu: in een plaatje: ϕ ooit (in de toekomst) zal ϕ waar zijn ϕ voortaan (altijd vanaf nu) zal ϕ waar zijn, ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ Voorbeeld 2.5 We kunnen nu heel eenvoudige voorbeeldjes geven van het formaliseren van uitspraken met een temporeel aspect, bijvoorbeeld door voortaan zal het licht afwisselend aan en uit zijn ( aan 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: d x x is in dienst bij het bedrijf s x x ontvangt een salaris van het bedrijf p x x ontvangt een pensioen van het bedrijf x x 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 (s x p x ) 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 d x ( x (s x p x )) 3. als x overleden is, ontvangt zij geen pensioen en geen salaris door ( x ( s x p x )). 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 (λ) ( p q) [ (p q) (p q) ( p q)] karakteriseert de rechts-lineaire temporele frames. Bewijs. Zie Opgave 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 z (y < z) (z < y)) Dan is ϕ niet geldig in het volgende frame T :

Temporele logica/ 20 a 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 : b 0 a 3 b 1 We gaan een valuatie π definiëren op T en een punt x opscharrelen in T zó dat De valuatie π wordt als volgt gekozen: (T, π), x (T, π ), x. (5) π (a )(p) = π(a)(p) π (b 0 )(p) = π(b)(p) π (b 1 )(p) = π(b)(p) We laten het aan de lezer om te laten zien dat nu de relatie Z gegeven door Z := {(a, a ), (b, b 0), (b, b 1)} een bisimulatie is (denk hierbij wel even aan Conventie 2.3). Ten slotte ligt dan ook de keuze van x voor de hand: als x = a dan kiezen we x = a en als x = b dan kiezen we x = b 0 (of x = b 0 ). Dit bewijst (5). We kunnen nu vrijwel onmiddelijk de gevraagde tegenstelling afleiden. Met behulp van Stelling 1.22 volgt uit (5) namelijk dat (T, π ), x ϕ. 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 = TAK. Dit geeft een overduidelijke contradictie. 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 p p karakteriseert de temporele frames met een dichte ordening. Bewijs. Zie Opgave 2.4. 2.2.3 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 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 F en P. Als afkortingen voor de duale operatoren gebruiken we F en P. De semantiek van deze operatoren wordt gegeven door de volgende waarheidsdefinitie (in temporele modellen): M, s F ϕ M, t ϕ, voor minstens één punt t zó dat s < t M, s P ϕ M, t ϕ, voor minstens één punt t zó dat t < s. Met andere woorden: F is onze oude toekomst-operator (de F staat voor future ), terwijl P naar het verleden kijkt (de P staat voor past ), vergelijk: F ϕ ϕ ψ P ψ In deze taal kunnen we meer uitdrukken; bijvoorbeeld P q F q wat vroeger heeft plaatsgevonden, zal ooit weer gebeuren, P q F P q wat vandaag verleden tijd is, blijft verleden tijd. We kunnen zelfs bewijzen dat het toevoegen van de P -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 P -operator) die equivalent is met de formule P q. Bewijs. Stel dat er wel zo n formule was. Bekijk de volgende modellen M en M : q s t u t u M M We laten het over aan de lezer om te laten zien dat de relatie Z, gedefinieerd door Z := {(t, t ), (u, u )} een bisimulatie is tussen M en M. Volgens stelling 1.22 geldt dan voor alle formules ϕ in de modale basistaal: M, t ϕ M, t ϕ. (6)

Temporele logica/ 23 Maar voor de formule P q geldt juist: M, t P q, M, t P q. (7) Dat betekent dat de formule P q nooit equivalent kan zijn met een formule in de modale basistaal. Want stel dat de basisformule ϕ equivalent zou zijn met P q. Wegens (7) geldt dan dat M, t ϕ, zodat uit (6) volgt dat M, t ϕ. Dan geeft de equivalentie van ϕ en P q, dat M, t P q, maar dat is in tegenspraak met (7). 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 F, P voor P, G voor F en H voor P. 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 geheugencellen 1. 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 ϕ ϕ. We gebruiken in deze paragraaf de volgende afkortingen: ϕ ϕ ϕ ϕ ϕ ϕ In dit framework kunnen we al uitspraken formuleren over de correctheid van programma s. Stel dat een programma een entry label m 0 en een exit label m e 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(m 0 ) is dan bijvoorbeeld waar in tijdstip n als na de n-de executiestap van het programma, de program-counter zich bij het label m 0 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(m 0 ) ϕ (at(m e ) ψ). Total correctness houdt tevens in, dat het programma termineert: at(m 0 ) ϕ (at(m e ) ψ). 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 m c (de formule at i (m c ) 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 (m c ) at j (m c )). i,j k,i j Nog weer een ander voorbeeld komt uit de wereld van operating systems. Stelt u zich voor dat een operating system verzoeken (r i ) krijgt van verschillende processen, aan welke het kan aangeven dat zo n verzoek wordt gehonoreeerd (g i ). De formule i k(r i g i ) 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: ( r i g i ) 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 ϕ ψ, 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 -operator (of de F - en de P -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: ϕuψ ϕ ϕ ϕ ψ ϕ Met behulp van de until-operator kunnen we nu inderdaad absence of unsollicited response weergeven: ( g i ( g i )Ur i ) [(g i g i ) ( g i )Ur i )]. 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 ϕ M, t Uϕ. Bewijs. Dit volgt onmiddelijk uit de definities. 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 puq. Bewijs. Beschouw de volgende twee modellen M = (W, <, π) en M = (W, <, π )

Temporele logica/ 26 t 0 M q v 0 q v 1 p u t 1 s 0 s 1 q v p u t s M We laten het aan de lezer om aan te tonen dat de volgende relatie Z W W een bisimulatie is: Z := {(s 0, s ), (s 1, s ), (t 0, t ), (t 1, t ), (u, u ), (v 0, v ), v 1, v )}. Hieruit volgt dat voor elke formule ϕ uit het basisformalisme geldt: Maar voor de formule puq geldt juist: M, s 0 ϕ M, s ϕ. M, s 0 puq, M, s puq. Dat betekent dat er dus geen enkele formule ϕ in de modale basistaal equivalent kan zijn met puq.