Guarded Kleene Algebra with Tests Verification of Uninterpreted - - PowerPoint PPT Presentation

guarded kleene algebra with tests
SMART_READER_LITE
LIVE PREVIEW

Guarded Kleene Algebra with Tests Verification of Uninterpreted - - PowerPoint PPT Presentation

Guarded Kleene Algebra with Tests Verification of Uninterpreted Programs in Nearly Linear Time Steffen Smolka 1 Nate Foster 1 Justin Hsu 2 e 3 Dexter Kozen 1 Alexandra Silva 3 Tobias Kapp 1 Cornell University 2 University of Wisconsin-Madison 3


slide-1
SLIDE 1

Guarded Kleene Algebra with Tests

Verification of Uninterpreted Programs in Nearly Linear Time Steffen Smolka1 Nate Foster1 Justin Hsu2 Tobias Kapp´ e3 Dexter Kozen1 Alexandra Silva3

1Cornell University 2University of Wisconsin-Madison 3University College London

POPL 2020

slide-2
SLIDE 2

Introduction

while a and b do

e;

end while a do

f;

while a and b do

e;

end end

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 1 19

slide-3
SLIDE 3

Introduction

while a and b do

e;

end while a do

f;

while a and b do

e;

end end while a do if b then

e;

else

f;

end end

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 1 19

slide-4
SLIDE 4

Introduction

while a and b do

e;

end while a do

f;

while a and b do

e;

end end while a do if b then

e;

else

f;

end end

?

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 1 19

slide-5
SLIDE 5

Introduction

KAT Composition choice, iteration [Kozen 1996] Complexity PSPACE-hard [Kozen and Smith 1996] Axiomatization Quasi-equational [Kozen and Smith 1996] Automata Automata on guarded strings [Kozen 2003; Kozen and Tseng 2008]

See also Ashcroft and Manna 1972; B¨

  • hm and Jacopini 1966; Kosaraju 1973; Oulsnam 1982; Peterson et al.

1973; Ramshaw 1988; Williams and Ossher 1978; Hendren et al. 1992; Morris et al. 1997

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 2 19

slide-6
SLIDE 6

Introduction

KAT

GKAT Composition choice, iteration

if-then-else, while-do

[Kozen 1996] Complexity PSPACE-hard Nearly linear [Kozen and Smith 1996] Axiomatization Quasi-equational Quasi-equational† [Kozen and Smith 1996] Automata Automata on guarded strings Well-nested fragment [Kozen 2003; Kozen and Tseng 2008]

See also Ashcroft and Manna 1972; B¨

  • hm and Jacopini 1966; Kosaraju 1973; Oulsnam 1982; Peterson et al.

1973; Ramshaw 1988; Williams and Ossher 1978; Hendren et al. 1992; Morris et al. 1997

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 2 19

slide-7
SLIDE 7

Contributions

Nearly linear decision procedure.

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 3 19

slide-8
SLIDE 8

Contributions

Nearly linear decision procedure. Quasi-equational axiomatization.

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 3 19

slide-9
SLIDE 9

Contributions

Nearly linear decision procedure. Quasi-equational axiomatization. Automata model with Kleene Theorem.

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 3 19

slide-10
SLIDE 10

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0 | 1 e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-11
SLIDE 11

Syntax

a, b ::= t ∈ T | a + b a or b

| ab | a | 0 | 1

e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-12
SLIDE 12

Syntax

a, b ::= t ∈ T | a + b | ab a and b

| a | 0 | 1

e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-13
SLIDE 13

Syntax

a, b ::= t ∈ T | a + b | ab | a

not a | 0 | 1

e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-14
SLIDE 14

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0

false | 1

e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-15
SLIDE 15

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0 | 1

true

e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-16
SLIDE 16

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0 | 1 e, f ::= a

assert a | p ∈ Σ | ef | e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-17
SLIDE 17

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0 | 1 e, f ::= a | p ∈ Σ | ef e; f

| e +a f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-18
SLIDE 18

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0 | 1 e, f ::= a | p ∈ Σ | ef | e +a f

