Bisimilarity and Hennessy-Milner Logic Luca Aceto ICE-TCS, School - - PowerPoint PPT Presentation

bisimilarity and hennessy milner logic
SMART_READER_LITE
LIVE PREVIEW

Bisimilarity and Hennessy-Milner Logic Luca Aceto ICE-TCS, School - - PowerPoint PPT Presentation

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Bisimilarity and Hennessy-Milner Logic Luca Aceto ICE-TCS, School of Computer Science, Reykjavik


slide-1
SLIDE 1

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties

Bisimilarity and Hennessy-Milner Logic

Luca Aceto ICE-TCS, School of Computer Science, Reykjavik University

Luca Aceto Bisimilarity and HML

slide-2
SLIDE 2

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties

Tentative Plan

1 An introduction to Hennessy-Milner logic (HML) 2 Syntax and semantics of HML 3 Correspondence with bisimilarity 4 Hennessy-Milner logic and temporal properties 5 Hennessy-Milner logic with recursion 6 . . . ? Luca Aceto Bisimilarity and HML

slide-3
SLIDE 3

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Equivalence Checking vs. Model Checking Modal and Temporal Properties

Verifying Correctness of Reactive Systems

Let Impl be an implementation of a system. Equivalence Checking Approach Impl ≡ Spec ≡ is a behavioural equivalence, e.g. ∼ or ≈ Spec is expressed in the same language as Impl Spec provides the full specification of the intended behaviour Model Checking Approach Impl | = Property | = is the satisfaction relation Property is a particular feature, often expressed via a logic Property is a partial specification of the intended behaviour

Luca Aceto Bisimilarity and HML

slide-4
SLIDE 4

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Equivalence Checking vs. Model Checking Modal and Temporal Properties

Verifying Correctness of Reactive Systems

Let Impl be an implementation of a system. Equivalence Checking Approach Impl ≡ Spec ≡ is a behavioural equivalence, e.g. ∼ or ≈ Spec is expressed in the same language as Impl Spec provides the full specification of the intended behaviour Model Checking Approach Impl | = Property | = is the satisfaction relation Property is a particular feature, often expressed via a logic Property is a partial specification of the intended behaviour

Luca Aceto Bisimilarity and HML

slide-5
SLIDE 5

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Equivalence Checking vs. Model Checking Modal and Temporal Properties

Model Checking of Reactive Systems

Our Aim Develop a logic in which we can express interesting properties of reactive systems.

Luca Aceto Bisimilarity and HML

slide-6
SLIDE 6

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Equivalence Checking vs. Model Checking Modal and Temporal Properties

Logical Properties of Reactive Systems

Modal Properties – what can happen now (possibility, necessity) drink a coffee (can drink a coffee now) does not drink tea drinks both tea and coffee drinks tea after coffee Temporal Properties – behaviour in time never drinks any alcohol (safety property: nothing bad can happen) eventually will have a glass of wine (liveness property: something good will happen) Can these properties be expressed using equivalence checking?

Luca Aceto Bisimilarity and HML

slide-7
SLIDE 7

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Equivalence Checking vs. Model Checking Modal and Temporal Properties

Logical Properties of Reactive Systems

Modal Properties – what can happen now (possibility, necessity) drink a coffee (can drink a coffee now) does not drink tea drinks both tea and coffee drinks tea after coffee Temporal Properties – behaviour in time never drinks any alcohol (safety property: nothing bad can happen) eventually will have a glass of wine (liveness property: something good will happen) Can these properties be expressed using equivalence checking?

Luca Aceto Bisimilarity and HML

slide-8
SLIDE 8

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Equivalence Checking vs. Model Checking Modal and Temporal Properties

Logical Properties of Reactive Systems

Modal Properties – what can happen now (possibility, necessity) drink a coffee (can drink a coffee now) does not drink tea drinks both tea and coffee drinks tea after coffee Temporal Properties – behaviour in time never drinks any alcohol (safety property: nothing bad can happen) eventually will have a glass of wine (liveness property: something good will happen) Can these properties be expressed using equivalence checking?

Luca Aceto Bisimilarity and HML

slide-9
SLIDE 9

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Hennessy-Milner Logic – Syntax

