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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend