Petri automata for Kleene Allegories Paul Brunet & Damien Pous - - PowerPoint PPT Presentation

petri automata
SMART_READER_LITE
LIVE PREVIEW

Petri automata for Kleene Allegories Paul Brunet & Damien Pous - - PowerPoint PPT Presentation

Petri automata for Kleene Allegories Paul Brunet & Damien Pous Plume team LIP, CNRS, ENS de Lyon, Inria, UCBL, Universit de Lyon, UMR 5668 April 8, 2015 Paul Brunet Kleene Allegories & Petri automata April 8, 2015 Introduction


slide-1
SLIDE 1

Petri automata

for Kleene Allegories

Paul Brunet & Damien Pous

Plume team – LIP, CNRS, ENS de Lyon, Inria, UCBL, Université de Lyon, UMR 5668 April 8, 2015

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-2
SLIDE 2

Introduction KA

Regular expressions

e, f ∈ RegX 0 | 1 | x ∈ X | e · f | e ∪ f | e⋆

Interpretations

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-3
SLIDE 3

Introduction KA

Regular expressions

e, f ∈ RegX 0 | 1 | x ∈ X | e · f | e ∪ f | e⋆

Interpretations

languages: Σ a finite set, σ : X → P (Σ⋆), ∅, {ǫ}, concatenation, union Rationnal languages correspond to _ : X → P (X ⋆) x → {x} .

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-4
SLIDE 4

Introduction KA

Regular expressions

e, f ∈ RegX 0 | 1 | x ∈ X | e · f | e ∪ f | e⋆

Interpretations

languages: Σ a finite set, σ : X → P (Σ⋆), ∅, {ǫ}, concatenation, union relations: S a set, σ : X → P (S × S), ∅, IdS, composition, union Rationnal languages correspond to _ : X → P (X ⋆) x → {x} .

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-5
SLIDE 5

Introduction KA

Regular expressions

e, f ∈ RegX 0 | 1 | x ∈ X | e · f | e ∪ f | e⋆

Interpretations

languages: Σ a finite set, σ : X → P (Σ⋆), ∅, {ǫ}, concatenation, union relations: S a set, σ : X → P (S × S), ∅, IdS, composition, union Rationnal languages correspond to _ : X → P (X ⋆) x → {x} .

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-6
SLIDE 6

Introduction KA

Model equivalence

e, f ∈ RegX Rel |= e = f if ∀S, ∀σ : X → P (S × S) , σ(e) = σ(f )

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-7
SLIDE 7

Introduction KA

Model equivalence

e, f ∈ RegX Rel |= e = f if ∀S, ∀σ : X → P (S × S) , σ(e) = σ(f )

Theorem

Rel |= e = f ⇔ e = f

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-8
SLIDE 8

Introduction KL

Kleene Allegories

e, f ∈ Reg∩

X

0 | 1 | x ∈ X | e · f | e ∩ f | e ∪ f | e⋆ | e

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-9
SLIDE 9

Introduction KL

Kleene Allegories

e, f ∈ Reg∩

X

0 | 1 | x ∈ X | e · f | e ∩ f | e ∪ f | e⋆ | e Rel |= e = f e = f

Example

a ∩ b = ∅ = σ(a) = {(x, y), (y, z)} σ(b) = {(y, z), (z, t)} σ (a ∩ b) = {(y, z)} ∅ = σ (0) a = {a} = a σ(a) = {(x, y)} σ (a) = {(y, x)} σ(a) A different approach is needed.

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-10
SLIDE 10

Graph languages Ground terms

Graphs/Ground terms

u, v ∈ WX 0 | 1 | x ∈ X | u · v | u ∩ v | u ∪ v | u⋆ | u

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-11
SLIDE 11

Graph languages Ground terms

Graphs/Ground terms

G(1) ≔ G(x) ≔ x G(u) ≔ G(u) G(u · v) ≔ G(u) G(v) G(u ∩ v) ≔ G(u) G(v)

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-12
SLIDE 12

Graph languages Ground terms

Graphs/Ground terms