Syntax of the Formulae (a ∈ Act) F, G ::= tt | ff | F ∧ G | F ∨ G | aF | [a]F Intuition: tt all processes satisfy this property ff no process satisfies this property ∧, ∨ usual logical AND and OR aF there is at least one a-successor that satisfies F [a]F all a-successors have to satisfy F Remark Temporal properties like always/never in the future or eventually are not included.

Luca Aceto Bisimilarity and HML

slide-10
SLIDE 10

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Hennessy-Milner Logic – Syntax

Syntax of the Formulae (a ∈ Act) F, G ::= tt | ff | F ∧ G | F ∨ G | aF | [a]F Intuition: tt all processes satisfy this property ff no process satisfies this property ∧, ∨ usual logical AND and OR aF there is at least one a-successor that satisfies F [a]F all a-successors have to satisfy F Remark Temporal properties like always/never in the future or eventually are not included.

Luca Aceto Bisimilarity and HML

slide-11
SLIDE 11

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Hennessy-Milner Logic – Syntax

Syntax of the Formulae (a ∈ Act) F, G ::= tt | ff | F ∧ G | F ∨ G | aF | [a]F Intuition: tt all processes satisfy this property ff no process satisfies this property ∧, ∨ usual logical AND and OR aF there is at least one a-successor that satisfies F [a]F all a-successors have to satisfy F Remark Temporal properties like always/never in the future or eventually are not included.

Luca Aceto Bisimilarity and HML

slide-12
SLIDE 12

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Hennessy-Milner Logic – Semantics

Let (Proc, Act, {

a

− →| a ∈ Act}) be an LTS. Validity of the logical triple p | = F (p ∈ Proc, F a HM formula) p | = tt for each p ∈ Proc p | = ff for no p (we also write p | = ff ) p | = F ∧ G iff p | = F and p | = G p | = F ∨ G iff p | = F or p | = G p | = aF iff p

a

− → p′ for some p′ ∈ Proc such that p′ | = F p | = [a]F iff p′ | = F, for all p′ ∈ Proc such that p

a

− → p′ We write p | = F whenever p does not satisfy F.

Luca Aceto Bisimilarity and HML

slide-13
SLIDE 13

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

What about Negation?

For every formula F we define the formula F c as follows: ttc = ff ff c = tt (F ∧ G)c = F c ∨ G c (F ∨ G)c = F c ∧ G c (aF)c = [a]F c ([a]F)c = aF c Theorem (F c is equivalent to the negation of F) For any p ∈ Proc and any HM formula F

1 p |

= F = ⇒ p | = F c

2 p |

= F = ⇒ p | = F c

Luca Aceto Bisimilarity and HML

slide-14
SLIDE 14

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

What about Negation?

For every formula F we define the formula F c as follows: ttc = ff ff c = tt (F ∧ G)c = F c ∨ G c (F ∨ G)c = F c ∧ G c (aF)c = [a]F c ([a]F)c = aF c Theorem (F c is equivalent to the negation of F) For any p ∈ Proc and any HM formula F

1 p |

= F = ⇒ p | = F c

2 p |

= F = ⇒ p | = F c

Luca Aceto Bisimilarity and HML

slide-15
SLIDE 15

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Hennessy-Milner Logic – Denotational Semantics

For a formula F let [ [F] ] ⊆ Proc contain all states that satisfy F. Denotational Semantics: [ [ ] ] : Formulae → 2Proc [ [tt] ] = Proc and [ [ff ] ] = ∅ [ [F ∨ G] ] = [ [F] ] ∪ [ [G] ] [ [F ∧ G] ] = [ [F] ] ∩ [ [G] ] [ [aF] ] = ·a·[ [F] ] [ [[a]F] ] = [·a·][ [F] ] where ·a·, [·a·] : 2(Proc) → 2(Proc) are defined by ·a·S = {p ∈ Proc | ∃p′. p

a

− → p′ and p′ ∈ S} [·a·]S = {p ∈ Proc | ∀p′. p

a

− → p′ = ⇒ p′ ∈ S}.

Luca Aceto Bisimilarity and HML

slide-16
SLIDE 16

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

The Correspondence Theorem

Theorem Let (Proc, Act, {

a

− →| a ∈ Act}) be an LTS, p ∈ Proc and F a formula of Hennessy-Milner logic. Then p | = F if and only if p ∈ [ [F] ]. Proof: By induction on the structure of the formula F. How?

Luca Aceto Bisimilarity and HML

slide-17
SLIDE 17

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

The Correspondence Theorem

