Ariel Jarovsky and Eyal Altshuler 8/11/07, 15/11/07

Slides:



Advertisements
Similar presentations
Artificial Intelligence
Advertisements

Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Completeness and Expressiveness
Logic Puzzles and Modal Logic. Closure properties in modal logic.
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Now, knowing classical logic we move to model checking and modal logic Muddy Children Problem.
Possible World Semantics for Modal Logic
1 Logic Logic in general is a subfield of philosophy and its development is credited to ancient Greeks. Symbolic or mathematical logic is used in AI. In.
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
Copyright © Cengage Learning. All rights reserved.
LDK R Logics for Data and Knowledge Representation Modal Logic Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto Giunchiglia,
Axiomatic Verification I Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 17.
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
CPSC 322, Lecture 20Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Computer Science cpsc322, Lecture 20 (Textbook.
CPSC 322 Introduction to Artificial Intelligence September 20, 2004.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Computability and Complexity 10-1 Computability and Complexity Andrei Bulatov Gödel’s Incompleteness Theorem.
Describing Syntax and Semantics
Proof by Deduction. Deductions and Formal Proofs A deduction is a sequence of logic statements, each of which is known or assumed to be true A formal.
EE1J2 - Slide 1 EE1J2 – Discrete Maths Lecture 6 Limitations of propositional logic Introduction to predicate logic Symbols, terms and formulae, Parse.
Induction and recursion
Automaten und Formale Sprachen Epilog
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
1 Chapter 7 Propositional and Predicate Logic. 2 Chapter 7 Contents (1) l What is Logic? l Logical Operators l Translating between English and Logic l.
Reasoning About the Knowledge of Multiple Agents Ashker Ibne Mujib Andrew Reinders 1.
Pattern-directed inference systems
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
Great Theoretical Ideas in Computer Science about AWESOME Some Generating Functions Probability Infinity MATH Some Formal Logic (which is really.
Of 33 lecture 12: propositional logic – part I. of 33 propositions and connectives … two-valued logic – every sentence is either true or false some sentences.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Propositional Logic Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma Guadalajara
LDK R Logics for Data and Knowledge Representation Modal Logic Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto Giunchiglia,
Formal Methods in Software Engineering 1
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Modal Logic CS 621 Seminar Group no.: 10 Kiran Sawant ( ) Joe Cheri Ross ( ) Sudha Bhingardive ( )
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
CS6133 Software Specification and Verification
Mathematical Preliminaries
Reasoning about Knowledge 1 INF02511: Knowledge Engineering Reasoning about Knowledge (a very short introduction) Iyad Rahwan.
Computer Science CPSC 322 Lecture 22 Logical Consequences, Proof Procedures (Ch 5.2.2)
1/5/2016Hilbertův kalkul1 Lecture 12 Hilbert-like calculus.
Logic: Proof procedures, soundness and correctness CPSC 322 – Logic 2 Textbook §5.2 March 7, 2011.
Albert Gatt LIN3021 Formal Semantics Lecture 3. Aims This lecture is divided into two parts: 1. We make our first attempts at formalising the notion of.
Propositional Logic Rather than jumping right into FOL, we begin with propositional logic A logic involves: §Language (with a syntax) §Semantics §Proof.
Artificial Intelligence Chapter 23 Multiple Agents Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
An Introduction to Classical Logic (propositional and Predicate Logic)
Knowledge Representation and Reasoning
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Knowledge Representation and Inference Dr Nicholas Gibbins 32/3019.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Logics for Data and Knowledge Representation
From Classical Proof Theory to P vs. NP
Introduction to Logic for Artificial Intelligence Lecture 2
Modal, Dynamic and Temporal Logics
Computer Science cpsc322, Lecture 20
Lecture 1 – Formal Logic.
Knowledge Representation and Reasoning
Great Theoretical Ideas in Computer Science
EPISTEMIC LOGIC.
Alternating tree Automata and Parity games
Computer Security: Art and Science, 2nd Edition
Logics for Data and Knowledge Representation
Computer Science cpsc322, Lecture 20
Properties of Relational Logic
Representations & Reasoning Systems (RRS) (2.2)
Presentation transcript:

Ariel Jarovsky and Eyal Altshuler 8/11/07, 15/11/07 Modal Logic Ariel Jarovsky and Eyal Altshuler 8/11/07, 15/11/07 1

Today A short review Multi-Modal Logic First Order Modal Logic Applications of Modal Logic: Artificial Intelligence Program Verification Summary 2

Previously on modal logics… 3

Introduction Modal Logics are logics of qualified truth. (From the dictionary) Modal – of form, of manner, pertaining to mood, pertaining to mode Necessary, Obligatory, true after an action, known, believed, provable, from now on, since, until, and many more… 4

Syntax – Language The formal language: A non-empty set of propositions (as in classical logic): Operators: Parentheses. Some define the ◊ as: The Modal Operators 5

Syntax – Formulas Formulas are the only syntactic category of Propositional Modal Logics, as in CPL. Every proposition p is a formula. If A, B are formulas, then the following are also formulas: If A is a formula then the following are also formulas: 6

Modal Logics - Semantics Possible worlds semantics (Kripke, 1959) The different possible worlds represent the states of a given problem. 7

Semantics - Frame A frame is a pair (W,R) where W is a non-empty set and R is a binary relation on W. W is the set of all possible worlds, or states. R determines which worlds are accessible from any given world in W. We say that b is accessible from a iff (a,b)R. R is known as the accessibility relation. 8

Semantics – Model A Model is a triple M=(W,R,V) while (W,R) is a frame and V is a valuation. A valuation is a function . Informally, V(p,w)=T is to be thought as p is true at world w. 9

Semantics – Semantic Relation The relation between a pair (M,w) where M is a model and w is a world, and a formula A, is defined recursively as follows: Similar for the other classical logic connectors. 10

Logics Given a language L(P) (P is a set of atoms) a logic  is defined to be any subset of formulas generated from P that satisfies:  includes all tautologies; Closure under Modus Ponens. Closure under uniform substitution. 11

Normal Logic A logic  is said to be normal if it contains the formula scheme: and if it is provided with the modal inference necessitation rule: 12

Axiomatic Systems An axiomatic system for a normal logic  is made up of the following three components: An axiomatic system of CPL (as HPC) The axiom scheme denoted: The modal inference rule of necessitation: 13

And now for something new… 14

Multi-Modal Logics There exist logic languages with more than one modal operator Why do you think? They may use: Collection of symbols {[i]} Each modal [i] has its dual, <i> <i>A= [i]A. 15

Multi-Modal Logics- Syntax Very similar to the syntax of uni-modal logics, that we already know. Every proposition p is a formula. If A, B are formulas, then the following are also formulas: If A is a formula then the following are also formulas: 16

Multi-Modal Logics- Semantics A frame F for multimodal language is define as follows – F=(W,{Ri | i}) W is a non-empty set of worlds For each i, Ri is a binary relation on W. A model M is a tupple M=(W,{Ri | i},V) A valuation V is function 17

The Semantic Relation The relation between a pair (M,w) where M is a model and w is a world, and a formula A, is defined recursively as follows: Similar for the other classical logic connectors. 18

Multi-Modal Logics A Logic is defined as same as in uni-modal logics (includes all tautologies and closed under MP and substitution). A logic  is said to be normal if it contains the schemata: And satisfies the necessitation rule for each i. The smallest normal logic is generally denoted Ki. 19

Multi-Modal Logic - Example Yesterday, Dan had 2 children. ([2]B) Tomorrow, Dan will have 3 children. Let us look on the formula – Intuitively, It has to be true only in the day in which his third child was born. 20 20

Dan’s 3rd child birthday Example Formally, we will define a frame to be- W – the days during the year. R1 – all the pairs (dayi, dayi-1). R2 – all the pairs (dayi, dayi+1). A world w in model M in which [1]A  [2]B will be true is- R1 R2 A – T B - F A – T B - F A – T B - F A – T B - T A – F B - T A – F B - T A – F B - T Dan’s 3rd child birthday 21 21

First Order Modal Logic Motivation: Every lecturer strikes. Yossi is a lecturer. Thus Yossi strikes. The formal language – There are two parts – A common part for all of the languages. A signature - unique for every language. 22

First Order Modal Logic The common part – Operators: Quantifies: Parentheses. Variables: v1,v2,… Syntactic Categories – formulas terms Will be detailed 23

First Order Modal Logic Signature: the unique part of every language -  A non-empty set of function symbols. A (maybe empty) set of constants. A (maybe empty) set of predicate symbols. Terms: Every variable is a term. Every constant is a term. If f is a function symbol and t1,…,tn are terms, then f(t1,…,tn) is also a term. 24

Definition of a formula If p is a predicate symbol and t1,…,tn are terms, the p(t1,…,tn) is an atomic formula. If A, B are formulas then the following are also formulas: A, AB, AB, AB, AB x.A, x.A A, A 25

First Order Logic- Semantics Let L(σ) be a first order language. When is a formula true? A Structure M is a pair M=<D,I>, such that – D – (domain) a non-empty set of objects. I – an interpretation function of σ: 26

FOL – Valuations A valuation is a function from terms do the domain However, it is generalized to a function from terms to the domain and is defined as: V[c]= I[c] V[x] – given by V. V[f(t1,…,tn)]=I[f](V[t1],…,V[tn]) 27

Domains in First Order Modal Logic This is a problematic issue. Why? “Tomorrow, everyone will be glad”. We’ve already asked “When is tomorrow?” A new question is added- “Who is everyone?” On Sunday- Everyone includes Yossi,Dan and Moshe. On Monday- Everyone includes Yossi,Dan, Moshe, and Gad. On Tuesday- Everyone includes Dan, Moshe and Gad. 28

Domain- 3 natural definitions The set of all individuals existing in the actual world (D = a). The set of all individuals existing in a given possible world w (D = w). The set of all the individuals existing in any world (D = *=UwWw). 29

Domain- 3 natural definitions The quantifiers have different meanings, according to the definition of the domain- means- ‘for all x in the actual world’. means- ‘for an x in the actual world’. means- ‘for all x in the world w’. means- ‘for an x in the world w’. means- ‘for all x’. means- ‘for at least one x’. 30

Applications of Modal Logics 31

Where is modal logic used? Modal logic is a widely applicable method of reasoning for many areas of computer science. Artificial Intelligence Database theory Distributed systems Program verification Cryptography theory 32

AI – Epistemic Logic Epistemic Logic is the modal logic that reasons about knowledge and belief. Philosophy, Artificial Intelligence, Distributed Systems. Important: our examples in that part will be about propositional multi-epistemic logic (no quantifiers, more than one modal) 33

Epistemic Logic – Syntax Will be minimally defined, more details – next lecture of the seminar. Suppose there are n agents. Let be a non-empty set of propositions. Operators: [i]φ- agent i knows φ. <i>φ- agent i knows that φ is true at some state. 34

Epistemic Logic- Syntax Formulas are defined as usual. In addition to reasoning about what each agent knows, it may be helpful to reason about: Everyone knows: Common knowledge: 35

Applications of Epistemic Logic (semantics) In a multi-agent system, there are n agents. Each agent i has it’s local environment, that consists of information of what i’s local state is in the system. In addition there is a global environment, that includes information that agents might not necessarily know but is still important for the system to run (this information is categorized as seen from a “bird’s eye” view of the system). 36

Examples (1) The global environment may contains- A scrabble game: Agents i’s local environment: The letters i contained in its hand. The letters that have been currently played. Which words were played by each player. The current score. The global environment may contains- The letters that haven’t been chosen by any player. 37

Examples (2) A distributed system. Each process is an agent. The local environment of a process might contain messages i has sent or received, the values of local variables, the clock time. The global environment might include the number of process, a log file of all the process’ operations, etc. 38

Applying epistemic logic using possible worlds semantics The environments defines a global state. A global state is a set (se,s1,…,sn) of environments Se is the global environment. Each si is the local environment of agent i. A run is defined as a function from time to global states. A point is a pair (r,m) where r is a run at some time m (assume time to be the natural numbers). 39

Applying epistemic logic using possible worlds semantics A system is defined as a set of runs. Thus, our description of a system entails a collection of interacting agents. Intuitively, a system is the set of all possible runs. At point (r,m), system is in some global state r(m). Let ri(m) be the local environment for agent i. 40

Applying epistemic logic using possible worlds semantics Note that a system can be viewed in terms of a frame. W = a set of points. Ri = the relation for agent i. This means that agent i considers (r’,m’) possible at point (r,m) if I has the same local environment at both point. This means, intuitively, that if agent i runs in r at time m, then he could continue running in r’ at time m’.

Applying epistemic logic using possible worlds semantics Let  be a set of propositions. These propositions describe facts about the system as “the system is deadlocked” or “the value of variable x is 5”. An interpreted system is a tuple (S,V), where S is a system and V is a function that maps propositions in , V(p,s){true, false}, where p is a proposition and s is a state.

Applying epistemic logic using possible worlds semantics We associate I=(S,V) with the modal structure M=(W,R1,…,Rn,V). Thus, agents’ knowledge is determined by their local environment. What it means for a formula  to be true at point (r,m) in I? By applying earlier definitions we get:

Time for a break… 44 44

Applying epistemic logic using axiomatic systems Martha puts a spot of mud on the forehead of each child. Each child can see the forehead of the other- A knows that B’s forehead is muddy, and conversely. Neither child knows whether their own forehead is muddy. שלום למי שלא זוכר אני אריאל עבדתי עם אייל על לוגיק מודאלית והשבוע נדבר על אפליקציות. אני אתרכז על 2 אפליקציות אחת כבר התחיל אייל שהיא EPISTEMIC LOGIC, כלומר לוגיקות של ידע ואמונה. ולאחר מכן נדבר קצת על לוגיקה דינאמית שלדעתי הוא הנושא הכי מעניין בשתי ההרצאות הללו. אם יש שאלות או משהו לא מובן אני מבקש לעצור אותי ולשאול אותי. טוב נתחיל קצת בתזכורת על סיפור משבוע שעבר. לספר אותו זוכרים איך פתרנו אותו? מישהו רוצה להזכיר לנו?

Applying epistemic logic using axiomatic systems Martha announces, “At least one of you has a muddy forehead”. Then she asks, “does either of you know whether your own forehead is muddy?” Neither child answers. She asks the same question again, and this time both children answer- “I know mine is”. How did it happen? אנחנו כעת נעבור על הטענות שעיקריות שהיו בסיפור ובעצם נשתמש בהן כהנחות כדי שנוכיח פורמלית את הטענה שA יודע שיש לו בוץ על המצח. נשים לב שנסתכל על כל הטענות מצד הידע של A כי נוכיח רק על A. הוכחה על הידע של B לגמרי סימטרית.

Definitions In order to proof the conclusion we have to take an axiomatic system of classical logic (as HPC) and add some axioms and rules of inference: Distributivity Truth (Semantically, R is reflexive) Rule N לשים לב שזה בעצם מערכת אקסיומטית KT אשר לפי המשפט כל משפט של KT הוא ואלידי בכל פריים בו היחס R רפלקסיבי!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Rule R

Proof 1. [Martha said] 2. Distributivity 3. Rule R 2 4. MP 1,3 It means that A knows that if B knows that A’s forehead is not muddy then B knows his forehead is muddy! נציג הוכחה סינטקטית לחלוטין של הטענה שA יודע שיש לו בוץ על המצח. לא כל מעבר אינטואיטיבי כמו שמכירים מההוכחות הסינטקטיות בלוגיקה הקלאסית, אמנם יש מספר שורות בהוכחה שהן אינטואיטיביות מאוד למהלך הסיפור ונציין אותן ואת המשמעות שלהם! ב-1 השתמשנו בזהות: AVB = (not)AB ב-2: נתחיל במגמה להכניס את Kb לתוך הסוגריים. ב-4: A יודע שאם B יודע של-A אין בוץ על מצח אז B יודע שלעצמו יש בוץ על המצח. נשים ל שזה מאוד דומה למה שמרטה טוענת אלא שכבר A מתחיל לשים לב איזה משחקים עושה B עם הידע שלו. Dist.: Truth: Rule R:

Proof 1. [Martha said] 2. Distributivity 3. Rule R 1 4. MP 1,3 5. CPL theorem 6. Rule R 5 7. MP 4,6 8. Distributivity ב-5: AB = (not)B  (not)A ב-8: נתחיל במגמה להכניס את Ka לתוך הסוגריים כדי לדבר על מניפולציות ש-A עושה עם הידע שלו. הסבר על 9 בשקף הבא. 9. MP 7,8 Dist.: Truth: Rule R:

Remember that: [i]A <i>A Proof (cont’d) 9. MP 7,8 It means that A knows that if B doesn’t knows whether his forehead is muddy then A knows that it is possible in B’s knowledge that A’s forehead is muddy! Remember that: [i]A <i>A אם A יודע שאם B לא יודע על עצמו אז A יודע שמבחינת B אפשרי של-A יש בוץ על המצח. Dist.: Truth: Rule R:

Proof (cont’d) 9. MP 7,8 10. [b doesn’t know] 11. MP 9,10 It means that A knows that it is possible in B’s knowledge that A’s forehead is muddy! A יודע שמבחינת B אפשרי של-A יש בוץ על המצח. Dist.: Truth: Rule R:

It means that A knows that B knows A’s forehead is muddy! Proof (cont’d) 9. MP 7,8 10. [b doesn’t know] 11. MP 9,10 12. [b sees a] 13. Distribution 14. MP 12,13 15. MP 11,14 It means that A knows that B knows A’s forehead is muddy! ב-12 כתוב בעצם Ka (Kb A V Kb (not)A) . ב-13: שוב נתחיל במגמה להכניס את Ka לתוך הסוגריים כדי לעשות מניפולציות עם הידע של A. ב-15: A יודע ש-B יודע של-A יש בוץ על המצח!!! איך נגיע מכאן לכך ש-A יודע על עצמו? Dist.: Truth: Rule R:

A knows his forehead is muddy! Proof (cont’d) 9. MP 7,8 10. [b doesn’t know] A knows his forehead is muddy! Q.E.D. 11. MP 9,10 12. [b sees a] 13. Distribution 14. MP 12,13 15. MP 11,14 16. Truth ב-16: אקסיומת האמת שאומרת שמה שאני יודע אז נכון וזה יעזור לנו להסיק ש-A יודע על עצמו! ב-18: A יודע על עצמו משל. 17. Rule R 16 18. MP 15,17 Dist.: Truth: Rule R:

Dynamic Logic [Vaughan Pratt 1974] כעת נדבר על אפליקציה שונה של לוגיקה מודאלית. לוגיקה דינאמית פותחה בשנת 1974 ע"י וואגאן פראט אבל (להעביר) אנחנו נתרכז בלוגיקה דינאמית מאוד פשוטה שהיא תחשיב הפסוקים של לוגיקה דינאמית. 54

Dynamic Logic Propositional Dynamic Logic (PDL) We will concentrate on: Propositional Dynamic Logic (PDL) [Fischer & Lander 1977] תחשיב הפסוקים של לוגיקה דינאמית למרבה הפלא פותח אחרי שפותחה הלוגיקה הדינאמית בשנת 1977 ע"י זוג לוגיקאים פישר ולנדר. ההבדל העיקרי בין לתחשיב הפסוקים של לוגיקה דינאמית לתחשיב הפרדיקטים או מסדרים גבוהים יותר הוא היעדרות ההשמות שקיימת בתחשיב הפסוקים מה שמצמצם את כח הביטוי שלנו (כרגיל בתחשיב הפסוקים). 55

What is Dynamic Logic? Program verification ensures that a program is correct, meaning that any possible input/ output combination is expected based on the specifications of the program. A modal logic, called dynamic logic, was developed to verify programs. מה זה אימות תוכנה? אימות תוכנה מבטיח חוזה לתכנית: בהינתן קלט תקין ייצא פלט תקין מתאים ואולי גם דרישות על הפלט והקלט. לוגיקה דינאמית היא כלי לאימות תוכנות. אנחנו לא כל כך נראה איך לאמת תכניות, למרות שבסוף נראה משהו שמתקרב לכך אלא נתרכז יותר בלהגדיר את הלוגיקה ואת הדברים החשובים לנו ממנה. 56

PDL Syntax Let ={p1, p2, p3, … } – a non-empty set of propositions. An ‘atomic’ program is a smallest basic program, meaning it does not consist of other programs. Let ={a1, a2, a3, … } – a non-empty set of atomic programs. דוגמא לתוכנית אטומית יכול להיות: "לך למצב מסויים", תנאי כמו "3==X", גם השמה יכולה להיות תכנית אטומית אלא שבגלל מגבלות השפה לא יהיה לנו שום דרך לקשר את ההשמה ואת המשתנה ששינינו את ערכו לבין הפסוקים האטומים כי אפילו משתנים אין לנו בהם!! 57

PDL Formulas Formulas: If p, then p is a formula. If  and  are formulas, then , , , ,  are formulas. If  is a formula and  is a program, then [], <> are formulas. בדומה ללוגיקה מודאלית! [a], <a> – מפעילים תוכניות הוא המודאל שלנו!!! תכף נרחיב עליו וניתן את משמעותו ואת האופרטור הדואלי גם. 58

PDL Programs Programs: Operators precedence: If a, then a is a program. If  and  are programs, then ;(sequential composition), (nondeterministic choice), and *(iteration) are programs. If  is a formula, then ? (test) is a program. Operators precedence: Unary operators. The operator ‘;’, and the  operator . Classical Logic operators. קודם כל, קצת רימיתי ולא הגדרתי מה האופרטורים על תוכניות אבל נעשה את זה עכשיו כשנציג מהו תוכנית חוקית: לעבור עליהם. להגיד שבשקף הבא נסביר מה עושה כל אחד מהם. קדימות: קודם כל יש קדימות משמאל לימין (כלומר aUb;c) מתבצע a ואז bUc. ואח"כ נגיד שאופרטורים אונריים כלומר שפועלים על תוכנית יחיד קודימים את אופרטורים של ; ושל U ואחרי זה כל שאר האופרטורים מהלוגיקה הקלאסית (אמנם אי אפשר להשתמש בהם לשום תכנית חוץ מתוכניות בדיקה (test)). 59

Program Operators Interpretation ;: means “do  and then ”. : means “do either  or (non-deterministically)”. *: means “repeat  some finite number of times”. ?: means “test : continue if  is true, otherwise ‘fail’”. ; : מצביע על ביצוע סדרתי של התכניות בדומה ל; מרוב שפות התכנות. U: מצביע על ביצוע אידטרמינסטי של סדר התוכניות. בכל מקרה שניהם מתבצעים. *: חזרה על התוכנית מספר סופי של פעמים. ?: בהינתן נוסחא התוכנית נוסחא? ממשיכה כרגיל אם הנוסחא מתקיים (במודל ובעולם מסויים שאותם נראה כשנגדיר סמנטיקה) ואחרת נכשל, בעצם התכנית מסתיימת כאילו thread שמת. נשים לב שאם יש לנו שאילתה איחוד עוד תוכנית והשאילתה נכשלת התכנית נשאר לרוץ לבד (במובן של threads למי שמבין מה זה thread) בעצם עשינו מעין join. 60

Modal Operators Interpretation [] means that “if  terminates, then  holds” or in other terms “after every terminating execution of ,  holds”. <> means that “there is an execution of  that terminates with  as true”. להסביר את פירוש האופרטורים המודאלים. 61

Programming Statements We can write some classical programming statements, such as loop constructs, using PDL program operators: ‘if  then  else ’ =def (?;)(?;) ‘while  do ’ =def (?;)*;? ‘repeat  until ’ =def ;(?;)*;? If: נשים לב שאנחנו גם שואלים על הנוסחא וגם על הנוט שלה כי אחת מהן תיכשל ואז מה שאחריו לא יתבצע. והשני שיהיה נכון אז ההמשך שלו יתבצע. While: נשים לב שבסוף ה* אנחנו שואלים על הנוט של הנוסחא כדי להיות בטוחים שהנוסחא כבר לא מתקיימת ולא הגענו לשם בגלל סיבה אחרת (למשל בשפות כמו JAVA או C יש את הפקודה break שיוצאת מלולאה גם אם התנאי מתקיים, כאן לא נרצה שזה יקרה). 62

PDL Semantics A modal structure is M=(W,{Ra|a},V). W is a set of program states. Ra is one or more binary relation(s) that determines which states are accessible from any state in W. V is a function from {W} to {true, false}. נשים לב שבלוגיקה דינאמית נקרא לעולמות מצבים אשר מדמה אותם יותר למצב של תכנית (זאת הכוונה בעצם). מעתה, כל פעם שאני אגיד עולם הכוונה למצב וסביר להניח שאני אתבלבל אז שלא אבלבל אתכם אני מודיע מראש על תיקון טעויותיי. לכל תוכנית אטומית נגדיר יחס נגישות. היחס בעצם אומר שאם אני מפעיל את a ממצב w אז בעצם u נגיש מw אםם לאחר הרצת a אני מגיע למצב u. השמה מוגדרת כרגיל. 63

Accessibility Relations We consider (w,w’)Ra as the case that w is the initial state of program a and w’ is an ending state. Developed accessibility relations: We will give the definition of R? after presenting the definition of . הגדרנו יחס נגישות לתכניות רגילות. אבל מה עם האופרטורים? בעצם נגדיר מה היחס שיהיה לכל תוכנית מורכבת והיחסים האלה יהיו סמויים למודל אבל כללוים בתוכו. היחס הראשון בעצם מחפש מצב ביניים לסיום a ותחילת b. היחס השני אומר שבגלל שלא משנה לנו מה הסדר אז פשוט נאחד את היחסים. השלישי בעצם מחפש לאיזה מצבים ניתן להגיע אם נפעיל את a 0 פעמים, פעם אחת, ו-n פעמים. היחס הזה אולי קצת קשה לבנייה אבל נשים לב שאם W סופי אז גם אפשר להפעיל את a מספר סופי של פעמים (אם אני לא טועה בדיוק כמספר המצבים כי אז נקבל כבר מעגל בטוח) ונקבל את כל הזוגות ביחס. את היחס של תוכנית שאילתה ניתן אחרי הגדרת היחס סיפוק. 64

The Semantic Relation The relation between a pair (M,w) where M is a model and w is a state, and a formula A, is defined recursively as follows: Similar for the other classical logic connectors. הגדרות הסיפוק על הקשרים של הלוגיקה קלאסית ידועים לנו כבר. על האופרטורים המודאלים בעצם הם באים להמחיש את הפירוש שנתנו להם מקודם. [] ממחיש שלאחר כל ריצה מסתיימת הנוסחה צריכה להיות נכונה ולכן נבקש שהיא תהיה נכונה בכל מצב שנגיש לפי יחס התוכנית מהמצב הנוכחי. <> כנ"ל אבל מבקש שלפחות בריצה מסתיימת אחת הנוסחא תהיה נכונה וההגדרה של הסיפור דורש שבלפחות מצב אחד שנגיש מהמצב הנוכחי הנסחא תהיה נכונה. 65

The R? relation R? =def {(u,u) | M,u  } For example, we can define the accessibility relation for the while-do program (;)*;?: ובכן, מה הגדרת התוכנית שאילתה? אז אמרנו שבעצם אנחנו רוצים להמשיך כרגיל אם הנוסחה נכונה ואחרת להיכשל. אז נמשיך ברגיל ע"י לולאה עצמית במצב הנוכחי אם הנוסחא מסתפקת במצב הנוכחי ואחרת לא נעשה כלום ולא יהיה לנו לאן ללכת מהמצב הנוכחי וזה יהיה סימן לכישלון וסיום התוכנית. לדוגמא כעת ניתן להגדיר את היחס של תוכנית while-do הניתן ע"י משחק עם כמה יחסים של כמה תכניות שונות. ניתן לראות שזה דומה ל* (כי זה מכיל) ובעצם יש את התוספת של הבדיקה של פעם אם הנוסחא מתקיימת. 66

Applications of PDL A correctness specification is a formal description of how a program is to behave. A program is correct if its output meets the correctness specification. PDL, and hence dynamic logic, is not well-suited about program behavior at intermediary states. Other logics that do so are process logic and temporal logic. כמה מושגים בקשר לאימות תוכנה: ספסיפיקציית נכונות בערבית או correctness specification באנגלית שנשמע הרבה יותר טוב הוא תיאור פורמלי של התנהגות התוכנית (מה שמוכר כחוזה). תוכנית כידוע נכונה אם"ם היא מקיימת את החוזה, כלומה את הcorr. spec. PDL, וגם לוגיקה דינאמית לא כל כך מתאימים לתיאור התנהגות של תוכניות במצבי ביניים. שימו לב שאופרטור דיברו רק על ריצות מסתיימות. ב-temporal logic ובלוגיקה אחרת שנקראת process logic שקשורה גם כן לתכניות יש אפשרות להתבונן גם על מצבי ביניים. 67

Applications of PDL PDL is better suited to reasoning about program behavior with respect to only input and output states. For example, the accessibility relation for a program  only contains information about an input and an output state, i.e., (w,w’)R means that w’ is an output state when program  is run with initial state w. Thus, a reasonable restriction for dynamic logic is to only consider programs that halt (so its correctness specifications are usually in the form of input/output). PDL מתאים יותר כדי לחשוב רק על קלט ופלט. למשל ביחס נגישות של כל תכנית בעצם אנחנו מדברים על מצב לפני הריצה של התוכנית (מצב התחלתי) ומצב לאחר ריצתו (מצב מסתיים ולא סופי כמו שמכירים מאוטומטים כי זה משהו אחר). לכן, נראה כאילו PDL מתאים יותר להוכחות על תוכנית שמסתיימוץ ואז ניתן לדבר על correc. Sepec. בצורה של input-output. 68

Regular Programs PDL is used to reason about regular programs: Any atomic program is a regular program. If  and  are regular programs, then ;, , and * are regular programs. If  is a test, then ? is a regular program. בעצם PDL מתאים לחשוב על תכניות רגולריות שהגדרתן זהה לחלוטין להגדרה שנתנו לתוכנית. 69

A PDL Example Let a,b be atomic programs. Let p be an atomic proposition. Suppose M=(W,Ra,Rb,V) W = {s,t,u,v} Ra = {(u,s),(v,t),(s,u),(t,v)} Rb = {(u,v),(v,u),(s,t),(t,s)} s t v u b a p כעת נדבר על דוגמא שמראה איך להוכיח טענות בלוגיקה דינאמית עם תוכניות ובעצם טיפה מתקרב לאימות תוכנה אם כן זה עוד רחוק מזה. ולהסביר את הדוגמא ושp נכון ב-u,v ו-q נכון ב-v,t. V(p,u) = V(p,v) = true

A PDL Example s t v u p Prove: Mp[(ab*a)*]p Proof: M,wp[(ab*a)*]p  (xW.(w,x)R(ab*a)*M,xp)  (M,wp) What is R(ab*a)*? לשאול איך נתחיל? לסביר שבעצם כתבתי את אותו הדבר אבל עם הסיפוק של התוכנית בצורה של לכל. כעת כדי להמשיך אנחנו צריכים לדעת מהו היחס של התוכנית ....... . נחשב אותו ונראה שזה בעצם עיקר העבודה שלנו.

A PDL Example R(ab*a)*: s t v u p Let’s build it from: Rb*={(u,u), (u,v), (v,u), (v,v), (s,s), (s,t), (t,s), (t,t)} Rab*={(u,s), (u,t), (v,s), (v,t), (s,u), (s,v), (t,u), (t,v)} Rab*a={(u,u), (u,v), (v,u), (v,v), (s,s), (s,t), (t,s), (t,t)} R(ab*a)*={(u,u), (u,v), (v,u), (v,v), (s,s), (s,t), (t,s), (t,t)} אז נחשב אותו בשלבים. נתחיל מהביטוי הפנימי וממנו בb*. ניזכר שהיחס של תוכנית עם * הוא כל הזוגות שניתן להגיע אליהן מכל מצב ע"י מספר כלשהו של הפעלות של התוכנית הנ"ל. ניזכר שלצורך ; היחס מוגדר ע"י מציאת מצב ביניים ולכן נעשה כאילו נקפוץ מצב באמצע. להראות על הדוגמא. שוב נפעיל ; ולבסוף * ונקבל את היחס. היחס פשוט אומר שבין u, v יש יחס מלא ובין s, t יש גם יחס מלא.

A PDL Example Q.E.D. s t v u p b a If M,wp then w{u,v} and so: M,wp[(ab*a)*]p  (xW.(w,x)R(ab*a)*M,xp)  (M,wp) R(ab*a)*={(u,u), (u,v), (v,u), (v,v), (s,s), (s,t), (t,s), (t,t)} If M,wp then w{u,v} and so: For each accessible state x from w (that are u and v), M,xp. If M,wp then w{s,t} and so: There is an accessible state x from w (for instance, s itself), such that M,xp. Thus, Mp[(ab*a)*]p. איך נמשיך כעת??? נשים לב שהיחסים המלאים הנ"ל בדיוק מופרדים לפי p. כלומר יש יחס מלא בין העולמות בהם p נכון ויחס מלא בין העולמות בהם הוא לא נכון. וככה אכן נוכיח. נניח שהעולם מספק את p. נסתכל על העולמות בהם p מסתפק (u, v) ונשים לב שבהם כל המצבים הנגישים גם מספקים את p. כעת נניח שהעולם לא מספק אותו. נסתכל על העולמות בהם p לא מסתפק (s, t) ונשים לב שבהם כל המצבים הנגישים לא מספקים את p. בפרט ניתן לקחת את s בשני המקרים. ולכן נקבל כי הנוסחא המקורית נכונה במודל שלנו בכל עולם ולכן היא נכונה במודל. Q.E.D.

A PDL Example s t v u p Let:  = (aabb(abba)(aabb)*(abba))* Proof: M,w []  (xW.(w,x)RM,x)  (M,w) What is R? כעת ניקח תוכנית אלפא שאת האינטואיציה שלו אני לא אגיד כדי לא להרוס את המתח בהוכחה ואם מישהו יגלה אני מבקש גם לא לגלות לאחרים. כעת נרצה להוכיח שלכל נוסחה הטענה הזאת נכונה. טוב, נתחיל כמו קודם ונפתח את זה וכעת צריך לגלות את היחס של התוכנית אלפא.

The identity relation RI A PDL Example s t v u b a p R: Let’s build it from: Raa = {(u,u), (v,v), (s,s), (t,t)} Rbb = {(u,u), (v,v), (s,s), (t,t)} Rab = {(u,t), (v,s), (s,v), (t,u)} Rba = {(u,t), (v,s), (s,v), (t,u)} R = {(u,u), (v,v), (s,s), (t,t)}  = (aabb(abba)(aabb)*(abba))* The identity relation RI שוב נעשה את זה בשלבים: להסביר בקצרה את שני הראשונים (הם כבר יודעים איך לבנות יחסים). מה לגבי התוכנית הארוכה בסוף? אז בואו נחשב קודם מה היחס של ab ושל ba. נגלה שאני נגיש ונגיש ממני זה שבאלכסון איתי. נשים לב שהיחס של ה* ספנים היא כמו של aa ושל bb כי שני היחסים זהים ולכן כשנרכיב אותה עם מה שלפני ומה שאחרי בעצם לא ישנו כלום כי היחס הזה לא ממש משנה. ולכן נקבל כי היחס של אלפא הוא היחס הנ"ל שזה יחס הזהות.

A PDL Example Q.E.D. s t v u p M,w []  b a p M,w []  (xW.(w,x)RM,x)  (M,w) R = {(u,u), (v,v), (s,s), (t,t)} In conclusion, The only state accessible from w is w itself. And so, (xW.(w,x)RM,xp)  (M,wp) Thus, M []. אם ניזכר בהגדרה של היחס של שאילתה אז גם שמה היו זוגות של אותם עולמות ובעצם היחס הזה מתאים לשאילתה שנכונה בכל עולם וזה יקרב אותנו לפתרון. כי בעצם המצב היחיד שנגיש מכל מצב הוא המצב עצמו ולכן להגיד שכל מצב שנגיד ממני הנוסחא מסתפת בו שקול ללהגיד שהנוסחא מסתפקת אצלי וברור שזה מתקיים אם"ם הנוסחא מסתפקת אצלי ולכן נקבל את הרצוי!. Q.E.D.

Summary Modal logic as an extension of classical logic Possible worlds semantics Logics and normal logics Axiomatic systems Extensions of multi-modal logic. First order modal logic Various Applications of modal logic- focus on artificial intelligence and program verification לסיכום, דיברנו על מה זה לוגיקה מודאלית ומה הגישה שלה לגבי הלוגיקה הקלאסית. אמרנו שהיא באה להרחיב אותה. אחרי זה נתנו הגדרה של סמנטיקת העולמות האפשריים אשר נתנו לנו את האפשרות להגיד מתי נוסחא עם אופרטור מודאלי נכונה. דיברנו על לוגיקות ולוגיקות נורמלית שזה הדרך להגדיר את קבוצת הנוסחאות הנכונות וע"י האקסיומות שלה ראינו שקילות בין אקסיומות ליחס של פריים. ואז הגדרנו מערכות אקסיומתיות ועשינו שקילות ביניהם לבין היחס הדרוש לפריים כדי שמשפט בלוגיקה המוגדרת ע"י המע' האקסיומטית יהיה נכון בכל פריים. היום הגדרנו לוגיקה מולטי-מודאלית שזה הרחבה של הלוגיקה משבוע שעבר האוני-מודאלית וראינו את ההבדלים ביניהם ואיך להתמודד עם יותר מיחס אחד. ראינו קצת על לוגיקה מודאלית מסדר ראשון והבעיות שלה. ואז התחלנו לדבר על אפליקציות של לוגיקה מודאלית. דיברנו על לוגיקות של ידע ואמונה וראינו שם שתי אפליקציות, אחת עם הלוח scrable והשנייה הייתה ההוכחה של הסיפור של הבוץ על המצח משבוע שעבר (מעין סגירת מעגל). ולבסוף דיברנו על לוגיקה דינאמית שהיא שימושית לאימות תוכניות. אני מקווה שמאוד נהנהתם משתי ההרצאות הללו. אם למישהו יש שאלות מוזמן לשאול ומי שירצה קריאה נוספת נוכל לספק לו את המאמרים שקיבלנו. אני מנצל את ההזדמנות לאחל בהצלחה לכל הבאים ודתודה רבה! 77

That’s all, Folks! 78 78