logics automata and behavioural properties of discrete
play

Logics, automata, and behavioural properties of discrete event - PowerPoint PPT Presentation

1 Logics, automata, and behavioural properties of discrete event systems Andr Arnold MOVEP 2006 Bordeaux, june 2006 2 WHAT Definition of a (finite) discrete event system P Definition of a finite or infinite object Beh ( P ) representing


  1. 16 From automata to logic Let A = ( � Q, q � , ∆ � , Q F ) be a Büchi automaton and let u ∈ A ω seen as a mapping u : N → A (i.e., u = u ( 0 ) u ( 1 ) · · · u ( n ) · · · ). u is recognized by A iff with each q ∈ Q is associated a subset E q of N such that these subsets form a partition of N , more precisely they are pairwise disjoint: ∀ q, q � ∈ Q, q • = q � ⇒ E q ∩ E q � = ∅ they cover N : N ⊆ S q ∈ Q E q 0 ∈ E q � for any n ∈ N there exists ( q, a, q � ) ∈ ∆ such that n ∈ E q , u ( n ) = a , and n + 1 ∈ E q � there exists q ∈ Q F such that E q is infinite (i.e., ∀ n ∈ N , ∃ m ∈ E q : n ≤ m ) MOVEP 2006 Bordeaux, june 2006

  2. 16 From automata to logic Let A = ( � Q, q � , ∆ � , Q F ) be a Büchi automaton and let u ∈ A ω seen as a mapping u : N → A (i.e., u = u ( 0 ) u ( 1 ) · · · u ( n ) · · · ). u is recognized by A iff with each q ∈ Q is associated a subset E q of N such that these subsets form a partition of N , more precisely they are pairwise disjoint: ∀ q, q � ∈ Q, q • = q � ⇒ E q ∩ E q � = ∅ they cover N : N ⊆ S q ∈ Q E q 0 ∈ E q � for any n ∈ N there exists ( q, a, q � ) ∈ ∆ such that n ∈ E q , u ( n ) = a , and n + 1 ∈ E q � there exists q ∈ Q F such that E q is infinite (i.e., ∀ n ∈ N , ∃ m ∈ E q : n ≤ m ) Trivia n + 1 ∈ E iff ∃ m ∈ E : n ≤ m and ∀ k ∈ N ( k ≤ n or m ≤ k ) 0 ∈ E iff ∃ m ∈ E : ∀ k ∈ N , m ≤ k MOVEP 2006 Bordeaux, june 2006

  3. 17 Monadic second order logic Let Var 0 be a set of individual variables and Var 1 be a set of set variables. For each a ∈ A let V a be a unary predicate. The formulas are defined inductively by V a ( x ) with x ∈ Var 0 and a ∈ A x ≤ y , x ∈ X with x, y ∈ Var 0 and X ∈ Var 1 , F ∨ F � , F ∧ F � , ¬ F , with F and F � are formulas. ∃ xF , ∀ xF , ∃ XF , ∀ XF , with x ∈ Var 0 , X ∈ Var 1 , and F a formula. MOVEP 2006 Bordeaux, june 2006

  4. 17 Monadic second order logic Let Var 0 be a set of individual variables and Var 1 be a set of set variables. For each a ∈ A let V a be a unary predicate. The formulas are defined inductively by V a ( x ) with x ∈ Var 0 and a ∈ A x ≤ y , x ∈ X with x, y ∈ Var 0 and X ∈ Var 1 , F ∨ F � , F ∧ F � , ¬ F , with F and F � are formulas. ∃ xF , ∀ xF , ∃ XF , ∀ XF , with x ∈ Var 0 , X ∈ Var 1 , and F a formula. Let F ( x, x � , . . . , X, X � , . . . ) be a formula whose free variables are x, x � , . . . (individual) and X, X � , . . . (set). Let u be a word. Let n, n � , . . . (resp., E, E � , . . . ) be natural numbers (resp. sets) associated with the free individual (resp. set) variables of F . = F ( n, n � , . . . , E, E � , . . . ) which We define (by induction) the satisfaction relation u | means that F ( n, n � , . . . , E, E � . . . ) is true in u by = V a ( n ) iff u ( n ) = a u | · · · · · · straightforward! MOVEP 2006 Bordeaux, june 2006

  5. 18 MSOL definability A set L ⊆ A ω is MSOL-definable if there is a closed formula F such that L = { u | u | = F } Theorem[Büchi, 1960] A set L is recognizable iff it is MSOL definable. Proof ⇒ see above ⇐ by induction, using the closure properties given above MOVEP 2006 Bordeaux, june 2006

  6. 19 First-order definabiliy Every FOL-definable language is MSOL-definable. The converse is not true! Example { u ∈ { a, b } ω | u ( n ) = a ⇒ n is even } . Theorem[Kamp, 1968] A language is FOL-definable iff it is LTL-definable MOVEP 2006 Bordeaux, june 2006

  7. 20 LTL ::= true | false | a |¬ a | b |¬ b | · · · | F F ∨ F | F ∧ F |¬ F | N F | A F | F U F Definition of u | = F . Let u [ i ] be the suffix u ( i ) u ( i + 1 ) · · · of u . = true , u • | = false u | = a iff u ( 0 ) = a . u | = F ∨ F � (resp. ∧ ) iff u | = F � = F or (resp. and) u | u | = N F iff u [ 1 ] | u | = F , u | = A F iff ∀ i, u [ i ] | = F , = F U F � iff there exists i such that u | = F � and ∀ j, 0 ≤ j < i ⇒ u [ j ] | u [ i ] | = F MOVEP 2006 Bordeaux, june 2006

  8. 21 Duality Extension of De Morgan’s law ¬ N F ≡ N ¬ F ¬ A F ≡ true U ¬ F ¬ ( F U F � ) ≡ ( A ¬ F � ) ( ¬ F � ) U ( ¬ F ∧ ¬ F � ) ∨ MOVEP 2006 Bordeaux, june 2006

  9. 22 LTL to FOL By induction on F in LTL : there exists b F ( x ) in FOL such that = b ∀ i, ( u [ i ] | = F ⇔ u | F ( i )) b a = V a ( x ) , N F = b d F ( x + 1 ) , A F = ∀ y, ( x ≤ y ⇒ b c F ( y )) , � F U F � = ∃ y : x ≤ y ∧ b F � ( y ) ∧ ∀ z ( x ≥ z < y ⇒ b F ( z )) . MOVEP 2006 Bordeaux, june 2006

  10. 23 Fixed points in LTL With a formula F we associate the defined language [ ] = { u | u | = F } . | F | [ | A F | ] is the greatest language L such that L = [ | F | ] ∩ AL . | F U F � | | F � | ] is the least language L such that L = [ ] ∪ ([ ] ∩ AL ) . [ | F | MOVEP 2006 Bordeaux, june 2006

  11. 23 Fixed points in LTL With a formula F we associate the defined language [ ] = { u | u | = F } . | F | [ | A F | ] is the greatest language L such that L = [ | F | ] ∩ AL . | F U F � | | F � | ] is the least language L such that L = [ ] ∪ ([ ] ∩ AL ) . [ | F | Notation | A F | ] ∩ AL ) . [ ] = νL. ([ | F | | F U F � | | F � | [ ] = µL. ([ ] ∪ ([ | F | ] ∩ AL )) . MOVEP 2006 Bordeaux, june 2006

  12. 24 Alternating automata ] = a ∗ b { a, b } ω is recognized by [ | a U b | a b a b → q 1 , → q 2 , → q 2 , → q 2 , q 1 q 1 q 2 q 2 ] = ( a ∗ b ) ω is recognized by adding [ | A ( a U b ) | a b → q 0 ∧ q 1 , → q 0 ∧ q 1 , with initial state q 0 ∧ q 1 . q 0 q 0 a, b � � h h i a 1 2 a, b - � � MOVEP 2006 Bordeaux, june 2006

  13. 24 Alternating automata ] = a ∗ b { a, b } ω is recognized by [ | a U b | a b a b → q 1 , → q 2 , → q 2 , → q 2 , q 1 q 1 q 2 q 2 ] = ( a ∗ b ) ω is recognized by adding [ | A ( a U b ) | a b → q 0 ∧ q 1 , → q 0 ∧ q 1 , with initial state q 0 ∧ q 1 . q 0 q 0 How to get a nondeterministic automaton (possibly deterministic) a, b � � h h i a 1 2 a, b - � � MOVEP 2006 Bordeaux, june 2006

  14. 24 Alternating automata ] = a ∗ b { a, b } ω is recognized by [ | a U b | a b a b → q 1 , → q 2 , → q 2 , → q 2 , q 1 q 1 q 2 q 2 ] = ( a ∗ b ) ω is recognized by adding [ | A ( a U b ) | a b → q 0 ∧ q 1 , → q 0 ∧ q 1 , with initial state q 0 ∧ q 1 . q 0 q 0 The usual powerset construction does not work! a b → { q 0 , q 1 } , → { q 0 , q 1 , q 2 } , { q 0 , q 1 } { q 0 , q 1 } a b → { q 0 , q 1 , q 2 } , → { q 0 , q 1 , q 2 } , { q 0 , q 1 , q 2 } { q 0 , q 1 , q 2 } a, b � � h h i a 1 2 a, b - � � MOVEP 2006 Bordeaux, june 2006

  15. 24 Alternating automata ] = a ∗ b { a, b } ω is recognized by [ | a U b | a b a b → q 1 , → q 2 , → q 2 , → q 2 , q 1 q 1 q 2 q 2 ] = ( a ∗ b ) ω is recognized by adding [ | A ( a U b ) | a b → q 0 ∧ q 1 , → q 0 ∧ q 1 , with initial state q 0 ∧ q 1 . q 0 q 0 The usual powerset construction does not work! a b → { q 0 , q 1 } , → { q 0 , q 1 , q 2 } , { q 0 , q 1 } { q 0 , q 1 } a b → { q 0 , q 1 , q 2 } , → { q 0 , q 1 , q 2 } , { q 0 , q 1 , q 2 } { q 0 , q 1 , q 2 } a, b � � h h i a 1 2 a, b - � � If b ω is recognized then ba ω is recognized as well MOVEP 2006 Bordeaux, june 2006

  16. 25 Histories q 2 q 2 Let R be the set of binary relations over { q 0 , q 1 , q 2 } . Example: R = q 1 q 1 q 0 q 0 Let us define the language L on A × R recognized by q 0 � ( a, ) → { q 0 , q 1 } , q 0 � ( b, ) → q 0 , q 1 , q 1 � ( a, ) → q 1 , q 1 � ( b, ) → q 2 , q 2 � ( a, q 2 � ( b, ) → q 2 , ) → q 2 , { q 0 , q 1 } � ( a, ) → { q 0 , q 1 } , { q 0 , q 1 } � ( b, ) → { q 0 , q 1 , q 2 } , { q 0 , q 1 , q 2 } � ( a, ) → { q 0 , q 1 , q 2 } , { q 0 , q 1 , q 2 } � ( b, ) → { q 0 , q 1 , q 2 } , where all states are accepting. MOVEP 2006 Bordeaux, june 2006

  17. 26 Accepting graphs A graph G = R 0 R 1 · · · ∈ R ω is accepting if all its infinite paths satisfy the parity condition. A word u is recognized by the previous alternating automata (i.e., is in ] = ( a ∗ b ) ω ) if there is a word u × G ∈ L such that G is accepting. | A ( a U b ) | [ MOVEP 2006 Bordeaux, june 2006

  18. 26 Accepting graphs A graph G = R 0 R 1 · · · ∈ R ω is accepting if all its infinite paths satisfy the parity condition. A word u is recognized by the previous alternating automata (i.e., is in ] = ( a ∗ b ) ω ) if there is a word u × G ∈ L such that G is accepting. | A ( a U b ) | [ NB. This is indeed the formal definition of a word recognized by an alternating automaton. MOVEP 2006 Bordeaux, june 2006

  19. 26 Accepting graphs A graph G = R 0 R 1 · · · ∈ R ω is accepting if all its infinite paths satisfy the parity condition. A word u is recognized by the previous alternating automata (i.e., is in ] = ( a ∗ b ) ω ) if there is a word u × G ∈ L such that G is accepting. | A ( a U b ) | [ NB. This is indeed the formal definition of a word recognized by an alternating automaton. By McNauhton’s theorem the set G of all accepting G is recognized by a deterministic parity automaton. It follows that the language { ( u, G ) | ( u, G ) ∈ L, G ∈ G } is recognized by a parity automaton (the product of the automata recognizing L and G ). MOVEP 2006 Bordeaux, june 2006

  20. 27 Part II MOVEP 2006 Bordeaux, june 2006

  21. 28 Branching properties a a a have the same linear behaviour: a { b, c } ω and c b c b c b MOVEP 2006 Bordeaux, june 2006

  22. 28 Branching properties a a a have the same linear behaviour: a { b, c } ω and c b c b c b A branching property In every state where b is firable, c is firable too. MOVEP 2006 Bordeaux, june 2006

  23. 28 Branching properties a a a have the same linear behaviour: a { b, c } ω and c b c b c b YES NO A branching property In every state where b is firable, c is firable too. MOVEP 2006 Bordeaux, june 2006

  24. 28 Branching properties a a a have the same linear behaviour: a { b, c } ω and c b c b c b YES NO A branching property In every state where b is firable, c is firable too. A minimal deterministic transition system P is fully determined by its linear behaviour L ( P ) . The above property can be expressed by ( ∃ w ∈ A ω : ubw ∈ L ( P )) ⇒ ( ∃ w � ∈ A ω : ucw � ∈ L ( P )) ∀ u ∈ A ∗ , which has not the linear form ∀ u ∈ L ( P ) , u ∈ Spec MOVEP 2006 Bordeaux, june 2006

  25. 29 Transition systems and monotonic functions Let P = � S, s � , T � be a state-unlabelled transition system. Let M ( S ) be the set of all monotonic functions over P ( S ) MOVEP 2006 Bordeaux, june 2006

  26. 29 Transition systems and monotonic functions Let P = � S, s � , T � be a state-unlabelled transition system. Let M ( S ) be the set of all monotonic functions over P ( S ) For every a ∈ A , M ( S ) contains the two functions � a � P and [ a ] P from P ( S ) to P ( S ) defined by � a � P ( E ) = { s ∈ S | ∃ ( s, a, s � ) ∈ T : s � ∈ E } [ a ] P ( E ) = { s ∈ S | ∀ ( s, a, s � ) ∈ T, s � ∈ E } Duality: S − � a � P ( E ) = [ a ] P ( S − E ) MOVEP 2006 Bordeaux, june 2006

  27. 29 Transition systems and monotonic functions Let P = � S, s � , T � be a state-unlabelled transition system. Let M ( S ) be the set of all monotonic functions over P ( S ) For every a ∈ A , M ( S ) contains the two functions � a � P and [ a ] P from P ( S ) to P ( S ) defined by � a � P ( E ) = { s ∈ S | ∃ ( s, a, s � ) ∈ T : s � ∈ E } [ a ] P ( E ) = { s ∈ S | ∀ ( s, a, s � ) ∈ T, s � ∈ E } Duality: S − � a � P ( E ) = [ a ] P ( S − E ) Back to the exemple : [ b ] P ( ∅ ) ∪ ( � b � P ( S ) ∧ � c � P ( S )) = S MOVEP 2006 Bordeaux, june 2006

  28. 30 Event CTL Syntax ::= true | false | F ∨ F | F ∧ F | F � a � F | [ a ] F | a ∈ A �A F � | [ A F ] | � F U F � | [ F U F ] MOVEP 2006 Bordeaux, june 2006

  29. 30 Event CTL Syntax ::= true | false | F ∨ F | F ∧ F | F � a � F | [ a ] F | a ∈ A �A F � | [ A F ] | � F U F � | [ F U F ] Semantics ] P ⊆ S defined by induction on F [ | F | | � a � F | ] P = � a � P ([ ] P ) , ] P ) , [ | F | [ | [ a ] F | ] P = [ a ] P ([ | F | ] P ∧ ( W | �A F � | a ∈ A � a � P ( X ))) , [ ] P = νX. ([ | F | ] P ∧ ( V | [ A F ] | a ∈ A [ a ] P ( X ))) , [ ] P = νX. ([ | F | ] P ∧ W | � F U F � � | | F � | [ ] P = µX. ([ ] P ∨ ([ | F | a ∈ A � a � P X )) , ] P ∧ V | [ F U F � ] | | F � | [ ] P = µX. ([ ] P ∨ ([ | F | a ∈ A [ a ] P X )) MOVEP 2006 Bordeaux, june 2006

  30. 30 Event CTL Syntax ::= true | false | F ∨ F | F ∧ F | F � a � F | [ a ] F | a ∈ A �A F � | [ A F ] | � F U F � | [ F U F ] Semantics ] P ⊆ S defined by induction on F [ | F | | � a � F | ] P = � a � P ([ ] P ) , ] P ) , [ | F | [ | [ a ] F | ] P = [ a ] P ([ | F | ] P ∧ ( W | �A F � | a ∈ A � a � P ( X ))) , [ ] P = νX. ([ | F | ] P ∧ ( V | [ A F ] | a ∈ A [ a ] P ( X ))) , [ ] P = νX. ([ | F | ] P ∧ W | � F U F � � | | F � | [ ] P = µX. ([ ] P ∨ ([ | F | a ∈ A � a � P X )) , ] P ∧ V | [ F U F � ] | | F � | [ ] P = µX. ([ ] P ∨ ([ | F | a ∈ A [ a ] P X )) = F iff s � ∈ [ P | | F | ] P MOVEP 2006 Bordeaux, june 2006

  31. 31 Example (and counter-example) After an a , there will always be a b : [ a ] false ∨ � a � [ true U� b � true ] MOVEP 2006 Bordeaux, june 2006

  32. 31 Example (and counter-example) After an a , there will always be a b : [ a ] false ∨ � a � [ true U� b � true ] After an a , there will always be infinitely many b ’s MOVEP 2006 Bordeaux, june 2006

  33. 31 Example (and counter-example) After an a , there will always be a b : [ a ] false ∨ � a � [ true U� b � true ] After an a , there will always be infinitely many b ’s f ( X, Y ) = � b � P ( Y ) ∪ T from P ( S ) × P ( S ) to P ( S ) in M ( P ) , c � = b [ c ] P ( X ) g ( Y ) = µX.f ( X, Y ) , h = νY.g ( Y ) , [ a ] P ( ∅ ) ∪ � a � P ( h ) MOVEP 2006 Bordeaux, june 2006

  34. 32 Modal parity automata A = � Q, q � , ∆, ρ � with ρ : Q → N ∆ : Q → P ( C ) where C = P ( Q ∪ { � a � q, [ a ] q | a ∈ A, q ∈ Q } ) MOVEP 2006 Bordeaux, june 2006

  35. 32 Modal parity automata A = � Q, q � , ∆, ρ � with ρ : Q → N ∆ : Q → P ( C ) where C = P ( Q ∪ { � a � q, [ a ] q | a ∈ A, q ∈ Q } ) Exemple: there will always be infinitely many b ’s f ( X, Y ) = � b � P ( Y ) ∪ T c � = b [ c ] P ( X ) , g ( Y ) = µX.f ( X, Y ) , h = νY.g ( Y ) Q = { q X , q Y } , q � = q Y , ρ ( q X ) = 1 , ρ ( q Y ) = 2 , ∆ ( q X ) = { { � b � q Y } , { [ c ] q X | c • = b } } (to be read � b � q Y ∨ ( V c � = b [ c ] q X ) ) ∆ ( q Y ) = {{ q X }} (to be read q X ) MOVEP 2006 Bordeaux, june 2006

  36. 33 Semantics [ | A | ] P ⊆ P ( S ) P | = A ⇔ s � ∈ [ | A | ] P MOVEP 2006 Bordeaux, june 2006

  37. 33 Semantics [ | A | ] P ⊆ P ( S ) P | = A ⇔ s � ∈ [ | A | ] P How to define (compute) [ | A | ] P ? MOVEP 2006 Bordeaux, june 2006

  38. 33 Semantics [ | A | ] P ⊆ P ( S ) P | = A ⇔ s � ∈ [ | A | ] P How to define (compute) [ | A | ] P ? Using parity games or the µ -calculus MOVEP 2006 Bordeaux, june 2006

  39. 33 Semantics [ | A | ] P ⊆ P ( S ) P | = A ⇔ s � ∈ [ | A | ] P How to define (compute) [ | A | ] P ? Using parity games or the µ -calculus [ | A | ] P is the component of index q � of the solution { E q | q ∈ Q } of a system of fixed-point equations Σ ( A , P ) . MOVEP 2006 Bordeaux, june 2006

  40. 34 Systems of equations Let A whose set of states is Q = { q 1 , . . . , q n } such that i < j ⇒ ρ ( q i ) ≤ ρ ( q j ) . With any P we associate the system of n fixed-point equations Σ ( A , P ) :  θ 1  = f 1 ( X 1 , . . . , X n ) X 1     .  .   .   θ i where θ i = µ if i is odd, ν if i is even = f i ( X 1 , . . . , X n ) X i   .   .  .      θ n X n = f n ( X 1 , . . . , X n ) and f i ( X 1 , . . . , X n ) is the monotonic function from P ( S ) n to P ( S ) obtained by substituting in ∆ ( q i ) ∪ for ∨ , and ∩ for ∧ , X j for q j � a � P ( X j ) for � a � q j , and [ a ] P ( X j ) for [ a ] q j MOVEP 2006 Bordeaux, june 2006

  41. 35 Solving a system of fixed-point equations Computation (by induction on n ) of the solution Sol ( Σ ) ⊆ P ( S ) n of  θ 1 = f 1 ( X 1 , X 2 , . . . , X n ) X 1      θ 2  = f 2 ( X 1 , X 2 , . . . , X n ) X 2 Σ = . .   .     θ n = f n ( X 1 , X 2 , . . . , X n ) X n MOVEP 2006 Bordeaux, june 2006

  42. 35 Solving a system of fixed-point equations Computation (by induction on n ) of the solution Sol ( Σ ) ⊆ P ( S ) n of  θ 1 = f 1 ( X 1 , X 2 , . . . , X n ) X 1      θ 2  = f 2 ( X 1 , X 2 , . . . , X n ) X 2 Σ = . .   .     θ n = f n ( X 1 , X 2 , . . . , X n ) X n Compute the monotonic function g 1 ( X 2 , . . . , X n ) = θ 1 X 1 .f 1 ( X 1 , X 2 , . . . , X n ) ∈ P ( S ) n − 1 → P ( S ) MOVEP 2006 Bordeaux, june 2006

  43. 35 Solving a system of fixed-point equations Computation (by induction on n ) of the solution Sol ( Σ ) ⊆ P ( S ) n of  θ 1 = f 1 ( X 1 , X 2 , . . . , X n ) X 1      θ 2  = f 2 ( X 1 , X 2 , . . . , X n ) X 2 Σ = . .   .     θ n = f n ( X 1 , X 2 , . . . , X n ) X n Compute the monotonic function g 1 ( X 2 , . . . , X n ) = θ 1 X 1 .f 1 ( X 1 , X 2 , . . . , X n ) ∈ P ( S ) n − 1 → P ( S ) Compute the solution { E 2 , . . . E n } of Σ �  θ 2  = f 2 ( g 1 ( X 2 , . . . , X n ) , X 2 , . . . , X n ) X 2    . Σ � = . .     θ n = f n ( g 1 ( X 2 , . . . , X n ) , X 2 , , . . . , X n ) X n MOVEP 2006 Bordeaux, june 2006

  44. 35 Solving a system of fixed-point equations Computation (by induction on n ) of the solution Sol ( Σ ) ⊆ P ( S ) n of  θ 1 = f 1 ( X 1 , X 2 , . . . , X n ) X 1      θ 2  = f 2 ( X 1 , X 2 , . . . , X n ) X 2 Σ = . .   .     θ n = f n ( X 1 , X 2 , . . . , X n ) X n Compute the monotonic function g 1 ( X 2 , . . . , X n ) = θ 1 X 1 .f 1 ( X 1 , X 2 , . . . , X n ) ∈ P ( S ) n − 1 → P ( S ) Compute the solution { E 2 , . . . E n } of Σ � The solution of Σ is { g 1 ( E 2 , . . . , E n ) , E 2 , . . . , E n } MOVEP 2006 Bordeaux, june 2006

  45. 36 The modal µ -calculus Syntax t ::= true | false | X | t ∨ t | t ∧ t | � a � t | [ a ] t | µX.t | νX.t Semantics For any transition system P , for any term t and for any sequence X 1 , . . . X n which contains all the free variables of t we define by induction the monotonic function ] P ( X 1 , . . . , X n ) : P ( S ) n → P ( S ) . [ | t | ] P () ⊆ S . Note: if t is closed then [ | t | MOVEP 2006 Bordeaux, june 2006

  46. 36 The modal µ -calculus Syntax t ::= true | false | X | t ∨ t | t ∧ t | � a � t | [ a ] t | µX.t | νX.t Semantics For any transition system P , for any term t and for any sequence X 1 , . . . X n which contains all the free variables of t we define by induction the monotonic function ] P ( X 1 , . . . , X n ) : P ( S ) n → P ( S ) . [ | t | ] P () ⊆ S . Note: if t is closed then [ | t | if t = true (resp false ) then [ ] P ( E 1 , . . . , E n ) = S (resp. ∅ ) | t | if t = X i then [ | t | ] P ( E 1 , . . . , E n ) = E i if t = t 1 ∨ t 2 (resp. ∧ ) then ] P ( E 1 , . . . , E n ) ∪ [ ] P ( E 1 , . . . , E n ) (resp. ∩ ) [ | t | ] P ( E 1 , . . . , E n ) = [ | t 1 | | t 2 | if t = � a � t � (resp [ a ] ) then [ | t � | ]( E 1 , . . . , E n ) = � a � P ([ ] P ( E 1 , . . . , E n )) (resp. | t | [ a ] P ) if t = θX.t � then [ | t � | | t | ] P ( E 1 , . . . , E n ) = θX. [ ] P ( X, E 1 , . . . , E n ) . MOVEP 2006 Bordeaux, june 2006

  47. 37 Parity automata and µ -calculus Proposition For any automaton A there exists a µ -term t A such that for any P , | A | ]() . [ ] P = [ | t A | MOVEP 2006 Bordeaux, june 2006

  48. 37 Parity automata and µ -calculus Proposition For any automaton A there exists a µ -term t A such that for any P , | A | ]() . [ ] P = [ | t A | Let t i = ∆ ( q i ) and f i ( X 1 , . . . X n ) = [ | t i | ] P ( X 1 , . . . , X n )   θ 1 θ 1 X 1 = t 1 X 1 = f 1 ( X 1 , . . . , X n )          θ 2  θ 2   X 2 = t 2 X 2 = f 2 ( X 1 , . . . , X n ) Σ ( A ) Σ ( A , P ) . . . .     . .         θ n θ n X n = t n X n = f n ( X 1 , . . . , X n ) MOVEP 2006 Bordeaux, june 2006

  49. 37 Parity automata and µ -calculus Proposition For any automaton A there exists a µ -term t A such that for any P , | A | ]() . [ ] P = [ | t A | Let t i = ∆ ( q i ) and f i ( X 1 , . . . X n ) = [ | t i | ] P ( X 1 , . . . , X n )   θ 1 θ 1 X 1 = t 1 X 1 = f 1 ( X 1 , . . . , X n )          θ 2  θ 2   X 2 = t 2 X 2 = f 2 ( X 1 , . . . , X n ) Σ ( A ) Σ ( A , P ) . . . .     . .         θ n θ n X n = t n X n = f n ( X 1 , . . . , X n ) t � | t � 1 = θ 1 X 1 .t 1 g 1 ( X2, . . . , X n ) = θ 1 X 1 .f 1 ( X 1 , . . . , X n ) = [ 1 | ] P ( X 2 , . . . , X n ) MOVEP 2006 Bordeaux, june 2006

  50. 37 Parity automata and µ -calculus Proposition For any automaton A there exists a µ -term t A such that for any P , | A | ]() . [ ] P = [ | t A | Let t i = ∆ ( q i ) and f i ( X 1 , . . . X n ) = [ | t i | ] P ( X 1 , . . . , X n )   θ 1 θ 1 X 1 = t 1 X 1 = f 1 ( X 1 , . . . , X n )          θ 2  θ 2   X 2 = t 2 X 2 = f 2 ( X 1 , . . . , X n ) Σ ( A ) Σ ( A , P ) . . . .     . .         θ n θ n X n = t n X n = f n ( X 1 , . . . , X n ) t � | t � 1 = θ 1 X 1 .t 1 g 1 ( X2, . . . , X n ) = θ 1 X 1 .f 1 ( X 1 , . . . , X n ) = [ 1 | ] P ( X 2 , . . . , X n )  θ 2 t 2 [ X 1 := t �  X 2 = 1 ]    . Σ � ( A ) . .     θ n t n [ X 1 := t � = 1 ] X n  θ 2  X 2 = f 2 ( g 1 ( X2, . . . , X n ) , X 2 , . . . , X n )    . Σ � ( A , P ) . .     θ n X n = f n ( g 1 ( X2, . . . , X n ) , X 2 , . . . , X n ) MOVEP 2006 Bordeaux, june 2006

  51. 38 And vice-versa Proposition For any closed term t there exists an automaton A t such that [ | t | ] P () = [ | A t | ] P for any P . MOVEP 2006 Bordeaux, june 2006

  52. 38 And vice-versa Proposition For any closed term t there exists an automaton A t such that [ | t | ] P () = [ | A t | ] P for any P . An incomplete automaton is an automaton containing some states (say q 1 , . . . , q k ) for which ρ and ∆ are not defined. (Obviously, q � must be defined.) The “syntactic” solution of Σ ( A ) contains the free variables X 1 , . . . , X k . Thus ] P ( X 1 , . . . , X k ) is a mapping from P ( S ) k → P ( S ) . [ | A | MOVEP 2006 Bordeaux, june 2006

  53. 38 And vice-versa Proposition For any closed term t there exists an automaton A t such that [ | t | ] P () = [ | A t | ] P for any P . Lemma For any term t whose free variables are X 1 , . . . , X k , there is an incomplete automaton A with undefined states q 1 , . . . , q k , such that for any P , | A | ] P ( X 1 , . . . , X k ) . [ ] P ( X 1 , . . . , X k ) = [ | t | MOVEP 2006 Bordeaux, june 2006

  54. 38 And vice-versa Proposition For any closed term t there exists an automaton A t such that [ | t | ] P () = [ | A t | ] P for any P . Lemma For any term t whose free variables are X 1 , . . . , X k , there is an incomplete automaton A with undefined states q 1 , . . . , q k , such that for any P , | A | ] P ( X 1 , . . . , X k ) . [ ] P ( X 1 , . . . , X k ) = [ | t | Proof by induction. Let A ( i ) be “equivalent” to t i ( X ( i ) 1 , . . . , X ( i ) k i ) . The automaton equivalent to µX ( i ) 1 .t 1 is obtained by taking q ( i ) as initial 1 state and defining it by ρ ( q ( i ) 1 ) equal to any odd number greater than ρ ( q ( i ) k + 1 ) , . . . , ρ ( q ( i ) k + n ) , and ∆ ( q ( i ) 1 ) = { { q ( i ) � } } . The automaton equivalent to t 1 ∨ t 2 (resp. t 1 ∧ t 2 ) is obtained by adding to the “disjoint” union of A ( 1 ) and A ( 2 ) the new initial state q � of rank 0 defined by ∆ ( q � ) = { { q ( 1 ) � } , { q ( 2 ) � } } (resp. ∆ ( q � ) = { { q ( 1 ) � , q ( 2 ) � } } ) MOVEP 2006 Bordeaux, june 2006

  55. 39 MSOL-definability V a ( s, s � ) is true in P if ( s, a, s � ) ∈ T Basic predicates V a ( x, y ) : MOVEP 2006 Bordeaux, june 2006

  56. 39 MSOL-definability V a ( s, s � ) is true in P if ( s, a, s � ) ∈ T Basic predicates V a ( x, y ) : Proposition For any µ - term t , whose free variables are { X 1 , . . . , X n } , there exists a formula F t ( z, X 1 , . . . , X n ) in MSOL such that F t ( s, E 1 , . . . , E n ) is true in P iff s ∈ [ | t | ] P ( E 1 , . . . , E n ) MOVEP 2006 Bordeaux, june 2006

  57. 39 MSOL-definability V a ( s, s � ) is true in P if ( s, a, s � ) ∈ T Basic predicates V a ( x, y ) : Proposition For any µ - term t , whose free variables are { X 1 , . . . , X n } , there exists a formula F t ( z, X 1 , . . . , X n ) in MSOL such that F t ( s, E 1 , . . . , E n ) is true in P iff s ∈ [ | t | ] P ( E 1 , . . . , E n ) Let G t ( Z, X 1 , . . . , X n ) be equal to ∀ z ∈ Z, F t ( z, X 1 , . . . , X n ) (so that G t ( E, E 1 , . . . E n ) true in P iff E = [ | t | ] P ( E 1 , . . . , E n ) ) if t = � a � X then F t ( z, X ) = ∃ x ∈ X : V a ( z, x ) if t = µX 1 .t � then F t ( z, X 2 , . . . , X n ) = ∃ Z : z ∈ Z ∧ G t � ( Z, Z, X 2 , . . . , X n ) ∧ ∀ X ( G t � ( X, X, X 2 , . . . , X n ) ⇒ Z ⊆ X ) . etc. MOVEP 2006 Bordeaux, june 2006

  58. 40 And the converse is false F ( X ) = ∀ x ( x ∈ X = ⇒ V a ( x, x )) a In P 1 = ( s � → s � ) , F ( E ) is true iff E = { s � } a a In P 2 = ( s � → s � ) , F ( E ) is true iff E = ∅ → s MOVEP 2006 Bordeaux, june 2006

  59. 40 And the converse is false F ( X ) = ∀ x ( x ∈ X = ⇒ V a ( x, x )) a In P 1 = ( s � → s � ) , F ( E ) is true iff E = { s � } a a In P 2 = ( s � → s � ) , F ( E ) is true iff E = ∅ → s For any closed µ -term t , [ ] P 1 = ∅ iff [ ] P 2 = ∅ | t | | t | MOVEP 2006 Bordeaux, june 2006

  60. 40 And the converse is false F ( X ) = ∀ x ( x ∈ X = ⇒ V a ( x, x )) a In P 1 = ( s � → s � ) , F ( E ) is true iff E = { s � } a a In P 2 = ( s � → s � ) , F ( E ) is true iff E = ∅ → s For any closed µ -term t , [ ] P 1 = ∅ iff [ ] P 2 = ∅ | t | | t | For any subset E of S 1 = { s � } , let E � be the subset of S 2 = { s � , s } such that E � = ∅ if E = ∅ and E � = S 2 if E = S 1 . ] P 1 ( E 1 , . . . , E n ) iff E � = [ ] P 2 ( E � 1 , . . . , E � Then for any t , E = [ n ) . | t | | t | MOVEP 2006 Bordeaux, june 2006

  61. 40 And the converse is false F ( X ) = ∀ x ( x ∈ X = ⇒ V a ( x, x )) a In P 1 = ( s � → s � ) , F ( E ) is true iff E = { s � } a a In P 2 = ( s � → s � ) , F ( E ) is true iff E = ∅ → s For any closed µ -term t , [ ] P 1 = ∅ iff [ ] P 2 = ∅ | t | | t | ] P 1 ( E 1 , . . . , E n ) iff E � = [ ] P 2 ( E � 1 , . . . , E � Inductive proof of: For any t , E = [ n ) . | t | | t | � a � P 1 ( ∅ ) = � a � P 2 ( ∅ ) = [ a ] P 1 ( ∅ ) = [ a ] P 2 ( ∅ ) = ∅ � a � P 1 ( S 1 ) = [ a ] P 1 ( S 1 ) = S 1 , � a � P 2 ( S 2 ) = [ a ] P 2 ( S 2 ) = S 2 Let t = µX 1 .t � , let f i ( X 1 , X 2 ) = [ | t � | ] P i ( X 1 , X 2 ) and g i ( X 2 ) = [ | t | ] P i ( X 2 ) . Let E 1 = g 1 ( E 2 ) = f 1 ( E 1 , E 2 ) . If E 1 = ∅ = f 1 ( ∅ , E 2 ) then ∅ = f 2 ( ∅ , E � 2 ) hence and g 2 ( E � 2 ) = ∅ = E � 1 . If E 1 = S 1 then f 1 ( ∅ , E 2 ) = S 1 , hence S 2 = f 2 ( ∅ , E � 2 ) ⊆ f 2 ( g 2 ( E � 2 ) , E � 2 ) = g 2 ( E � 2 ) , hence g 2 ( E � 2 ) = S 2 = E � 1 . MOVEP 2006 Bordeaux, june 2006

  62. 41 Bisimulation A bisimulation between P and P � is a relation R ⊆ S × S � such that R ( s � , s � � ) If R ( s, s � ) then 1 ) ∈ T � : R ( s 1 , s � ∀ ( s, a, s 1 ) ∈ T, ∃ ( s � , a, s � 1 ) , ∀ ( s � , a, s � 1 ) ∈ T � , ∃ ( s, a, s 1 ) ∈ T : R ( s 1 , s � 1 ) , MOVEP 2006 Bordeaux, june 2006

  63. 41 Bisimulation A bisimulation between P and P � is a relation R ⊆ S × S � such that R ( s � , s � � ) If R ( s, s � ) then 1 ) ∈ T � : R ( s 1 , s � ∀ ( s, a, s 1 ) ∈ T, ∃ ( s � , a, s � 1 ) , ∀ ( s � , a, s � 1 ) ∈ T � , ∃ ( s, a, s 1 ) ∈ T : R ( s 1 , s � 1 ) , a R = { ( s � , s � ) , ( s � , s ) } is a bisimulation between P 1 = ( s � → s � ) and a a P 2 = ( s � → s � ) . → s MOVEP 2006 Bordeaux, june 2006

  64. 41 Bisimulation A bisimulation between P and P � is a relation R ⊆ S × S � such that R ( s � , s � � ) If R ( s, s � ) then 1 ) ∈ T � : R ( s 1 , s � ∀ ( s, a, s 1 ) ∈ T, ∃ ( s � , a, s � 1 ) , ∀ ( s � , a, s � 1 ) ∈ T � , ∃ ( s, a, s 1 ) ∈ T : R ( s 1 , s � 1 ) , a R = { ( s � , s � ) , ( s � , s ) } is a bisimulation between P 1 = ( s � → s � ) and a a P 2 = ( s � → s � ) . → s Fact If R is a bisimulation between P and P � then R − 1 is a bisimulation between P � and P . If R is a bisimulation between P and P � , and if R � is a bisimulation between P � and P �� , then R ◦ R � is a bisimulation between P and P �� MOVEP 2006 Bordeaux, june 2006

  65. 42 Saturated sets Let R be a bisimulation between P and P � . A subset E of S is R -saturated if R − 1 ( R ( E )) = E . (i.e. if R ( s 1 , s � ) and R ( s 2 , s � ) then s 1 ∈ E ⇔ s 2 ∈ E ). MOVEP 2006 Bordeaux, june 2006

  66. 42 Saturated sets Let R be a bisimulation between P and P � . A subset E of S is R -saturated if R − 1 ( R ( E )) = E . (i.e. if R ( s 1 , s � ) and R ( s 2 , s � ) then s 1 ∈ E ⇔ s 2 ∈ E ). Fact If E is R -saturated then R ( E ) is R − 1 -saturated. ∅ and S are R -saturated. if E 1 and E 2 are R -saturated then E 1 ∪ E 2 , E 1 ∩ E 2 , and S − E 1 are R -saturated. MOVEP 2006 Bordeaux, june 2006

  67. 43 Bisimulation invariance Proposition Let P and P � . If there is a bisimulation between P and P � then for any = A ↔ P � | (closed) automaton A , = A . P | Lemma Let R be a bisimulation between P and P � . For any µ -term t and any R -saturated subsets E 1 , . . . , E n , the set E = [ ] P ( E 1 , . . . , E n ) is R -saturated. | t | ] P � ( R ( E 1 ) , . . . , R ( E n )) . R ( E ) = [ | t | ] P = R − 1 ([ Corollary [ | A | ] P is R -saturated and [ | A | ] P � = R ([ | A | ] P ) hence [ | A | | A | ] P � ) . MOVEP 2006 Bordeaux, june 2006

  68. 44 Infinite transitions systems All the previous definitions ( [ | A | ] P , [ ] P ( X 1 , . . . , X n ) , bisimulation) and results | t | (parity automata ⇔ µ -terms ⇒ MSOL formulas, bisimulation invariance) are still valid for infinite transition systems. MOVEP 2006 Bordeaux, june 2006

  69. 44 Infinite transitions systems All the previous definitions ( [ | A | ] P , [ ] P ( X 1 , . . . , X n ) , bisimulation) and results | t | (parity automata ⇔ µ -terms ⇒ MSOL formulas, bisimulation invariance) are still valid for infinite transition systems. Example: P is in bisimulation with its (infinite) tree unfolding TU ( P ) . MOVEP 2006 Bordeaux, june 2006

  70. 44 Infinite transitions systems All the previous definitions ( [ | A | ] P , [ ] P ( X 1 , . . . , X n ) , bisimulation) and results | t | (parity automata ⇔ µ -terms ⇒ MSOL formulas, bisimulation invariance) are still valid for infinite transition systems. Example: P is in bisimulation with its (infinite) tree unfolding TU ( P ) . Finite model property If A has a model ( ∃ P : P | = A ) then it has a finite model. MOVEP 2006 Bordeaux, june 2006

  71. 44 Infinite transitions systems All the previous definitions ( [ | A | ] P , [ ] P ( X 1 , . . . , X n ) , bisimulation) and results | t | (parity automata ⇔ µ -terms ⇒ MSOL formulas, bisimulation invariance) are still valid for infinite transition systems. Example: P is in bisimulation with its (infinite) tree unfolding TU ( P ) . Finite model property If A has a model ( ∃ P : P | = A ) then it has a finite model. Fact MSOL has NOT the finite model property. MOVEP 2006 Bordeaux, june 2006

  72. 44 Infinite transitions systems All the previous definitions ( [ | A | ] P , [ ] P ( X 1 , . . . , X n ) , bisimulation) and results | t | (parity automata ⇔ µ -terms ⇒ MSOL formulas, bisimulation invariance) are still valid for infinite transition systems. Example: P is in bisimulation with its (infinite) tree unfolding TU ( P ) . Finite model property If A has a model ( ∃ P : P | = A ) then it has a finite model. Fact MSOL has NOT the finite model property. V ( x, y ) = W F = ∀ x, ∃ y : V ( x, y ) ∀ y (( ∃ x : V ( x, y )) ⇒ a ∈ A V a ( x, y ) , ∧ ∀ x, x � , ( V ( x, y ) ∧ V ( x � , y ) ⇒ x = x � )) (i.e. each state is of indegree at most 1) F is true in P iff P is an infinite tree. MOVEP 2006 Bordeaux, june 2006

  73. 45 MSOL and bisimulation invariance A MSOL-formula F ( x ) with one free variable is bisimulation-invariant if for any P, P � , any bisimulation R between P and P � and any ( s, s � ) ∈ R one has: F ( s ) is true in P iff F ( s � ) is true in P � MOVEP 2006 Bordeaux, june 2006

  74. 45 MSOL and bisimulation invariance A MSOL-formula F ( x ) with one free variable is bisimulation-invariant if for any P, P � , any bisimulation R between P and P � and any ( s, s � ) ∈ R one has: F ( s ) is true in P iff F ( s � ) is true in P � Theorem [Janin-Walukiewicz, 1996] If F ( x ) is bisimulation-invariant then there exists A such that for any P and s , F ( s ) is true in P iff s ∈ [ | A | ] P . MOVEP 2006 Bordeaux, june 2006

Recommend


More recommend