Kleene Algebra with Converse Talk at RAMICS ’14 Paul Brunet & Damien Pous LIP, CNRS, ENS de Lyon, INRIA, Université de Lyon, UMR 5668 April 28 th , 2014 April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 1 / 27
Introduction Introduction ( x ⋆ + y ) · z ( x ⋆ · z ) + ( y · z ) ≡ R el ∀ S , ∀ σ : R eg X → R el ( S ) σ (( x ⋆ + y ) · z ) σ (( x ⋆ · z ) + ( y · z )) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 2 / 27
Introduction Introduction ( x ⋆ + y ) · z ( x ⋆ · z ) + ( y · z ) ≡ R el ∀ S , ∀ σ : R eg X → R el ( S ) σ (( x ⋆ + y ) · z ) σ (( x ⋆ · z ) + ( y · z )) = April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 2 / 27
Introduction Introduction ( x ⋆ + y ) · z ( x ⋆ · z ) + ( y · z ) ≡ R el ∀ S , ∀ σ : R eg X → R el ( S ) σ (( x ⋆ + y ) · z ) σ (( x ⋆ · z ) + ( y · z )) = April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 2 / 27
Introduction Introduction e , f ∈ R eg X KA ⊢ e = f e ≡ R el f � e � = � f � ∨ e , f ∈ R eg X KAC ⊢ e = f e ≡ R el ∨ f cl ( � e � ) = cl ( � f � ) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 3 / 27
Introduction Introduction e , f ∈ R eg X KA ⊢ e = f e ≡ R el f � e � = � f � What if we add a converse operation to regular expressions ? ∨ e , f ∈ R eg X KAC ⊢ e = f e ≡ R el ∨ f cl ( � e � ) = cl ( � f � ) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 3 / 27
Introduction Introduction e , f ∈ R eg X KA ⊢ e = f e ≡ R el f � e � = � f � ∨ e , f ∈ R eg X KAC ⊢ e = f e ≡ R el ∨ f cl ( � e � ) = cl ( � f � ) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 3 / 27
Introduction Introduction ∨ e , f ∈ R eg X KAC ⊢ e = f e ≡ R el ∨ f cl ( � e � ) = cl ( � f � ) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 3 / 27
Introduction Plan Introduction 1 From Kleene Algebra with Converse to regular languages 2 Kleene Algebra with converse Reduction to an automaton problem Closure of an automaton 3 The PSpace algorithm. 4 Conclusion 5 April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 4 / 27
KAC Plan Introduction 1 From Kleene Algebra with Converse to regular languages 2 Kleene Algebra with converse Reduction to an automaton problem Closure of an automaton 3 The PSpace algorithm. 4 Conclusion 5 April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 5 / 27
KAC Kleene Algebra with converse Regular expressions with converse Regular expressions with converse over X ∨ � 0 | 1 | x ∈ X | e + f | e · f | e ⋆ | e ∨ e , f ∈ R eg X April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 6 / 27
KAC Kleene Algebra with converse Regular expressions with converse Regular expressions with converse over X ∨ � 0 | 1 | x ∈ X | e + f | e · f | e ⋆ | e ∨ e , f ∈ R eg X Given any map : σ : X −→ R el ( S ) , we can build uniquely a morphism ∨ −→ R el ( S ) . σ : R eg X ˆ April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 6 / 27
KAC Kleene Algebra with converse Relational equivalence ∨ : For e , f ∈ R eg X e ≡ R el ∨ f means that ∀ S , ∀ σ : X → R el ( S ) , ˆ σ ( e ) = ˆ σ ( f ) . April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 7 / 27
KAC Kleene Algebra with converse The equational theory KAC The equational theory KAC of regular algebras with converse over binary relations consists of the axioms of KA together with the following : ( a + b ) ∨ = a ∨ + b ∨ (1) ( a · b ) ∨ = b ∨ · a ∨ (2) ( a ⋆ ) ∨ = ( a ∨ ) ⋆ (3) a ∨∨ = a (4) aa ∨ a � a (5) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 8 / 27
KAC Kleene Algebra with converse The equational theory KAC The equational theory KAC of regular algebras with converse over binary relations consists of the axioms of KA together with the following : ( a + b ) ∨ = a ∨ + b ∨ (1) ( a · b ) ∨ = b ∨ · a ∨ (2) ( a ⋆ ) ∨ = ( a ∨ ) ⋆ (3) a ∨∨ = a (4) aa ∨ a � a (5) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 8 / 27
KAC Reduction ∨ to R eg X From R eg X Let X be a finite alphabet. For e ∈ R eg X , we write � e � ⊆ X ⋆ for the language denoted by e . X ′ ≔ { x ′ | x ∈ X } is a disjoint copy of X , and X ≔ X ∪ X ′ . We apply the following rewriting system : ( a + b ) ∨ �−→ a ∨ + b ∨ ( a · b ) ∨ �−→ b ∨ · a ∨ ( a ⋆ ) ∨ �−→ ( a ∨ ) ⋆ a ∨∨ �−→ a April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 9 / 27
KAC Reduction ∨ to R eg X From R eg X Let X be a finite alphabet. For e ∈ R eg X , we write � e � ⊆ X ⋆ for the language denoted by e . X ′ ≔ { x ′ | x ∈ X } is a disjoint copy of X , and X ≔ X ∪ X ′ . We apply the following rewriting system : ( a + b ) ∨ �−→ a ∨ + b ∨ ( a · b ) ∨ �−→ b ∨ · a ∨ ( a ⋆ ) ∨ �−→ ( a ∨ ) ⋆ a ∨∨ �−→ a x ∨ �−→ x ′ ( x ∈ X ) x ′∨ �−→ x ( x ∈ X ) April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 9 / 27
KAC Reduction ∨ to R eg X From R eg X Let X be a finite alphabet. For e ∈ R eg X , we write � e � ⊆ X ⋆ for the language denoted by e . X ′ ≔ { x ′ | x ∈ X } is a disjoint copy of X , and X ≔ X ∪ X ′ . We apply the following rewriting system : ( a + b ) ∨ �−→ a ∨ + b ∨ ( a · b ) ∨ �−→ b ∨ · a ∨ ( a ⋆ ) ∨ �−→ ( a ∨ ) ⋆ a ∨∨ �−→ a x ∨ �−→ x ′ ( x ∈ X ) x ′∨ �−→ x ( x ∈ X ) 1 ∨ �−→ 1 0 ∨ �−→ 0 April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 9 / 27
KAC Reduction ∨ to R eg X From R eg X Let X be a finite alphabet. For e ∈ R eg X , we write � e � ⊆ X ⋆ for the language denoted by e . X ′ ≔ { x ′ | x ∈ X } is a disjoint copy of X , and X ≔ X ∪ X ′ . We apply the following rewriting system : ( a + b ) ∨ �−→ a ∨ + b ∨ ( a · b ) ∨ �−→ b ∨ · a ∨ ( a ⋆ ) ∨ �−→ ( a ∨ ) ⋆ a ∨∨ �−→ a x ∨ �−→ x ′ ( x ∈ X ) x ′∨ �−→ x ( x ∈ X ) 1 ∨ �−→ 1 0 ∨ �−→ 0 We get e ∈ R eg X . April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 9 / 27
KAC Reduction Is it enough ? ⇒ ∨ : e , f ∈ R eg X e ≡ R el f cl ( � e � = � f � ) ⇐ April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 10 / 27
KAC Reduction Is it enough ? ∨ : � e ≡ R el ∨ f e , f ∈ R eg X cl ( � e � = � f � ) ⇐ April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 10 / 27
KAC Reduction Is it enough ? ∨ : � e ≡ R el ∨ f e , f ∈ R eg X cl ( � e � = � f � ) ⇐ aa ∨ a � a R x y R ∨ e = aa ∨ a , f = a : � e � = { aa ′ a } � { a } = � f � April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 10 / 27
KAC Reduction Is it enough ? ⇒ ∨ : e ≡ R el ∨ f e , f ∈ R eg X cl ( � e � )= cl ( � f � ) ⇐ aa ∨ a � a R x y R ∨ e = aa ∨ a , f = a : � e � = { aa ′ a } � { a } = � f � April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 10 / 27
KAC Reduction Reduction relation and closure Converse for words : w x ≔ x ′ ∀ x ∈ X , ǫ ≔ ǫ For a word w ∈ X ⋆ , we define inductively w : ∀ x ′ ∈ X ′ , x ′ ≔ x wx ≔ x w . April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 11 / 27
KAC Reduction Reduction relation and closure Converse for words : w x ≔ x ′ ∀ x ∈ X , ǫ ≔ ǫ For a word w ∈ X ⋆ , we define inductively w : ∀ x ′ ∈ X ′ , x ′ ≔ x wx ≔ x w . Reduction relation : u � v u 1 · www · u 2 u 1 · w · u 2 � April 28 th , 2014 Paul Brunet (ENS de Lyon, Université de Lyon) Kleene Algebra with Converse 11 / 27
Recommend
More recommend