Theorem Let (Proc, Act, {

a

− →| a ∈ Act}) be an LTS, p ∈ Proc and F a formula of Hennessy-Milner logic. Then p | = F if and only if p ∈ [ [F] ]. Proof: By induction on the structure of the formula F. How?

Luca Aceto Bisimilarity and HML

slide-18
SLIDE 18

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Image-Finite Labelled Transition System

Image-Finite System Let (Proc, Act, {

a

− →| a ∈ Act}) be an LTS. We call it image-finite iff for every p ∈ Proc and every a ∈ Act the set {p′ ∈ Proc | p

a

− → p′} is finite. Question: Are there any connections between image finiteness and finite branching?

Luca Aceto Bisimilarity and HML

slide-19
SLIDE 19

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Relationship between HM Logic and Strong Bisimilarity

Theorem (Hennessy-Milner) Let (Proc, Act, {

a

− →| a ∈ Act}) be an image-finite LTS and p, q ∈ St. Then p ∼ q if and only if for every HM formula F: (p | = F ⇐ ⇒ q | = F). Proof?

Luca Aceto Bisimilarity and HML

slide-20
SLIDE 20

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

CWB Session

hm.cwb agent S = a.S1; agent S1 = b.0 + c.0; agent T = a.T1 + a.T2; agent T1 = b.0; agent T2 = c.0; [luca@vel5638 CWB]$ ./xccscwb.x86-linux > input "hm.cwb"; > print; > help logic; > checkprop(S,<a>(<b>T & <c>T)); true > checkprop(T,<a>(<b>T & <c>T)); false > help dfstrong; > dfstrong(S,T); [a]<b>T > exit;

Luca Aceto Bisimilarity and HML

slide-21
SLIDE 21

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Is Hennessy-Milner Logic Powerful Enough?

Modal depth (nesting degree) for Hennessy-Milner formulae: md(tt) = md(ff ) = 0 md(F ∧ G) = md(F ∨ G) = max{md(F), md(G)} md([a]F) = md(aF) = md(F) + 1 Idea: a formula F can “see” only up to depth md(F). Theorem (let F be a HM formula and k = md(F)) If the defender has a defending strategy in the strong bisimulation game from s and t up to k rounds then s | = F if and only if t | = F. Conclusion There is no Hennessy-Milner formula F that can detect a deadlock in an arbitrary LTS.

Luca Aceto Bisimilarity and HML

slide-22
SLIDE 22

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Is Hennessy-Milner Logic Powerful Enough?

Modal depth (nesting degree) for Hennessy-Milner formulae: md(tt) = md(ff ) = 0 md(F ∧ G) = md(F ∨ G) = max{md(F), md(G)} md([a]F) = md(aF) = md(F) + 1 Idea: a formula F can “see” only up to depth md(F). Theorem (let F be a HM formula and k = md(F)) If the defender has a defending strategy in the strong bisimulation game from s and t up to k rounds then s | = F if and only if t | = F. Conclusion There is no Hennessy-Milner formula F that can detect a deadlock in an arbitrary LTS.

Luca Aceto Bisimilarity and HML

slide-23
SLIDE 23

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Is Hennessy-Milner Logic Powerful Enough?

Modal depth (nesting degree) for Hennessy-Milner formulae: md(tt) = md(ff ) = 0 md(F ∧ G) = md(F ∨ G) = max{md(F), md(G)} md([a]F) = md(aF) = md(F) + 1 Idea: a formula F can “see” only up to depth md(F). Theorem (let F be a HM formula and k = md(F)) If the defender has a defending strategy in the strong bisimulation game from s and t up to k rounds then s | = F if and only if t | = F. Conclusion There is no Hennessy-Milner formula F that can detect a deadlock in an arbitrary LTS.

Luca Aceto Bisimilarity and HML

slide-24
SLIDE 24

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Temporal Properties not Expressible in HM Logic

s | = Inv(F) iff all states reachable from s satisfy F s | = Pos(F) iff there is a reachable state which satisfies F Fact Properties Inv(F) and Pos(F) are not expressible in HM logic. Let Act = {a1, a2, . . . , an} be a finite set of actions. We define ActF def = a1F ∨ a2F ∨ . . . ∨ anF [Act]F def = [a1]F ∧ [a2]F ∧ . . . ∧ [an]F Inv(F) ≡ F ∧ [Act]F ∧ [Act][Act]F ∧ [Act][Act][Act]F ∧ . . . Pos(F) ≡ F ∨ ActF ∨ ActActF ∨ ActActActF ∨ . . .

