520 likes | 823 Vues
Modal Logic and Its applications. Cheng-Chia Chen Department of Computer Science, National Cheng-Chi University. Contents. Classical propositional logic (CPL) Basic modal logic logic of knowledge and belief deontic logic logic of actions and programs(PDL). Elements of a Logic. Language
E N D
Modal Logic and Its applications Cheng-Chia Chen Department of Computer Science, National Cheng-Chi University
Contents • Classical propositional logic (CPL) • Basic modal logic • logic of knowledge and belief • deontic logic • logic of actions and programs(PDL)
Elements of a Logic • Language • syntax (formal language) • semantics (model theory) • axiomatics (proof theory) • decidability & complexity (computation theory) • automated deduction (Theorem proving)
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)
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 • If I |= A, then say I is a model of A.
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} ?
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),...
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.
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
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
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,...
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
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. “
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.
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?
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.
(3,4) The Rule: (2,1) A_win ~B_2 (2,4) ~A_win ~B_2 (2,3) ~A_win ~B_2 Impossible worlds ~[]A_win ⃟ A_win ⃟ ~A_win [] ~B_2 (2,?) Possible worlds Real world
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.
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.
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 } = ?
Interesting classes of structures • Class name Property of R • T reflexive: wRw. • D serial: for all w, there is w’ s.t. w R w’. • 4 transitive: wRw’ & w’Rw’’ ⇒ wRw’’. • 5 Eulidean: wRw’ & wRw’’ ⇒ w’ R w’’. • B 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 Kr-struture, and vice versa.)
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
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.
· w Å · Some useful modal logics • Logical system Property of R usage • S5 (KT45) equivalence logic of knowledge • KD serial deontic logic • KD45 almost equ. logic of belief • S4 (KT4) ref. tran. Intuitionistic logic • S4.3 linear(total) temporal logic {w’ | w R w’} w · · Å Worlds inside are fully connected · • real world must be possible • real world may and may not be possible
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
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.
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 ...)
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
Semantic analysis of forbidden, obligation and permission ~drive-car murder ~pay-tax ~dead ~drive-car ~pay-tax dead ~murder drive-car ~dead pay-tax ~ murder ~drive-car pay-tax ~murder ~dead current world drive-car murder pay-tax dead sets of worlds which may become the real world commit-crime or dead (undesired 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. Permitted worlds
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.
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.
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)
possible past now real history real past real future possible future 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
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.
Meaning of temporal formulas • Linear discrete-time temporal structure: 0 1 2 3 ..... n n+1 m initial world Fp p Gq q q q q .... q..... q 0r r AUB A A A A B
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.
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.
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.
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.
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) ?
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 ?
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.
(3,1,4) c (3,1,2) (4,3,2) d a b (3,3,2) (3,3,2) b c (3,4,4) (3,4,2) d (3,3,2) a = “x := 3”, b = “y :=(1,4)”, c = “z := x+1” , d = “y := x”. p = “z > 3” , q = “z >= x+1” a;b;(c+d) p p\/q q a;b ~p ~(p\/q) ~q c+d initial program state p p\/q q ~p ~(p\/q) ~q
(i,1,k) (3,j,k) (i,j,k) (i,4,k) (i,j,i+1) (i,4,k) a: x:=3 b: y:=(1,4) b c: z:= x+1 d: y := x
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.
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?
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)
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”.
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
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