Modal Logic and Its applications Cheng-Chia Chen Department of Computer Science, National Cheng-Chi University Slide-1 Contents • • • • • Classical propositional logic (CPL) Basic modal logic logic of knowledge and belief deontic logic logic of actions and programs(PDL) Slide-2 Elements of a Logic • • • • • • Language syntax (formal language) semantics (model theory) axiomatics (proof theory) decidability & complexity (computation theory) automated deduction (Theorem proving) Slide-3 Classical Propositional Logic(CPL) • The language L: – a set of proposition symbols (PV) : – p,q, r ... means it-is-raining, it-is-cloudy, ... • logical connectives: /\ (and), ~ (negation) • (well-formed) formulas (abstract syntax): P ::= p | P /\ Q | ~P • Definitions: P \/ Q abbreviates ~(~P /\ ~Q) P => Q abbreviates ~(P /\ ~Q) Slide-4 The semantics for CPL • Goals: – 1. define the contexts in which formulas can be given truth values. – 2. define the truth conditions for formulas. • interpretation (world, state): any assignment of truth value {1,0} to propositional symbols • Truth conditions (or satisfaction relation) |= : • I |= p iff I(p)=T; • I |= P /\ Q iff I |= P and I |= Q • I |= ~P iff not I |= P Slide-5 Some logical notions • A formula is satisfiable iff it is true in some world. • A formula is valid (a tautology) (|= A) if it is true in all worlds. • A is a logical consequence of a set of formulas S (S |= A) iff A is true in all models of S. • Problems : How to characterize the set {A | A is a tautology} ? Slide-6 Calculus and provability • A calculus C over a language L is a finite set of rules, each of the form: – (A1,A2, ..., An, B) – A1,A2,...,An : Premises – B: conclusion – if n = 0 => axioms • Example: (A, B, A /\B), (A, A=>B, B), (A=>B, B, A),... Slide-7 Provability • Given a calculus C, • The set C = {A | A is C-provable(denoted |-C A)} is defined recursively as follows: – Basis:If (A) is a rule, then A in C ---axioms – Ind: If (A1,..,An,B) is a rule & – A1,...,An in C, then B in C. Slide-8 An axomatization for CPL • Let CPL be the calculus: (1) Axiom schema: – A => (B => A) – (A=>(B =>C)) => ((A=>B)=>(A=>C)) – (~A => ~B) => (B => A) (2) Inference rule: – from A and A => B infer B (MP) • Theorem: A is valid in CPL iff A is CPL-provable Slide-9 Basic Modal logic • The logical study of necessity and possibility • The language: – CPL augmented with two modal operators: [] (necessity) and ⃟ (possibility). – P : any proposition , then []P (<>P) means “P is necessarily (possibly) true”. – Meaning of []p: • depends on the context it is used, not only determined by the truth value of p • A family of logics instead of a single logic Slide-10 Types of necessity • logical necessity: – e.g, p \/ ~p is logically necessarily true. • physical necessity: – F=ma • Epistemic necessity: – e.g., It is believed(known) that ... • Normal necessity: – e.g., It is obligated (permitted, forbidden) that ... • time-related (always, eventual) • Others: – After the programs terminates P must holds,... Slide-11 Formal Definition • The language: – Alphabet (S): • PV: a set of propositional variables. • logical connectives: ~ (not), /\ (and), [] (necessity) – MF: a set of modal formulas defined inductively: • A ::= p | A /\ B | ~ A | []A – Abbreviations (Macros) • (A \/ B) abbreviates ~(~A /\ ~B); • (A B) abbreviates ~(A /\ ~B) • ⃟ A abbreviates ~[]~A Slide-12 Possible-world Semantics for modal logic • Truth conditions for p /\ q, p \/ q, p q, and ~p . – Let p = “I win the game”, – q = “It is 5 p.m.” – Assume I win the game and – the present time is 3 p.m, – then p/\q: false, p\/q: true and pq: false. • But how about the statement: []p =It must be the case that I win the game. “ Slide-13 Meaning of necessity and possibility: • The game: – Two players A,B, each getting a card from four cards labeled 1,2,3,4 randomly. • rule: – The player who get a card larger than the other’s wins. Slide-14 Scenario I: A gets “2”. • Then consider the following sentences: – 1. “A may possibly win” • = “It is possibly true that A win” = “⃟A_win” – 2. “A may possibly not win” – 3. “A must win” – 4. “B must not get “2”” • Which is right ? why? Slide-15 The answer: • Statement 1 is right – since (2,1) may be the real world, in which A wins. • Statement 2 is right – since (2,3), (2,4) are possible, in which A does not win. • statement 3 is false – since there are cases (e.g., (2,3), (2,4)) in which A does not win. • Statement 4 is true since in all possible cases B does not get 2. Slide-16 The Rule: (2,1) A_win ~B_2 (3,4) Impossible worlds ~[]A_win ⃟ A_win ⃟ ~A_win [] ~B_2 (2,4) ~A_win ~B_2 (2,3) ~A_win ~B_2 (2,?) Real world Possible worlds Slide-17 The Possible-world Semantics: • Let W = the set of worlds – e.g, {(x,y) | x = 1..4, y =1..4 & x y} • Let V : W x PV -> {0,1} be a valuation function s.t., V(w,p) =1 iff p is assigned true at world w. – e.g, V((2,1), A-win) = 1 • R be a binary relation (I.e., subset of WxW) s.t. wRw’ iff w’ is a possible world of w. – e.g, (2,x)R(2,1), (2,x)R(2,3), (2,x)R(2,4). • The triple M=<W,R,V> is called a (possible-world) structure. Slide-18 Truth-conditions for modal formulas M = <W,R,V>: a possible world structure; w: a world ∈ W, • The statement : “A is true at world w in structure M” is defined as follows: – M,w |= p iff V(w,p) = 1 – M,w |= A /\ B iff M,w |= A and M,w |= B – M,w |= ~A iff not M,w |= A. – M,w |= ⃟ A iff – A is true at some possible world of w. – M,w |= [] A iff A is true at all possible worlds of w. Slide-19 Some definitions • • • • A: modal formula, M: structure, C: a class of structures A is valid iff it is true in all worlds of all structures. A is C-valid iff it is true at all worlds of all structures of C. • Problem: Given a class of structures C, – {A | A is C-valid } = ? Slide-20 Interesting classes of structures • • • • • • Class name T D 4 5 B Property of R reflexive: wRw. serial: for all w, there is w’ s.t. w R w’. transitive: wRw’ & w’Rw’’ ⇒ wRw’’. Eulidean: wRw’ & wRw’’ ⇒ w’ R w’’. symmetric: wRw’ ⇒ w’Rw. • r: any string from {T,D,4,5,B} without repetition. • Kr = the class of the structures whose R satisfying all properties mentioned in r. – (I.e., Every theorem of the logic Kr is valid in all Krstruture, and vice versa.) Slide-21 Axiomatization of modal logics • • • • • • • • • Axioms definitions PC all truth-functional tautologies K [](PQ) ([]P []Q) T []P P D []P ~[]~p 4 []P [][]P 5 ~[]P []~[]P B ~P []~[]P. Inference rule: MP: from P, P Q infer Q Nec: from P infer []P Slide-22 Axiomatizations of modal logic • r: any subset {T,D,4,5,B}. • Kr = the axiom system (calculus) including axioms K, PC and all of r and inference rules MP and Nec. • Kr-provable formulas are defined recursively as follows: – 1. Every axioms of Kr is Kr-provable. – 2. If P, P Q are Kr-provable then so is Q (MP) – 3. If P is Kr-provable, then so is []P (Nec). • Theorem[Chellas80]: – A is Kr-valid iff A is Kr-provable. Slide-23 Some useful modal logics • • • • • • Logical system Property of R S5 (KT45) equivalence KD serial KD45 almost equ. S4 (KT4) ref. tran. S4.3 linear(total) w usage logic of knowledge deontic logic logic of belief Intuitionistic logic temporal logic {w’ | w R w’} w real world must be possible Worlds inside are fully connected real world may and may not be possible Slide-24 Logic of Knowledge and Belief • Modal logic of knowledge : KT45(S5) • Modal logic of belief: KD45( weak S5) • Epsitemic interpretation of knowledge&belief axioms – KA means A is known; BA means A is believed. – T: []A A (knowledge axioms) – D: []A ~[]~A (belief axiom) – 4: []A [][] A (positive introspection) – 5:~[]A []~[]A (negative introspection) – K:[]A /\ [](A B) []B (distribution axiom) – Nec: From p infer []p -- agent knows the logic Slide-25 Extensions to multimodal logics: – S5 (KD45) can model only one single agent’s knowledge (believes) – Multi-agent cases: n agents: 1,2,3,...,n; • 2n knowledge(and belief) operators K1,B1,...,Kn,Bn: • KiA ( BiA ) means agent i knows(resp. believes) A. – Resulting logic: S5nWS5n • N copies of S5, and N copies of KD45, each for one agent.e.g., Tj: KjAA where j =1,..,n. – semantics: Structure M=<W,{Ki,Bi}i=1..n, V> • Each Ki is an equivalence relation on W and Bi is a serial,trans. and euclidean relation. Slide-26 Related Issues[Halpern85] • Logical Omniscience Problem: • Agents with S5 (KD45) ability are perfect logical reasoners, but human never be. • Common knowledge, Distributed knowledge – [E]P = [1]P /\ [2]P.../\[n]P – [C]P = [E]P /\[E][E]P /\ [E][E][E]P /\ ... = [E]P /\[E][C]P – [D]P = P can be known by an agent who knows all what others known (the wisest man). – Needed and useful in many fields (Economics,distributing sys,AI ...) Slide-27 Deontic interpretation of modal logic • Deontic logic (D or KD) – PA means A is permitted; OA means A is obligated; FA means A is forbidden. – A is (strongly) forbidden = • Doing A or bringing about A will result in punishment (dangerous, disastrous) worlds. – A is obligated = not doing A or not bring about A will result in punishment. = ~A is forbidden. – A is (weekly) permitted = A is not forbidden = doing A may not result in punishment. – Another possible pairs: – weekly forbidden/strongly permitted Slide-28 Semantic analysis of forbidden, obligation and permission ~drive-car murder ~pay-tax ~dead ~drive-car ~pay-tax dead ~murder ~drive-car pay-tax ~murder ~dead drive-car ~dead pay-tax ~ murder current world commit-crime or dead (undesired world) Permitted worlds drive-car murder pay-tax dead sets of worlds which may become the real world F murder : since all murder-worlds are red. O pay-tax: since all ~pay-tax world are red. P drive-car: some drive-car-world is white. Slide-29 Formalization of Deontic logic • W: The set of all possible worlds • D: A set of undesired, punishment world • V: WXPV -> {0,1} with the constraint that – V(w,v) = 1 iff w ∈ D. • I.e., we use v to denote all sanction or punishment worlds. • R: a binary relation on W, s.t. – wRw’ means w’ is a possible world that the agent may choose to become the real world from w. Slide-30 Truth conditions for PA,OA, &FA – M,w |= FA iff M,w |= [] (Av) • ie., for all w’, if wRw’ & M,w|=A then M,w |= v. – M,w |= OA iff M,w |= F~A iff M,w |= [](~A v) – M,w |= PA iff M,w |=~FA iff M,w |= ⃟(A/\ ~v) • I.e., there is a world w’ s.t. wRw’ & M,w |= A /\ ~v. Slide-31 Properties of the deontic logic: • By definition: – FA = [] (A v) ; – OA = F~A = [](~A v); – PA = ~FA = (A /\ ~v); • All KD axioms(K, D) • Desirable property: OA => PA: not valid in K but valid in KD (I.e., R must be serial) Slide-32 Temporal interpretation of modal logic Taxonomy of temporal structures: • linear v.s. branch-time, • past time v.s. future time v.s. past&future • continuous v.s. discrete possible past now real history real past real future possible future Slide-33 Linear discrete time temporal logic • Temporal operators: – FA means A is eventually true – GA means A is always true – A U B means A is true until B becomes true – 0A: A is true at the next time. Slide-34 Meaning of temporal formulas •Linear discrete-time temporal structure: 0 initial world 1 2 3 ..... n n+1 Fp Gq q q 0r r AUB A A m q q A A p q .... q..... B Slide-35 Meaning of temporal formulas • • • • linear discrete temporal logic: W = N = {0,1,2,3,...} :time point set V:NXPV -> {0,1} Truth conditions: – M,n |= 0A iff M,n+1 |= A. – M,n |= FA iff there is m n s.t., M,m |= A – M,n |= GA iff for all m n, M,m |= A. – M,n |= A U B iff there is m n s.t., M,m|= B & for all m > s n, M,s |= A. Slide-36 Logic of programs and actions • Modal logic of programs (Dynamic Logic) • PDL: propositional version of DL • The language: – Primitive programs: a,b,c,... – Primitive propositions: p,q,r... – program constructs: “ ;”, “|”,”*”,”?”. – logic connectives: /\,~, [A] for each program A. Slide-37 Syntax of Programs – (Compound) Programs A ::= • • • • • • a | any primitive program is a program (x++ in C) A;B | doing A and then doing B A+B | doing A or doing B nondeterministically A* | iterate A a nondeterminstic number of times A* = t + A + A;A + A;A;A + ... P? | test if P is true. Slide-38 Syntax of Formulas – Formulas(assertions): P ::= –p any primitive proposition is a formula – P /\ Q both P and Q are true – ~P P is not true – [A]P After A terminates, P will be true. – <A>P = ~[A]~P means P holds at some execution of A. Slide-39 An Example: • integer x,y,z – x := 3 ; – y := (1,4); – z := x+1 | y := x • Problems: – Is it true that z > 0 or y x-2 after executing the program, suppose initially the program state is (4,3,2) ? Slide-40 Formalization of the problem: • two primitive propositions: – p = “z > 0” ; q = “z x-2” • four primitive programs: – a = “x := 3”, b = “y :=(1,4)”, – c = “z := x+1” , d = “y := x”. • The program : A = a;b; (c | d) • The problem: is [A] (p \/ q) true ? Slide-41 Analysis: • A program state is triple (I,j,k) of integers, – which denote the possible simultaneous values of variables (x,y,z). • Let W = {(i,j,k) | i,j,k are integers} be the set of all possible program states. Slide-42 a = “x := 3”, p = “z > 3” , b = “y :=(1,4)”, c = “z := x+1” , d = “y := x”. q = “z >= x+1” a;b;(c+d) c a;b (4,3,2) initial program state (3,1,2) a b b (3,3,2) ~p ~(p\/q) ~q (3,4,4) p p\/q q (3,3,2) ~p ~(p\/q) ~q d c+d (3,3,2) (3,1,4) p p\/q q c (3,4,2) d Slide-43 (i,1,k) (3,j,k) a: x:=3 b: y:=(1,4) (i,j,k) b (i,4,k) c: z:= x+1 (i,j,i+1) d: y := x (i,4,k) Slide-44 The Semantic rules • 0. Let W = the set of all possible program states • 1. Each primitive proposition has a truth value in a program state: – denoted by a function: V: W x PV {1,0} s.t. – V(w,p) = 1 iff p is true at state w. • 2. Each primitive program a is a state transformer, denoted by a binary relation R(a): WxW s.t., • w R(a) w’ means the program state can become w’ from w by executing a. • M=<W,R,V> is called a (program) structure. Slide-45 Composition rule for programs: • R(A;B) = R(A)R(B) = {(w,w’’) | there is w’ s.t., w R w’ and w R w’’. • R(A+B) = R(A) U R(B); • R(A)* = I UR(A) UR(A)R(A) U ... = R(A)* I.e., ref. and trans closure of R(A). • R(P?) = {(w,w) | P is true at w}. • Define classical program constructs: – if P then A else B P?;A + ~P?;B – while P do A (P?;A)* ; (~P?) – Repeat A until P A;(~P?;A)*;P? Slide-46 Truth conditions for Formulas – M,w |= p iff V(w,p)=1 – M,w |= P /\ Q iff M,w|=P and M,w|=Q. – M,w|=~P iff not M,w|=P. – M,w|= [A]P iff for all w’, w RA w’ then M,w’|=P. – M,w|=<A>P iff there is w s.t. wRAw’ & M,w’|=p. • A formula is valid iff it is true at every world of every program structure. • A formula is satisfiable if it is true at some world of some program structure. • Subsume Hoare logic: P {A} Q (P [A] Q) Slide-47 Variants of PDL [Harel84] • DPDL – atomic programs are deterministic • SPDL (structure PDL) – remove + and * – add “if then else” and “while do”. • SDPDL (structure DPDL): – atomic programs are deterministic – replace + and * by “if then else” and “while do”. Slide-48 PDL as a logic of actions • Too strong part: – The *-operator may not be necessary – The +-operator is not very natural • Too weak part: – need a notion of not doing something • (I.e., A: an action => -A : an action (not doing A) – need a notion of concurrent/parallel execution of actions. A,B: actions => • A&B means (doing A and B in parallel)) • A \/ B means A;B + B;A + A&B – Need internal free choice: A B Slide-49 Axiomatize PDL • The following formulas are valid in PDL 1. CPL: all tautologies of propositonal logic 2. K: [A](PQ) /\ [A]P [A]Q 3. cmp: [A;B]P <-> [A][B]P 4. union: [A+B]P <->([A]P /\ [B]P) 5. test: [P?]Q <-> (PQ) 6. mix: [A*]P -> (P /\[A]P /\ [A][A]P /\ …) ∴ [A*]P -> (P /\ [A][A*]P) 7. induction: (P /\ [A*](P [A]P)) [A*]P Slide-50 PDL • Valid inference rules in PDL: – MP: From P and P Q infer Q – Gen: From P infer [A]P • Theorem: – 1. P is valid in PDL iff P can be proved from the above calculus. (In symbols, |=PDLP|-PDLP) – 2. The set {A | A is a valid in PDL} is EXPTIMEcomplete Slide-51