if a then e else f | e(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-19
SLIDE 19

Syntax

a, b ::= t ∈ T | a + b | ab | a | 0 | 1 e, f ::= a | p ∈ Σ | ef | e +a f | e(a)

while a do e

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 4 19

slide-20
SLIDE 20

Syntax

while a do if b then

e;

else

f;

end end

(e +b f)(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 5 19

slide-21
SLIDE 21

Syntax

while a do if b then

e;

else

f;

end end

(e +b f)(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 5 19

slide-22
SLIDE 22

Syntax

while a and b do

e;

end while a do

f;

while a and b do

e;

end end

e(ab)(fe(ab))

(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 5 19

slide-23
SLIDE 23

Syntax

while a and b do

e;

end while a do

f;

while a and b do

e;

end end

e(ab)(fe(ab))

(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 5 19

slide-24
SLIDE 24

Semantics

slide-25
SLIDE 25

Relational Semantics

i =

  • sat : T → 2States, eval : Σ → 2States2
  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 6 19

slide-26
SLIDE 26

Relational Semantics

i =

  • sat : T → 2States, eval : Σ → 2States2

e

Rie

t ∈ T

{(s, s) : s ∈ sat(t)}

a + b

Ria ∪ Rib

ab

Ria ∩ Rib

a

{(s, s) : s ∈ States} \ Ria

p ∈ Σ eval(p) e +a f

Ria ◦ Rie ∪ Ria ◦ Rif

ef

Rie ◦ Rif

e(a)

(Ria ◦ Rie)∗ ◦ Ria

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 6 19

slide-27
SLIDE 27

Relational Semantics

Atoms = 2T

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 7 19

slide-28
SLIDE 28

Relational Semantics

Atoms = 2T

α0p0α1p1 · · · αn−1pn−1αn αi ∈ Atoms

pi ∈ Σ

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 7 19

slide-29
SLIDE 29

Relational Semantics

Atoms = 2T

α0p0α1p1 · · · αn−1pn−1αn αi ∈ Atoms

pi ∈ Σ L ⋄ K = {wαx : wα ∈ L, αx ∈ K} L(n) = L ⋄ · · · ⋄ L

  • n times

L(∗) =

  • n∈N

L(n)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 7 19

slide-30
SLIDE 30

Language semantics

e

e

t ∈ T

{α ∈ Atoms : t ∈ α}

a + b

a ∪ b

ab

a ∩ b

a Atoms \ a p ∈ Σ

{αpβ : α, β ∈ Atoms}

e +a f

a ⋄ e ∪ a ⋄ f

ef

e ⋄ f

e(a)

(a ⋄ e)(∗) ⋄ a

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 8 19

slide-31
SLIDE 31

Decision Procedure

Theorem e = f ⇐ ⇒ ∀i. Rie = Rif

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 9 19

slide-32
SLIDE 32

Decision Procedure

Theorem e = f ⇐ ⇒ ∀i. Rie = Rif

How to check e = f:

1 Create automata that accept e and f

[Thompson 1968]

2 Check automata for bisimilarity

[Hopcroft and Karp 1971; Tarjan 1975]

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 9 19

slide-33
SLIDE 33

Decision Procedure

Theorem e = f ⇐ ⇒ ∀i. Rie = Rif

How to check e = f:

1 Create automata that accept e and f

[Thompson 1968]

2 Check automata for bisimilarity

[Hopcroft and Karp 1971; Tarjan 1975]

Decidability

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 9 19

slide-34
SLIDE 34

Axiomatization

slide-35
SLIDE 35

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-36
SLIDE 36

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-37
SLIDE 37

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-38
SLIDE 38

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0 ≡ 0 +a ae

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-39
SLIDE 39

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0 ≡ 0 +a ae ≡ 0e +a ae

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-40
SLIDE 40

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0 ≡ 0 +a ae ≡ 0e +a ae ≡ aae +a ae

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-41
SLIDE 41

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0 ≡ 0 +a ae ≡ 0e +a ae ≡ aae +a ae ≡ ae +a ae

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-42
SLIDE 42

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0 ≡ 0 +a ae ≡ 0e +a ae ≡ aae +a ae ≡ ae +a ae ≡ ae

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-43
SLIDE 43

Axiomatization: if-then-else

e +a e ≡ e e +a f ≡ f +a e e +a f ≡ ae +a f aa ≡ 0 0e ≡ 0

Example if a then e else assert false = e +a 0 ≡ ae +a 0 ≡ 0 +a ae ≡ 0e +a ae ≡ aae +a ae ≡ ae +a ae ≡ ae = assert a; e

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 10 19

slide-44
SLIDE 44

Axiomatization: while

e ≡ fe +a g e ≡ f(a)g

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 11 19

slide-45
SLIDE 45

Axiomatization: while

e ≡ fe +a g e ≡ f(a)g Allows to derive 1 ≡ 1(1), i.e.,

while true do assert true ≡ assert true

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 11 19

slide-46
SLIDE 46

Axiomatization: while

e ≡ fe +a g f is productive e ≡ f(a)g

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 12 19

slide-47
SLIDE 47

Axiomatization: while

e ≡ fe +a g f is productive Salomaa 1966 e ≡ f(a)g

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 12 19

slide-48
SLIDE 48

Axiomatization: while

e ≡ fe +a g f is productive e ≡ f(a)g e(a) ≡ eea +a 1

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 12 19

slide-49
SLIDE 49

Axiomatization: while

e ≡ fe +a g f is productive e ≡ f(a)g e(a) ≡ eea +a 1

(e +a 1)(b) ≡ (ae)(b)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 12 19

slide-50
SLIDE 50

Axiomatization: while

e ≡ fe +a g f is productive e ≡ f(a)g e(a) ≡ eea +a 1

(e +a 1)(b) ≡ (ae)(b) Lemma

For every e, there exists a productive ˆ e such that e(b) ≡ ˆ e(b).

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 12 19

slide-51
SLIDE 51

Axiomatization: while

e ≡ fe +a g f is productive e ≡ f(a)g e(a) ≡ eea +a 1

(e +a 1)(b) ≡ (ae)(b) Lemma

For every e, there exists a productive ˆ e such that e(b) ≡ ˆ e(b).

Lemma

e(a) ≡ e(a)a e(a) ≡ (ae)(a) e(ab)e(b) ≡ e(b)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 12 19

slide-52
SLIDE 52

Axioms versus semantics

Theorem (Soundness)

If e ≡ f, then e = f.

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 13 19

slide-53
SLIDE 53

Axioms versus semantics

Theorem (Soundness)

If e ≡ f, then e = f. How about the converse?

1 A → S(A) with e ≡ S(Ae). 2 If A ∼ A′, then S(A) ≡ S(A′).

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 13 19

slide-54
SLIDE 54

Axioms versus semantics

Theorem (Soundness)

If e ≡ f, then e = f. How about the converse?

1 A → S(A) with e ≡ S(Ae). 2 If A ∼ A′, then S(A) ≡ S(A′).

e = f = ⇒ L(Ae) = L(Af) = ⇒ Ae ∼ Af = ⇒ S(Ae) ≡ S(Af) = ⇒ e ≡ f

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 13 19

slide-55
SLIDE 55

Axioms versus semantics

Theorem (Soundness)

If e ≡ f, then e = f.

Theorem (Completeness)

If e = f, then e ≡ f. How about the converse?

1 A → S(A) with e ≡ S(Ae). 2 If A ∼ A′, then S(A) ≡ S(A′).

e = f = ⇒ L(Ae) = L(Af) = ⇒ Ae ∼ Af = ⇒ S(Ae) ≡ S(Af) = ⇒ e ≡ f

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 13 19

slide-56
SLIDE 56

Axioms versus semantics

Theorem (Soundness)

If e ≡ f, then e = f.

Theorem (Completeness)

If e = f, then e ≡ f.

Axiomatization

How about the converse?

1 A → S(A) with e ≡ S(Ae). 2 If A ∼ A′, then S(A) ≡ S(A′).

e = f = ⇒ L(Ae) = L(Af) = ⇒ Ae ∼ Af = ⇒ S(Ae) ≡ S(Af) = ⇒ e ≡ f

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 13 19

slide-57
SLIDE 57

Kleene Theorem

slide-58
SLIDE 58

Automata model

s1 s2 α β/p γ/q

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 14 19

slide-59
SLIDE 59

Automata model

s1 s2 α β/p γ/q

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 14 19

slide-60
SLIDE 60

Automata model

s1 s2 α β/p γ/q

βp

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 14 19

slide-61
SLIDE 61

Automata model

s1 s2 α β/p γ/q

βpγq

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 14 19

slide-62
SLIDE 62

Automata model

s1 s2 α β/p γ/q

βpγqα ∈ L(s1)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 14 19

slide-63
SLIDE 63

Automata model

s1 s2 α β/p γ/q

βpγqα ∈ L(s1) (X, δ : X → (2 + Σ × X)Atoms)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 14 19

slide-64
SLIDE 64

Kleene Theorem: expressions to automata

Xf Xg

ιf

α / p β/q γ β

ιg

α/r β/s η α

e = f +a g

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 15 19

slide-65
SLIDE 65

Kleene Theorem: expressions to automata

Xf Xg

ιf

α / p β/q γ β

ιg

α/r β/s η α

ιe

α/p β/s γ, η

e = f +a g

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 15 19

slide-66
SLIDE 66

Kleene Theorem: expressions to automata

Xf Xg

ιf

α / p β/q γ β

ιg

α/r β/s η α

ιe

α/p β/s γ, η

e = f +a g

Xf Xg

ιf

α/p γ, η β

ιg

β/r γ/s η α

e = fg

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 15 19

slide-67
SLIDE 67

Kleene Theorem: expressions to automata

Xf Xg

ιf

α / p β/q γ β

ιg

α/r β/s η α

ιe

α/p β/s γ, η

e = f +a g

Xf Xg

ιf

α/p γ, η β

ιg

β/r γ/s η α

ιe

α/p γ/s η β /r

e = fg

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 15 19

slide-68
SLIDE 68

Kleene Theorem: expressions to automata

Xf Xg

ιf

α / p β/q γ β

ιg

α/r β/s η α

ιe

α/p β/s γ, η

e = f +a g

Xf Xg

ιf

α/p γ, η β

ιg

β/r γ/s η α

ιe

α/p γ/s η β /r

e = fg

Xf

ιf

β/p γ β α/q

e = f(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 15 19

slide-69
SLIDE 69

Kleene Theorem: expressions to automata

Xf Xg

ιf

α / p β/q γ β

ιg

α/r β/s η α

ιe

α/p β/s γ, η

e = f +a g

Xf Xg

ιf

α/p γ, η β

ιg

β/r γ/s η α

ιe

α/p γ/s η β /r

e = fg

Xf

ιf

β/p γ β α/q

ιe

β /p α β/p

e = f(a)

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 15 19

slide-70
SLIDE 70

Kleene Theorem: automata to expressions

From [Kozen and Tseng 2008]: α0 + α3 α1 + α3 α2 + α3 α1/p01 α

2

/p

2

α0/p10 α2 / p12 α

1

/p

2 1

α0 / p20

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 16 19

slide-71
SLIDE 71

Kleene Theorem: automata to expressions

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 17 19

slide-72
SLIDE 72

Kleene Theorem: automata to expressions

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 17 19

slide-73
SLIDE 73

Kleene Theorem: automata to expressions

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 17 19

slide-74
SLIDE 74

Kleene Theorem: automata to expressions

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 17 19

slide-75
SLIDE 75

Kleene Theorem: automata to expressions

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 17 19

slide-76
SLIDE 76

Kleene Theorem

Theorem

Let L be a language of guarded strings. The following are equivalent:

1 L = e for some e. 2 L is accepted by a well-nested and finite automaton A.

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 18 19

slide-77
SLIDE 77

Kleene Theorem

Theorem

Let L be a language of guarded strings. The following are equivalent:

1 L = e for some e. 2 L is accepted by a well-nested and finite automaton A.

Both conversions are constructive. Automata are linear in size of expression. Side-conditions for completeness also hold.

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 18 19

slide-78
SLIDE 78

Kleene Theorem

Theorem

Let L be a language of guarded strings. The following are equivalent:

1 L = e for some e. 2 L is accepted by a well-nested and finite automaton A.

Both conversions are constructive. Automata are linear in size of expression. Side-conditions for completeness also hold.

Kleene Theorem

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 18 19

slide-79
SLIDE 79

Further work

Coalgebraic perspective, coequations Instantiation framework; hypotheses Fully algebraic axiomatization

  • S. Smolka, N. Foster, J. Hsu, T. Kapp´

e, D. Kozen, A. Silva Guarded Kleene Algebra with Tests POPL 2020 19 19

slide-80
SLIDE 80

Laurie J. Hendren (1958–2019)

https://kap.pe/slides https://arxiv.org/abs/1907.05920