brzozowski s algorithm co algebraically
play

Brzozowskis algorithm (co)algebraically Jan Rutten CWI & - PowerPoint PPT Presentation

1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Brzozowskis algorithm (co)algebraically Jan Rutten CWI & Radboud University 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6.


  1. � � � � � � � � � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Taking the reachable part of det ( rev ( X )) a , b a , b b � x , y , z b x , y x , z x , y , z a � a a a b � y , z � y , z x b a b a a y z ∅ ∅ b b a , b a , b • reach ( det ( rev ( X ))) is reachable (by construction)

  2. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Repeating everything, now for reach ( det ( rev ( X ))) a , b x , y , z b a b � y , z a � s � t b a ∅ a , b • . . . gives us reach ( det ( rev ( reach ( det ( rev ( X )))))) • which is (reachable and) minimal and accepts { a , b } ∗ a .

  3. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Repeating everything, now for reach ( det ( rev ( X ))) a , b x , y , z b a b � y , z a � s � t b a ∅ a , b • . . . gives us reach ( det ( rev ( reach ( det ( rev ( X )))))) • which is (reachable and) minimal and accepts { a , b } ∗ a .

  4. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Repeating everything, now for reach ( det ( rev ( X ))) a , b x , y , z b a b � y , z a � s � t b a ∅ a , b • . . . gives us reach ( det ( rev ( reach ( det ( rev ( X )))))) • which is (reachable and) minimal and accepts { a , b } ∗ a .

  5. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Repeating everything, now for reach ( det ( rev ( X ))) a , b x , y , z b a b � y , z a � s � t b a ∅ a , b • . . . gives us reach ( det ( rev ( reach ( det ( rev ( X )))))) • which is (reachable and) minimal and accepts { a , b } ∗ a .

  6. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions All in all: Brzozowski’s algorithm b b � x � z a b b b a � s � t a y a a • X is reachable and accepts { a , b } ∗ a • reach ( det ( rev ( reach ( det ( rev ( X )))))) also accepts { a , b } ∗ a • . . . and is minimal!!

  7. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions All in all: Brzozowski’s algorithm b b � x � z a b b b a � s � t a y a a • X is reachable and accepts { a , b } ∗ a • reach ( det ( rev ( reach ( det ( rev ( X )))))) also accepts { a , b } ∗ a • . . . and is minimal!!

  8. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions All in all: Brzozowski’s algorithm b b � x � z a b b b a � s � t a y a a • X is reachable and accepts { a , b } ∗ a • reach ( det ( rev ( reach ( det ( rev ( X )))))) also accepts { a , b } ∗ a • . . . and is minimal!!

  9. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions All in all: Brzozowski’s algorithm b b � x � z a b b b a � s � t a y a a • X is reachable and accepts { a , b } ∗ a • reach ( det ( rev ( reach ( det ( rev ( X )))))) also accepts { a , b } ∗ a • . . . and is minimal!!

  10. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions All in all: Brzozowski’s algorithm b b � x � z a b b b a � s � t a y a a • X is reachable and accepts { a , b } ∗ a • reach ( det ( rev ( reach ( det ( rev ( X )))))) also accepts { a , b } ∗ a • . . . and is minimal!!

  11. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions 2. (Co)algebra X F ( X ) algebras: coalgebras: f f F ( X ) X

  12. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Examples of algebras 1 N × N 1 + N 1 N 0 + [ 0 , S ] ≡ ≡ N 0 S N S N N N

  13. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Examples of algebras 1 N × N 1 + N 1 N 0 + [ 0 , S ] ≡ ≡ N 0 S N S N N N

  14. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Examples of coalgebras X a t � y ⇐ ⇒ � a , y � ∈ t ( x ) x P ( A × X ) X � Left , label , Right � X × A × X

  15. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Examples of coalgebras X a t � y ⇐ ⇒ � a , y � ∈ t ( x ) x P ( A × X ) X � Left , label , Right � X × A × X

  16. � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Examples of coalgebras 2 2 ω 2 ω head head tail � head , tail � ≡ ≡ 2 ω 2 2 ω tail 2 × 2 ω 2 ω head (( b 0 , b 1 , b 2 , . . . )) = b 0 tail (( b 0 , b 1 , b 2 , . . . )) = ( b 1 , b 2 , b 3 . . . )

  17. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Homomorphisms F ( h ) � F ( Y ) h � Y X F ( X ) g f g f � F ( Y ) � Y F ( X ) X F ( h ) h

  18. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Homomorphisms F ( h ) � F ( Y ) h � Y X F ( X ) g f g f � F ( Y ) � Y F ( X ) X F ( h ) h

  19. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initiality, finality ∃ ! h F ( h ) � F ( X ) � Z X F ( A ) β f α f � F ( Z ) � X F ( X ) A F ( h ) ∃ ! h • initial algebras ⇐ ⇒ induction • final coalgebras ⇐ ⇒ coinduction

  20. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initiality, finality ∃ ! h F ( h ) � F ( X ) � Z X F ( A ) β f α f � F ( Z ) � X F ( X ) A F ( h ) ∃ ! h • initial algebras ⇐ ⇒ induction • final coalgebras ⇐ ⇒ coinduction

  21. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initiality, finality ∃ ! h F ( h ) � F ( X ) � Z X F ( A ) β f α f � F ( Z ) � X F ( X ) A F ( h ) ∃ ! h • initial algebras ⇐ ⇒ induction • final coalgebras ⇐ ⇒ coinduction

  22. 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions 3. Automata, (co)algebraically • Automata are complicated structures: part of them is algebra - part of them is coalgebra • ( . . . in two different ways . . . )

  23. 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions 3. Automata, (co)algebraically • Automata are complicated structures: part of them is algebra - part of them is coalgebra • ( . . . in two different ways . . . )

  24. � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions A deterministic automaton 1 2 i f X t X A where X A = { g | g : A → X } 1 = { 0 } 2 = { 0 , 1 } a � y ⇐ ⇒ t ( x )( a ) = y x i ( 0 ) ∈ X is the initial state ⇐ ⇒ x is final (or accepting) f ( x ) = 1

  25. � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions A deterministic automaton 1 2 i f X t X A where X A = { g | g : A → X } 1 = { 0 } 2 = { 0 , 1 } a � y ⇐ ⇒ t ( x )( a ) = y x i ( 0 ) ∈ X is the initial state ⇐ ⇒ x is final (or accepting) f ( x ) = 1

  26. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Automata: algebra or coalgebra? • initial state: algebraic – final states: coalgebraic 1 2 i f X • transition function: both algebraic and coalgebraic t � X A X � ( A � X ) X t � X X × A

  27. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Automata: algebra or coalgebra? • initial state: algebraic – final states: coalgebraic 1 2 i f X • transition function: both algebraic and coalgebraic t � X A X � ( A � X ) X t � X X × A

  28. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Automata: algebra and coalgebra! 1 2 i f ǫ ǫ ? � 2 A ∗ A ∗ X r o α β t � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A To take home: this picture!! . . . which we’ll explain next . . .

  29. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Automata: algebra and coalgebra! 1 2 i f ǫ ǫ ? � 2 A ∗ A ∗ X r o α β t � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A To take home: this picture!! . . . which we’ll explain next . . .

  30. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Automata: algebra and coalgebra! 1 2 i f ǫ ǫ ? � 2 A ∗ A ∗ X r o α β t � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A To take home: this picture!! . . . which we’ll explain next . . .

  31. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The “automaton” of languages ǫ ?( L ) = 1 ⇐ ⇒ ǫ ∈ L 2 ǫ ? 2 A ∗ = { g | g : A ∗ → 2 } ∼ 2 A ∗ = { L | L ⊆ A ∗ } β ( 2 A ∗ ) A β ( L )( a ) = L a = { w ∈ A ∗ | a · w ∈ L } • We say “automaton”: it does not have an initial state.

  32. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The “automaton” of languages ǫ ?( L ) = 1 ⇐ ⇒ ǫ ∈ L 2 ǫ ? 2 A ∗ = { g | g : A ∗ → 2 } ∼ 2 A ∗ = { L | L ⊆ A ∗ } β ( 2 A ∗ ) A β ( L )( a ) = L a = { w ∈ A ∗ | a · w ∈ L } • We say “automaton”: it does not have an initial state.

  33. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of languages a L a = { w ∈ A ∗ | a · w ∈ L } � L a where • transitions: L • for instance: a a b � { b } � { ǫ } { ab } a ∗ b { a , b } ∗ a a , b b b ∅ { a , b } ∗ a , b a , b • note: every state L accepts . . . . . . the language L !!

  34. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of languages a L a = { w ∈ A ∗ | a · w ∈ L } � L a where • transitions: L • for instance: a a b � { b } � { ǫ } { ab } a ∗ b { a , b } ∗ a a , b b b ∅ { a , b } ∗ a , b a , b • note: every state L accepts . . . . . . the language L !!

  35. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of languages a L a = { w ∈ A ∗ | a · w ∈ L } � L a where • transitions: L • for instance: a a b � { b } � { ǫ } { ab } a ∗ b { a , b } ∗ a a , b b b ∅ { a , b } ∗ a , b a , b • note: every state L accepts . . . . . . the language L !!

  36. � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of languages a L a = { w ∈ A ∗ | a · w ∈ L } � L a where • transitions: L • for instance: a a b � { b } � { ǫ } { ab } a ∗ b { a , b } ∗ a a , b b b ∅ { a , b } ∗ a , b a , b • note: every state L accepts . . . . . . the language L !!

  37. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of languages is . . . final 2 f ǫ ? { w ∈ A ∗ | f ( x w ) = 1 } o ( x ) = � 2 A ∗ X ∃ ! o = the language accepted by x t β � ( 2 A ∗ ) A X A o A where: x w is the state reached after inputting the word w , and: o A ( g ) = o ◦ g , all g ∈ X A .

  38. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of languages is . . . final 2 f ǫ ? { w ∈ A ∗ | f ( x w ) = 1 } o ( x ) = � 2 A ∗ X ∃ ! o = the language accepted by x t β � ( 2 A ∗ ) A X A o A where: x w is the state reached after inputting the word w , and: o A ( g ) = o ◦ g , all g ∈ X A .

  39. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions An aside: a proof by coinduction Question: a ∗ b { a , b } ∗ = { a , b } ∗ b a ∗ ?? a a a ∗ b { a , b } ∗ { a , b } ∗ b a ∗ b b Answer: consider { a , b } ∗ b a ∗ + a ∗ { a , b } ∗ a , b a , b and conclude: yes , since the relation R = { � a ∗ b { a , b } ∗ , { a , b } ∗ b a ∗ � , � { a , b } ∗ , { a , b } ∗ b a ∗ + a ∗ � } is a (language!) bisimulation.

  40. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions An aside: a proof by coinduction Question: a ∗ b { a , b } ∗ = { a , b } ∗ b a ∗ ?? a a a ∗ b { a , b } ∗ { a , b } ∗ b a ∗ b b Answer: consider { a , b } ∗ b a ∗ + a ∗ { a , b } ∗ a , b a , b and conclude: yes , since the relation R = { � a ∗ b { a , b } ∗ , { a , b } ∗ b a ∗ � , � { a , b } ∗ , { a , b } ∗ b a ∗ + a ∗ � } is a (language!) bisimulation.

  41. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions An aside: a proof by coinduction Question: a ∗ b { a , b } ∗ = { a , b } ∗ b a ∗ ?? a a a ∗ b { a , b } ∗ { a , b } ∗ b a ∗ b b Answer: consider { a , b } ∗ b a ∗ + a ∗ { a , b } ∗ a , b a , b and conclude: yes , since the relation R = { � a ∗ b { a , b } ∗ , { a , b } ∗ b a ∗ � , � { a , b } ∗ , { a , b } ∗ b a ∗ + a ∗ � } is a (language!) bisimulation.

  42. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions An aside: a proof by coinduction Question: a ∗ b { a , b } ∗ = { a , b } ∗ b a ∗ ?? a a a ∗ b { a , b } ∗ { a , b } ∗ b a ∗ b b Answer: consider { a , b } ∗ b a ∗ + a ∗ { a , b } ∗ a , b a , b and conclude: yes , since the relation R = { � a ∗ b { a , b } ∗ , { a , b } ∗ b a ∗ � , � { a , b } ∗ , { a , b } ∗ b a ∗ + a ∗ � } is a (language!) bisimulation.

  43. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Back to today’s picture 1 2 i f ǫ ǫ ? � 2 A ∗ A ∗ X r o α β t � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A On the right: final coalgebra On the left: initial algebra . . .

  44. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Back to today’s picture 1 2 i f ǫ ǫ ? � 2 A ∗ A ∗ X r o α β t � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A On the right: final coalgebra On the left: initial algebra . . .

  45. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Back to today’s picture 1 2 i f ǫ ǫ ? � 2 A ∗ A ∗ X r o α β t � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A On the right: final coalgebra On the left: initial algebra . . .

  46. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The “automaton” of words 1 ǫ is initial state ǫ α ( w )( a ) = w · a A ∗ α a � w · a that is, transitions: w ( A ∗ ) A

  47. � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions The automaton of words is . . . initial 1 i ∈ X = initial state i ǫ (to be precise: i ( 0 ) ) A ∗ X ∃ ! r r ( w ) = i w α t = the state reached from i after inputting w � X A ( A ∗ ) A r A • Proof: easy exercise. • Proof: formally, because A ∗ is an initial 1 + A × ( − ) -algebra!

  48. 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions 4. Duality • Reachability and observability are dual: Arbib and Manes, 1975. • (here observable = minimal)

  49. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reachability and observability 1 2 i f ǫ ǫ ? r ( w ) = state reached on input w � 2 A ∗ A ∗ X r o o ( x ) = language α β t accepted by x � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A • We call X reachable if r is surjective . • We call X observable (= minimal) if o is injective .

  50. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reachability and observability 1 2 i f ǫ ǫ ? r ( w ) = state reached on input w � 2 A ∗ A ∗ X r o o ( x ) = language α β t accepted by x � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A • We call X reachable if r is surjective . • We call X observable (= minimal) if o is injective .

  51. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reachability and observability 1 2 i f ǫ ǫ ? r ( w ) = state reached on input w � 2 A ∗ A ∗ X r o o ( x ) = language α β t accepted by x � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A • We call X reachable if r is surjective . • We call X observable (= minimal) if o is injective .

  52. � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reachability and observability 1 2 i f ǫ ǫ ? r ( w ) = state reached on input w � 2 A ∗ A ∗ X r o o ( x ) = language α β t accepted by x � X A � ( 2 A ∗ ) A ( A ∗ ) A r A o A • We call X reachable if r is surjective . • We call X observable (= minimal) if o is injective .

  53. 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions 5. Reversing the automaton • Reachability ⇐ ⇒ observability • Being precise about homomorphisms is crucial. • Forms the basis for proof Brzozowski’s algorithm.

  54. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Powerset construction 2 V V 2 ( − ) : g �→ 2 g 2 W W where 2 V = { S | S ⊆ V } and, for all S ⊆ W , 2 g ( S ) = g − 1 ( S ) ( = { v ∈ V | g ( v ) ∈ S } ) • This construction is contravariant !! • Note: if g is surjective , then 2 g is injective .

  55. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Powerset construction 2 V V 2 ( − ) : g �→ 2 g 2 W W where 2 V = { S | S ⊆ V } and, for all S ⊆ W , 2 g ( S ) = g − 1 ( S ) ( = { v ∈ V | g ( v ) ∈ S } ) • This construction is contravariant !! • Note: if g is surjective , then 2 g is injective .

  56. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Powerset construction 2 V V 2 ( − ) : g �→ 2 g 2 W W where 2 V = { S | S ⊆ V } and, for all S ⊆ W , 2 g ( S ) = g − 1 ( S ) ( = { v ∈ V | g ( v ) ∈ S } ) • This construction is contravariant !! • Note: if g is surjective , then 2 g is injective .

  57. � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Powerset construction 2 V V 2 ( − ) : g �→ 2 g 2 W W where 2 V = { S | S ⊆ V } and, for all S ⊆ W , 2 g ( S ) = g − 1 ( S ) ( = { v ∈ V | g ( v ) ∈ S } ) • This construction is contravariant !! • Note: if g is surjective , then 2 g is injective .

  58. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing transitions 2 X 2 X × A ( 2 X ) A X X × A ✤ 2 ( − ) � 2 t t � X A ( 2 X ) A X 2 X 2 X

  59. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing transitions 2 X 2 X × A ( 2 X ) A X X × A ✤ 2 ( − ) � 2 t t � X A ( 2 X ) A X 2 X 2 X

  60. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing transitions 2 X 2 X × A ( 2 X ) A X X × A ✤ 2 ( − ) � 2 t t � X A ( 2 X ) A X 2 X 2 X

  61. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing transitions 2 X 2 X × A ( 2 X ) A X X × A ✤ 2 ( − ) � 2 t t � X A ( 2 X ) A X 2 X 2 X

  62. � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing transitions 2 X 2 X × A ( 2 X ) A X X × A ✤ 2 ( − ) � 2 t t � X A ( 2 X ) A X 2 X 2 X

  63. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initial ⇐ ⇒ final 2 1 2 i i ✤ 2 ( − ) � 2 X X 1 2 f f 2 X X

  64. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initial ⇐ ⇒ final 2 1 2 i i ✤ 2 ( − ) � 2 X X 1 2 f f 2 X X

  65. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initial ⇐ ⇒ final 2 1 2 i i ✤ 2 ( − ) � 2 X X 1 2 f f 2 X X

  66. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Initial ⇐ ⇒ final 2 1 2 i i ✤ 2 ( − ) � 2 X X 1 2 f f 2 X X

  67. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing the entire automaton 1 2 1 2 2 i f i f ✤ 2 ( − ) � 2 X X 2 t t X A ( 2 X ) A • Initial and final are exchanged . . . • transitions are reversed . . . • and the result is again deterministic!

  68. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing the entire automaton 1 2 1 2 2 i f i f ✤ 2 ( − ) � 2 X X 2 t t X A ( 2 X ) A • Initial and final are exchanged . . . • transitions are reversed . . . • and the result is again deterministic!

  69. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing the entire automaton 1 2 1 2 2 i f i f ✤ 2 ( − ) � 2 X X 2 t t X A ( 2 X ) A • Initial and final are exchanged . . . • transitions are reversed . . . • and the result is again deterministic!

  70. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing the entire automaton 1 2 1 2 2 i f i f ✤ 2 ( − ) � 2 X X 2 t t X A ( 2 X ) A • Initial and final are exchanged . . . • transitions are reversed . . . • and the result is again deterministic!

  71. � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Reversing the entire automaton 1 2 1 2 2 i f i f ✤ 2 ( − ) � 2 X X 2 t t X A ( 2 X ) A • Initial and final are exchanged . . . • transitions are reversed . . . • and the result is again deterministic!

  72. � � � � � � � � � � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Our previous example a , b b b � x , y , z b b x , y x , z � x � z a � a a a b 2 X = � y , z X = x b a b a a a y y z ∅ b b a a , b • Note that X has been reversed and determinized: 2 X = det ( rev ( X ))

  73. � � � � � � � � � � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Our previous example a , b b b � x , y , z b b x , y x , z � x � z a � a a a b 2 X = � y , z X = x b a b a a a y y z ∅ b b a a , b • Note that X has been reversed and determinized: 2 X = det ( rev ( X ))

  74. � � � � � � � � � � � � � � � � � 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Our previous example a , b b b � x , y , z b b x , y x , z � x � z a � a a a b 2 X = � y , z X = x b a b a a a y y z ∅ b b a a , b • Note that X has been reversed and determinized: 2 X = det ( rev ( X ))

  75. 1. Example 2. (Co)algebra 3. Automata 4. Duality 5. Reversing 6. Conclusions Proving today’s Theorem If: a deterministic automaton X is reachable and accepts L ( X ) then: 2 X ( = det ( rev ( X )) ) is minimal/observable and L ( 2 X ) = reverse ( L ( X ) )

Recommend


More recommend