Luca Aceto Bisimilarity and HML

slide-25
SLIDE 25

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Temporal Properties not Expressible in HM Logic

s | = Inv(F) iff all states reachable from s satisfy F s | = Pos(F) iff there is a reachable state which satisfies F Fact Properties Inv(F) and Pos(F) are not expressible in HM logic. Let Act = {a1, a2, . . . , an} be a finite set of actions. We define ActF def = a1F ∨ a2F ∨ . . . ∨ anF [Act]F def = [a1]F ∧ [a2]F ∧ . . . ∧ [an]F Inv(F) ≡ F ∧ [Act]F ∧ [Act][Act]F ∧ [Act][Act][Act]F ∧ . . . Pos(F) ≡ F ∨ ActF ∨ ActActF ∨ ActActActF ∨ . . .

Luca Aceto Bisimilarity and HML

slide-26
SLIDE 26

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Temporal Properties not Expressible in HM Logic

s | = Inv(F) iff all states reachable from s satisfy F s | = Pos(F) iff there is a reachable state which satisfies F Fact Properties Inv(F) and Pos(F) are not expressible in HM logic. Let Act = {a1, a2, . . . , an} be a finite set of actions. We define ActF def = a1F ∨ a2F ∨ . . . ∨ anF [Act]F def = [a1]F ∧ [a2]F ∧ . . . ∧ [an]F Inv(F) ≡ F ∧ [Act]F ∧ [Act][Act]F ∧ [Act][Act][Act]F ∧ . . . Pos(F) ≡ F ∨ ActF ∨ ActActF ∨ ActActActF ∨ . . .

Luca Aceto Bisimilarity and HML

slide-27
SLIDE 27

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Infinite Conjunctions and Disjunctions vs. Recursion

Problems infinite formulae are not allowed in HM logic infinite formulae are difficult to handle Why don’t we use recursion? Inv(F) expressed by X def = F ∧ [Act]X Pos(F) expressed by X def = F ∨ ActX Question: How to define the semantics of such equations?

Luca Aceto Bisimilarity and HML

slide-28
SLIDE 28

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Infinite Conjunctions and Disjunctions vs. Recursion

Problems infinite formulae are not allowed in HM logic infinite formulae are difficult to handle Why don’t we use recursion? Inv(F) expressed by X def = F ∧ [Act]X Pos(F) expressed by X def = F ∨ ActX Question: How to define the semantics of such equations?

Luca Aceto Bisimilarity and HML

slide-29
SLIDE 29

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Infinite Conjunctions and Disjunctions vs. Recursion

Problems infinite formulae are not allowed in HM logic infinite formulae are difficult to handle Why don’t we use recursion? Inv(F) expressed by X def = F ∧ [Act]X Pos(F) expressed by X def = F ∨ ActX Question: How to define the semantics of such equations?

Luca Aceto Bisimilarity and HML

slide-30
SLIDE 30

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Solving Equations is Tricky

Equations over Natural Numbers (n ∈ N) n = 2 ∗ n

  • ne solution n = 0

n = n + 1 no solution n = 1 ∗ n many solutions (every n ∈ Nat is a solution) Equations over Sets of Integers (M ∈ 2N) M = ({7} ∩ M) ∪ {7}

  • ne solution M = {7}

M = N M no solution M = {3} ∪ M each M ⊇ {3} is a solution What about Equations over Processes? X def = [a]ff ∨ aX ⇒ find S ⊆ 2Proc s.t. S = [·a·]∅ ∪ ·a·S

Luca Aceto Bisimilarity and HML

slide-31
SLIDE 31

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Solving Equations is Tricky

Equations over Natural Numbers (n ∈ N) n = 2 ∗ n

  • ne solution n = 0

n = n + 1 no solution n = 1 ∗ n many solutions (every n ∈ Nat is a solution) Equations over Sets of Integers (M ∈ 2N) M = ({7} ∩ M) ∪ {7}

  • ne solution M = {7}

M = N M no solution M = {3} ∪ M each M ⊇ {3} is a solution What about Equations over Processes? X def = [a]ff ∨ aX ⇒ find S ⊆ 2Proc s.t. S = [·a·]∅ ∪ ·a·S