G(1) ≔ G(x) ≔ x G(u) ≔ G(u) G(u · v) ≔ G(u) G(v) G(u ∩ v) ≔ G(u) G(v)

Example

G (a · b): a b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-13
SLIDE 13

Graph languages Ground terms

Graphs/Ground terms

G(1) ≔ G(x) ≔ x G(u) ≔ G(u) G(u · v) ≔ G(u) G(v) G(u ∩ v) ≔ G(u) G(v)

Example

G (a · b): a b G ((a · b) ∩ (c · b)): a c b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-14
SLIDE 14

Graph languages Ground terms

Graphs/Ground terms

G(1) ≔ G(x) ≔ x G(u) ≔ G(u) G(u · v) ≔ G(u) G(v) G(u ∩ v) ≔ G(u) G(v)

Example

G (a · b): a b G ((a · b) ∩ (c · b)): a c b b G (((a ∩ c) · b) ∩ d): a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-15
SLIDE 15

Graph languages Ground terms

Graphs/Ground terms

G(1) ≔ G(x) ≔ x G(u) ≔ G(u) G(u · v) ≔ G(u) G(v) G(u ∩ v) ≔ G(u) G(v)

Example

G (a · b): a b G ((a · b) ∩ 1): G ((a · b) ∩ (c · b)): a c b b a b G (((a ∩ c) · b) ∩ d): a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-16
SLIDE 16

Graph languages Ground terms

Characterization theorem

◭ is a preorder on graphs.

Theorem

u, v ∈ WX, Rel |= u v ⇔ G(u) ◭ G(v)

  • P. J. Freyd and A. Scedrov. Categories, Allegories.

NH, 1990

  • H. Andréka and D. Bredikhin.

The equational theory of union-free algebras of relations.

  • Alg. Univ., 33(4):516–532, 1995

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-17
SLIDE 17

Graph languages Reg∩ X

Graphs/Ground terms languages

_ : Reg∩

X

→ P (WX) 0 ≔ ∅ 1 ≔ {1} x ≔ {x} e ≔ {w | w ∈ e} e · f ≔ {w · w ′ | w ∈ e and w ′ ∈ f } e ∩ f ≔ {w ∩ w ′ | w ∈ e and w ′ ∈ f } e ∪ f ≔ e ∪ f e⋆ ≔

n∈ N {w1 · · · · · wn | ∀i, wi ∈ e} .

Graph language of an expression

e ∈ Reg∩

X ,

G(e) ≔ {G(w) | w ∈ e} .

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-18
SLIDE 18

Graph languages Reg∩ X

Characterization theorem

◭S is the downwards closure of S with respect to ◭.

Theorem

e, f ∈ Reg∩

X ,

Rel |= e f ⇔ ◭G(e) ⊆ ◭G(f ) Almost proven in:

  • H. Andréka, S. Mikulás, and I. Németi. The equational theory of Kleene lattices.

TCS, 412(52):7099–7108, 2011

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-19
SLIDE 19

Petri Automata Examples

Example

(((a ∩ c) · b) ∩ d) ∪ a A B C D E F 1 2 a c d b a

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-20
SLIDE 20

Petri Automata Examples

Example

  • b · (a · c ∩ b)⋆ · d
  • ∩ a ∪ a · b

A B C D E F G H I J 1 7 2 3 4 5 6 8 b a c b a c b d a b 1 d

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-21
SLIDE 21

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-22
SLIDE 22

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-23
SLIDE 23

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-24
SLIDE 24

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-25
SLIDE 25

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-26
SLIDE 26

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b Success!

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-27
SLIDE 27

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-28
SLIDE 28

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-29
SLIDE 29

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-30
SLIDE 30

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-31
SLIDE 31

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b Failure!

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-32
SLIDE 32

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-33
SLIDE 33

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-34
SLIDE 34

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-35
SLIDE 35

Petri Automata Recognition

Reading a graph in an automaton

A B C D E F 1 2 a c d b a a c d b b Failure!

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-36
SLIDE 36

Petri Automata Recognition

Language recognised by an automaton

Correctness

For any e ∈ Reg∩

X ,

