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 ) )

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