Presentation is loading. Please wait.

Presentation is loading. Please wait.

Representation of Kleene Algebra with Tests Dexter Kozen Cornell University.

Similar presentations


Presentation on theme: "Representation of Kleene Algebra with Tests Dexter Kozen Cornell University."— Presentation transcript:

1 Representation of Kleene Algebra with Tests Dexter Kozen Cornell University

2 pq + qp p*q {pq,qp} {q,pq,p 2 q,p 3 q, …} (p + q)* = (p*q)*p* (pq)*p = p(qp)* {all strings over p,q} {p,pqp,pqpqp,  } (0 + 1(01*0)*1)* {multiples of 3 in binary} Kleene Algebra (KA) is the algebra of regular expressions 0 0 0 1 1 1 p p q q p,q p q p q

3 Standard Interpretation Regular sets over  A+B= A  B AB= {xy | x  A, y  B} A*= U n  0 A n = A 0  A 1  A 2 ... 1= {  } 0=  p   interpreted as {p}

4 Binary Relations R, S binary relations on a set X R+S= R  S RS= R ° S = {(u,v) |  w (u,w)  R, (w,v)  S} R*= reflexive transitive closure of R = U n  0 R n = 1  R  R 2  R 3   1= identity relation = {(u,u) | u  X} 0= 

5 Applications Automata and formal languages regular expressions Relational algebra Program logic and verification Dynamic Logic program analysis optimization Design and analysis of algorithms shortest paths connectivity

6 Conway’s Definition A Kleene algebra is any structure (K, +, ·, *, 0, 1) satisfying the same equations as the regular sets established the equational theory as the primary theory of interest—not necessarily the best choice

7 Fundamental Questions Can we axiomatize the valid equations? YES [Salomaa 66] —but not equationally [Redko 64] Can we decide if expressions are equivalent? YES, PSPACE complete [(Stock+1)Meyer 74]

8 Axioms of KA K is an idempotent semiring under +, ·, 0, 1 (p + q) + r = p + (q + r) (pq)r = p(qr) p + q = q + pp1 = 1p = p p + p = pp0 = 0p = 0 p + 0 = p p(q + r) = pq + pr (p + q)r = pr + qr p*q = least x such that q + px  x qp* = least x such that q + xp  x def x  y  x + y = y

9 This is a universal Horn axiomatization p*q = least x such that q + px  x q + p(p*q)  p*q q + px  x  p*q  x qp* = least x such that q + xp  x q + p(qp*)  qp* q + px  x  qp*  x Every system of linear inequalities a 11 x 1 +... + a n1 x n + b 1  x 1. a n1 x 1 +... + a nn x n + b n  x n has a unique least solution

10 Alternative Characterizations of * Complete semirings (quantales)  i  I p i = supremum of {p i | i  I} with respect to  *-continuity pq*r = sup pq n r infinitary same equational theory Eq(KA) = Eq(KA*) n  0

11 1 + pp* = 1 + p*p = p* p*p* = p** = p* (pq)*p = p(qp)* sliding (p*q)*p* = (p + q)* denesting px = xq  p*x = xq*bisimulation qp = 0  (p + q)* = p*q*loop distribution Some Useful Properties

12 Proof of the Sliding Rule (ab)*a  a(ba)* a + aba(ba)*= a(1 + ba(ba)*)distributivity = a(ba)*1 + pp* = p*. a + aba(ba)*  a(ba)* (ab)*a  a(ba)*q + px  x  p*q  x The reverse inequality  is symmetric.

13 Equational Completeness [K91] Reg , the KA regular sets over , is the free KA on generators  p  q as regular sets  p = q is a consequence of the KA axioms KA is complete over relational models Eq(REL) = Eq(KA) = Eq(Reg  )

14 Matrices over a KA a b c d a+e b+f c+g d+h e f g h + = def a b c d ae+bg af+bh ce+dg cf+dh e f g h · = def 1 0 0 1 0 0 1 = def = a b c d (a+bd*c)* (a+bd*c)*bd* (d+ca*b)*ca* (d+ca*b)* * = def

15 Matrices over a KA a b c d (a+bd*c)* (a+bd*c)*bd* (d+ca*b)*ca* (d+ca*b)* * = def a d c b

16 Representation of finite automata Construction of regular expressions Solution of linear equations over a KA Connectivity and shortest path algorithms Matrices over a KA

17 Solution of Linear Inequalities a 11 x 1 +... + a n1 x n + b 1  x 1. a n1 x 1 +... + a nn x n + b n  x n a 11... a n1.. + . a n1... a nn b1...bnb1...bn x1...xnx1...xn x1...xnx1...xn