e

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-37
SLIDE 37

Petri Automata Recognition

Language recognised by an automaton

Correctness

For any e ∈ Reg∩

X ,

A (e)

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-38
SLIDE 38

Petri Automata Recognition

Language recognised by an automaton

Correctness

For any e ∈ Reg∩

X ,

L (A (e))

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-39
SLIDE 39

Petri Automata Recognition

Language recognised by an automaton

Correctness

For any e ∈ Reg∩

X ,

L (A (e)) = ◭G (e).

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-40
SLIDE 40

Petri Automata Recognition

Language recognised by an automaton

Correctness

For any e ∈ Reg∩

X ,

L (A (e)) = ◭G (e).

This far:

e, f ∈ Reg∩

X

Rel |= e f ⇔

◭G(e) ⊆ ◭G(f ) ⇔ L (A (e)) ⊆ L (A (f )).

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-41
SLIDE 41

Comparing automata

Restriction: identity-free lattice terms

G ((a · b) ∩ 1): G (a ∩ b): a b a b

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-42
SLIDE 42

Comparing automata

Restriction: identity-free lattice terms

G ((a · b) ∩ 1): G (a ∩ b): a b a b u, v ∈ W−

X 0 | 1 | x ∈ X | u · v | u ∩ v | u ∪ v | u⋆ | u

Identity-free Kleene Lattice

e, f ∈ Reg∩−

X

0 | 1 | x ∈ X | e · f | e ∩ f | e ∪ f | e+ | e

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-43
SLIDE 43

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages.

Ongoing/Future work

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-44
SLIDE 44

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages. Representation of closed graph languages through Petri automata.

Ongoing/Future work

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-45
SLIDE 45

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages. Representation of closed graph languages through Petri automata. Decidability of simple automata equivalence, thus of relational equivalence for Identity-free Kleene Lattices.

Ongoing/Future work

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-46
SLIDE 46

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages. Representation of closed graph languages through Petri automata. Decidability of simple automata equivalence, thus of relational equivalence for Identity-free Kleene Lattices. Simple Petri automata equivalence is EXPSPACE-complete. This decision procedure was implemented in OCaml, and is available as an online application.

Ongoing/Future work

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-47
SLIDE 47

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages. Representation of closed graph languages through Petri automata. Decidability of simple automata equivalence, thus of relational equivalence for Identity-free Kleene Lattices. Simple Petri automata equivalence is EXPSPACE-complete. This decision procedure was implemented in OCaml, and is available as an online application.

Ongoing/Future work

Converting back Petri automata into expressions.

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-48
SLIDE 48

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages. Representation of closed graph languages through Petri automata. Decidability of simple automata equivalence, thus of relational equivalence for Identity-free Kleene Lattices. Simple Petri automata equivalence is EXPSPACE-complete. This decision procedure was implemented in OCaml, and is available as an online application.

Ongoing/Future work

Converting back Petri automata into expressions. Decidability with 1 and/or _.

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-49
SLIDE 49

Conclusions

Conclusion and future work

Results

Reduction of relational equivalence to equality of closed graph languages. Representation of closed graph languages through Petri automata. Decidability of simple automata equivalence, thus of relational equivalence for Identity-free Kleene Lattices. Simple Petri automata equivalence is EXPSPACE-complete. This decision procedure was implemented in OCaml, and is available as an online application.

Ongoing/Future work

Converting back Petri automata into expressions. Decidability with 1 and/or _. Completeness.

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-50
SLIDE 50

Conclusions

That’s it!

Thank you ! The content presented here has been accepted for publication in LICS 2015. http://perso.ens-lyon.fr/paul.brunet/rklm.

Paul Brunet Kleene Allegories & Petri automata April 8, 2015

slide-51
SLIDE 51

Conclusions

Plan

1

Introduction Kleene Algebra Kleene Allegories

2

Graph languages Ground terms Regular expressions with intersection and converse

3

Petri Automata Examples Recognition by Petri automata

4

Comparing automata

5

Conclusions

Paul Brunet Kleene Allegories & Petri automata April 8, 2015