Luca Aceto Bisimilarity and HML

slide-32
SLIDE 32

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Solving Equations is Tricky

Equations over Natural Numbers (n ∈ N) n = 2 ∗ n

  • ne solution n = 0

n = n + 1 no solution n = 1 ∗ n many solutions (every n ∈ Nat is a solution) Equations over Sets of Integers (M ∈ 2N) M = ({7} ∩ M) ∪ {7}

  • ne solution M = {7}

M = N M no solution M = {3} ∪ M each M ⊇ {3} is a solution What about Equations over Processes? X def = [a]ff ∨ aX ⇒ find S ⊆ 2Proc s.t. S = [·a·]∅ ∪ ·a·S

Luca Aceto Bisimilarity and HML

slide-33
SLIDE 33

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Monotonic Functions

Monotonic Function and Fixed Points A function f : 2Proc → 2Proc is called monotonic iff X ⊆ Y ⇒ f (X) ⊆ f (Y ) for all X, Y ∈ 2Proc. A set X ∈ 2Proc is called a fixed point of f iff X = f (X). Questions Is the function f (X) = X ∪ {s, t} monotonic? What about g(X) = Proc \ X? Do these functions have fixed points?

Luca Aceto Bisimilarity and HML

slide-34
SLIDE 34

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Tarski’s Fixed Point Theorem

Theorem (Tarski) Let f : 2Proc → 2Proc be a monotonic function. Then f has a unique largest fixed point zmax and a unique least fixed point zmin given by: zmax

def

=

  • {X ∈ 2Proc | X ⊆ f (X)}

zmin

def

=

  • {X ∈ 2Proc | f (X) ⊆ X}

Luca Aceto Bisimilarity and HML

slide-35
SLIDE 35

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Computing Min and Max Fixed Points on Finite Sets

Let f : 2Proc → 2Proc be monotonic. Let f 1(X) def = f (X) and f n(X) def = f (f n−1(X)) for n > 1, i.e., f n(X) = f (f (. . . f

  • n times

(X) . . .)). Theorem If 2Proc is a finite set then there exist integers M, m > 0 such that zmax = f M(Proc) zmin = f m(∅) Idea (for zmin): The following sequence stabilizes for any finite 2Proc ∅ ⊆ f (∅) ⊆ f (f (∅)) ⊆ f (f (f (∅))) ⊆ · · ·

Luca Aceto Bisimilarity and HML

slide-36
SLIDE 36

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics Denotational Semantics Correspondence between HM Logic and Strong Bisimilarity Temporal Properties – Invariance and Possibility

Computing Min and Max Fixed Points on Finite Sets

Let f : 2Proc → 2Proc be monotonic. Let f 1(X) def = f (X) and f n(X) def = f (f n−1(X)) for n > 1, i.e., f n(X) = f (f (. . . f

  • n times

(X) . . .)). Theorem If 2Proc is a finite set then there exist integers M, m > 0 such that zmax = f M(Proc) zmin = f m(∅) Idea (for zmin): The following sequence stabilizes for any finite 2Proc ∅ ⊆ f (∅) ⊆ f (f (∅)) ⊆ f (f (f (∅))) ⊆ · · ·

Luca Aceto Bisimilarity and HML

slide-37
SLIDE 37

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics

HML with One Recursively Defined Variable

Syntax of Formulae Formulae are given by the following abstract syntax F ::= X | tt | ff | F1 ∧ F2 | F1 ∨ F2 | aF | [a]F where a ∈ Act and X is a distinguished variable with a definition X min = FX, or X max = FX such that FX is a formula of the logic (can contain X). Semantics? For every formula F we define a function OF : 2Proc → 2Proc s.t. if S is the set of processes that satisfy X then OF(S) is the set of processes that satisfy F.

Luca Aceto Bisimilarity and HML

slide-38
SLIDE 38

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics

HML with One Recursively Defined Variable

Syntax of Formulae Formulae are given by the following abstract syntax F ::= X | tt | ff | F1 ∧ F2 | F1 ∨ F2 | aF | [a]F where a ∈ Act and X is a distinguished variable with a definition X min = FX, or X max = FX such that FX is a formula of the logic (can contain X). Semantics? For every formula F we define a function OF : 2Proc → 2Proc s.t. if S is the set of processes that satisfy X then OF(S) is the set of processes that satisfy F.