18 Shortest Paths The min,+ algebra R +  {  } r + s= min r,s rs= r + s r*= 0 0=  1= 0  =  1.4.9 3.2 0 1.4 3.2  0.9   0 0 1.4 2.3  0.9   0 * =

19 Other Models Convex polyhedra [Iwano & Steiglitz 90] AB = {ax + by | x  A, y  B} A* = convex hull of A A B

20 (K, B, +, ·, *, ¯, 0, 1) (K, +, ·, *, 0, 1) is a Kleene algebra (B, +, ·, ¯, 0, 1) is a Boolean algebra B  K p,q,r,  range over K a,b,c,  range over B Kleene Algebra with Tests (KAT)

21 +, ·, 0, 1 serve double duty applied to programs, denote choice, composition, fail, and skip, resp. applied to tests, denote disjunction, conjunction, falsity, and truth, resp. these usages do not conflict! bc = b  c b + c = b  c Kleene Algebra with Tests (KAT)

22 Models Relational models K = binary relations on a set X B = subsets of the identity relation Trace models K = sets of traces u 0 p 0 u 1 p 1 u 2 … u n-1 p n-1 u n B = sets of traces of length 0 Language-theoretic models K = regular sets of guarded strings over  B = atoms of a finite free Boolean algebra

23 Guarded Strings [Kaplan 69] P atomic programsB atomic tests , ,  atoms (minimal nonzero elements) of the free Boolean algebra on generators B e.g. if B = {b 1,...,b 6 }, then b 1 b 2 b 3 b 4 b 5 b 6 is an atom guarded strings  0 p 0  1 p 1  2 p 2  3   n-1 p n-1  n A+B= A  B AB= {x  y | x   A,  y  B} A*= U n  0 A n 1= {atoms} 0= 

24 Theorem [Kozen & Smith 96] The family of regular sets of guarded strings over P,B is the free KAT on generators P,B. Corollary KAT is complete over relational models. Eq(GS) = Eq(KAT) = Eq(KAT*) = Eq(REL)

25 Matrices over a KAT The n x n matrices over a KAT (K,B) forms a KAT (K’,B’) B’ = diagonal matrices over B

26 Modeling Programs [Fischer & Ladner 79] p;q  pq if b then p else q  bp + bq while b do p  (bp)*b

27 Hoare Logic [C. A. R. Hoare 69] {b}p{c}partial correctness assertion ‘‘If b holds in the current state, and if p is executed starting in the current state, then if p halts, c will be true of the halting state.’’

28 {b}p{c}, {c}q{d} {b}pq{d} composition rule {bc}p{d}, {bc}q{d} {c}if b then p else q{d} conditional rule {bc}p{c} {c}while b do p{bc} while rule {b[x/e]} x:=e {b} assignment rule b’  b, {b}p{c}, c  c’ {b’}p{c’} weakening rule Rules of Hoare Logic

29 KAT subsumes PHL {b}p{c} modeled by bp = bpc or bpc = 0

30 {b}p{c}, {c}q{d} {b}pq{d} composition rule {bc}p{d}, {bc}q{d} {c}if b then p else q{d} conditional rule {bc}p{c} {c}while b do p{bc} while rule

31 {b}p{c}, {c}q{d} {b}pq{d} composition rule {bc}p{d}, {bc}q{d} {c}if b then p else q{d} conditional rule {bc}p{c} {c}while b do p{bc} while rule  bpc = 0  cqd = 0  bpqd = 0  bcpd = 0  bcqd = 0  c(bp+bq)d = 0  bcpc = 0  c(bp)*b bc = 0

32 Theorem These are all theorems of KAT Completeness Theorem [K 99] All relationally valid rules of the form are derivable in KAT (not so for PHL) {b 1 }p 1 {c 1 },..., {b n }p n {c n } {b}p{c}

33 Counterexample {c}if b then p else p{c} {c}p{c} is trivially unprovable in Hoare Logic, but c(bp + bp)c = 0  cpc = 0 is easily provable in KAT

34 Hoare formulas p 1 = 0  p 2 = 0 ...  p n = 0  q = r Theorem KAT is complete for the Hoare theory of relational algebras... not for the Horn theory! Counterexample: p  1  p 2 = p

35 Complexity of KAT and PHL Theorem [Cohen 94] The Hoare theory of KA (Horn formulas with premises p = 0) is PSPACE-complete Theorem [Cohen, Kozen & Smith 96] The Hoare theory of KAT is PSPACE-complete Theorem PHL is PSPACE-complete

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60


Download ppt "Representation of Kleene Algebra with Tests Dexter Kozen Cornell University."

Similar presentations


Ads by Google