Professional Documents
Culture Documents
Hennessy-Milner Logic
Hennessy-Milner Logic with One Recursive Definition
Selection of Temporal Properties
Luca Aceto
ICE-TCS, School of Computer Science, Reykjavik University
Tentative Plan
Our Aim
Develop a logic in which we can express interesting properties of
reactive systems.
Intuition:
tt all processes satisfy this property
ff no process satisfies this property
∧, ∨ usual logical AND and OR
haiF 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
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
Intuition:
tt all processes satisfy this property
ff no process satisfies this property
∧, ∨ usual logical AND and OR
haiF 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
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
Intuition:
tt all processes satisfy this property
ff no process satisfies this property
∧, ∨ usual logical AND and OR
haiF 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
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
Theorem
a
Let (Proc, Act, {−→| a ∈ Act}) be an LTS, p ∈ Proc and F a
formula of Hennessy-Milner logic. Then
Theorem
a
Let (Proc, Act, {−→| a ∈ Act}) be an LTS, p ∈ Proc and F a
formula of Hennessy-Milner logic. Then
Image-Finite System
a
Let (Proc, Act, {−→| a ∈ Act}) be an LTS. We call it image-finite
iff for every p ∈ Proc and every a ∈ Act the set
a
{p 0 ∈ Proc | p −→ p 0 }
is finite.
Question: Are there any connections between image finiteness and
finite branching?
Theorem (Hennessy-Milner)
a
Let (Proc, Act, {−→| 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?
CWB Session
[luca@vel5638 CWB]$
./xccscwb.x86-linux
Conclusion
There is no Hennessy-Milner formula F that can detect a deadlock
in an arbitrary LTS.
Luca Aceto Bisimilarity and HML
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
Conclusion
There is no Hennessy-Milner formula F that can detect a deadlock
in an arbitrary LTS.
Luca Aceto Bisimilarity and HML
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
Conclusion
There is no Hennessy-Milner formula F that can detect a deadlock
in an arbitrary LTS.
Luca Aceto Bisimilarity and HML
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
Problems
infinite formulae are not allowed in HM logic
infinite formulae are difficult to handle
Problems
infinite formulae are not allowed in HM logic
infinite formulae are difficult to handle
Problems
infinite formulae are not allowed in HM logic
infinite formulae are difficult to handle
Monotonic Functions
X ⊆Y ⇒ f (X ) ⊆ f (Y )
Questions
Is the function f (X ) = X ∪ {s, t} monotonic? What about
g (X ) = Proc \ X ? Do these functions have fixed points?
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:
def
[
zmax = {X ∈ 2Proc | X ⊆ f (X )}
def
\
zmin = {X ∈ 2Proc | f (X ) ⊆ 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
Syntax
Introduction to Model Checking
Semantics
Hennessy-Milner Logic
Denotational Semantics
Hennessy-Milner Logic with One Recursive Definition
Correspondence between HM Logic and Strong Bisimilarity
Selection of Temporal Properties
Temporal Properties – Invariance and Possibility
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
Introduction to Model Checking
Hennessy-Milner Logic Syntax
Hennessy-Milner Logic with One Recursive Definition Semantics
Selection of Temporal Properties
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
Introduction to Model Checking
Hennessy-Milner Logic Syntax
Hennessy-Milner Logic with One Recursive Definition Semantics
Selection of Temporal Properties
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
Introduction to Model Checking
Hennessy-Milner Logic Syntax
Hennessy-Milner Logic with One Recursive Definition Semantics
Selection of Temporal Properties
OX (S) = S
Ott (S) = Proc
Off (S) = ∅
OF1 ∧F2 (S) = OF1 (S) ∩ OF2 (S)
OF1 ∨F2 (S) = OF1 (S) ∪ OF2 (S)
OhaiF (S) = h·a·iOF (S)
O[a]F (S) = [·a·]OF (S)
S1 ⊆ S2 ⇒ OF (S1 ) ⊆ OF (S2 )
OX (S) = S
Ott (S) = Proc
Off (S) = ∅
OF1 ∧F2 (S) = OF1 (S) ∩ OF2 (S)
OF1 ∨F2 (S) = OF1 (S) ∪ OF2 (S)
OhaiF (S) = h·a·iOF (S)
O[a]F (S) = [·a·]OF (S)
S1 ⊆ S2 ⇒ OF (S1 ) ⊆ OF (S2 )
Semantics
Observation
We know OF is monotonic, so OF has a unique greatest and least
fixed point.
min
If X = FX then
\
[[X ]] = {S ⊆ Proc | OFX (S) ⊆ S}.
max
Safe(F ): X = F ∧ ([Act]ff ∨ hActiX )
min
Even(F ): X = F ∨ (hActitt ∧ [Act]X )
max
F Uw G: X = G ∨ (F ∧ [Act]X )
min
F Us G: X = G ∨ (F ∧ hActitt ∧ [Act]X )
max
Safe(F ): X = F ∧ ([Act]ff ∨ hActiX )
min
Even(F ): X = F ∨ (hActitt ∧ [Act]X )
max
F Uw G: X = G ∨ (F ∧ [Act]X )
min
F Us G: X = G ∨ (F ∧ hActitt ∧ [Act]X )
max
Safe(F ): X = F ∧ ([Act]ff ∨ hActiX )
min
Even(F ): X = F ∨ (hActitt ∧ [Act]X )
max
F Uw G: X = G ∨ (F ∧ [Act]X )
min
F Us G: X = G ∨ (F ∧ hActitt ∧ [Act]X )
max
Safe(F ): X = F ∧ ([Act]ff ∨ hActiX )
min
Even(F ): X = F ∨ (hActitt ∧ [Act]X )
max
F Uw G: X = G ∨ (F ∧ [Act]X )
min
F Us G: X = G ∨ (F ∧ hActitt ∧ [Act]X )