Luca Aceto Bisimilarity and HML

slide-39
SLIDE 39

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics

Definition of OF : 2Proc → 2Proc (let S ⊆ 2Proc)

OX(S) = S Ott(S) = Proc Off (S) = ∅ OF1∧F2(S) = OF1(S) ∩ OF2(S) OF1∨F2(S) = OF1(S) ∪ OF2(S) OaF(S) = ·a·OF(S) O[a]F(S) = [·a·]OF(S) OF is monotonic for every formula F S1 ⊆ S2 ⇒ OF(S1) ⊆ OF(S2) Proof: By structural induction on F.

Luca Aceto Bisimilarity and HML

slide-40
SLIDE 40

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics

Definition of OF : 2Proc → 2Proc (let S ⊆ 2Proc)

OX(S) = S Ott(S) = Proc Off (S) = ∅ OF1∧F2(S) = OF1(S) ∩ OF2(S) OF1∨F2(S) = OF1(S) ∪ OF2(S) OaF(S) = ·a·OF(S) O[a]F(S) = [·a·]OF(S) OF is monotonic for every formula F S1 ⊆ S2 ⇒ OF(S1) ⊆ OF(S2) Proof: By structural induction on F.

Luca Aceto Bisimilarity and HML

slide-41
SLIDE 41

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties Syntax Semantics

Semantics

Observation We know OF is monotonic, so OF has a unique greatest and least fixed point. Semantics of the Variable X If X max = FX then [ [X] ] =

  • {S ⊆ Proc | S ⊆ OFX (S)}.

If X min = FX then [ [X] ] =

  • {S ⊆ Proc | OFX (S) ⊆ S}.

Luca Aceto Bisimilarity and HML

slide-42
SLIDE 42

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties

Selection of Temporal Properties

Inv(F): X max = F ∧ [Act]X Pos(F): X min = F ∨ ActX Safe(F): X max = F ∧ ([Act]ff ∨ ActX) Even(F): X min = F ∨ (Acttt ∧ [Act]X) F Uw G: X max = G ∨ (F ∧ [Act]X) F Us G: X min = G ∨ (F ∧ Acttt ∧ [Act]X) Using until we can express e.g. Inv(F) and Even(F): Inv(F) ≡ F Uw ff Even(F) ≡ tt Us F

Luca Aceto Bisimilarity and HML

slide-43
SLIDE 43

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties

Selection of Temporal Properties

Inv(F): X max = F ∧ [Act]X Pos(F): X min = F ∨ ActX Safe(F): X max = F ∧ ([Act]ff ∨ ActX) Even(F): X min = F ∨ (Acttt ∧ [Act]X) F Uw G: X max = G ∨ (F ∧ [Act]X) F Us G: X min = G ∨ (F ∧ Acttt ∧ [Act]X) Using until we can express e.g. Inv(F) and Even(F): Inv(F) ≡ F Uw ff Even(F) ≡ tt Us F

Luca Aceto Bisimilarity and HML

slide-44
SLIDE 44

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties

Selection of Temporal Properties

Inv(F): X max = F ∧ [Act]X Pos(F): X min = F ∨ ActX Safe(F): X max = F ∧ ([Act]ff ∨ ActX) Even(F): X min = F ∨ (Acttt ∧ [Act]X) F Uw G: X max = G ∨ (F ∧ [Act]X) F Us G: X min = G ∨ (F ∧ Acttt ∧ [Act]X) Using until we can express e.g. Inv(F) and Even(F): Inv(F) ≡ F Uw ff Even(F) ≡ tt Us F

Luca Aceto Bisimilarity and HML

slide-45
SLIDE 45

Introduction to Model Checking Hennessy-Milner Logic Hennessy-Milner Logic with One Recursive Definition Selection of Temporal Properties

Selection of Temporal Properties

Inv(F): X max = F ∧ [Act]X Pos(F): X min = F ∨ ActX Safe(F): X max = F ∧ ([Act]ff ∨ ActX) Even(F): X min = F ∨ (Acttt ∧ [Act]X) F Uw G: X max = G ∨ (F ∧ [Act]X) F Us G: X min = G ∨ (F ∧ Acttt ∧ [Act]X) Using until we can express e.g. Inv(F) and Even(F): Inv(F) ≡ F Uw ff Even(F) ≡ tt Us F

Luca Aceto Bisimilarity and HML