1 / 60

Representation of Kleene Algebra with Tests

Representation of Kleene Algebra with Tests. Dexter Kozen Cornell University. Kleene Algebra (KA) is the algebra of regular expressions. pq + qp p*q {pq,qp} {q,pq,p 2 q,p 3 q, …}

ford
Download Presentation

Representation of Kleene Algebra with Tests

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Representation ofKleene Algebra with Tests Dexter Kozen Cornell University

  2. Kleene Algebra (KA)is the algebra of regular expressions pq + qp p*q {pq,qp} {q,pq,p2q,p3q, …} (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} p p q q q p p,q q p 0 1 0 1 0 1

  3. Standard Interpretation Regular sets over  A+B = A  B AB = {xy | x  A, y  B} A* = Un0 An = A0 A1 A2 ... 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 • = Un0 Rn = 1  R  R2 R3 • 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. def x  y  x + y = y Axioms of KA • K is an idempotent semiring under +, ·, 0, 1 • (p + q) + r = p + (q + r) (pq)r = p(qr) • p + q = q + p p1 = 1p = p • p + p = p p0 = 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

  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 • a11x1 + ... + an1xn + b1 x1 • . • . • . • an1x1 + ... + annxn + bn xn • has a unique least solution

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

  11. Some Useful Properties 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

  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 KAon generators  • p  q as regular sets •  • p = q is a consequence of the KA axioms • KA iscompleteover relational models • Eq(REL) = Eq(KA) = Eq(Reg)

  14. Matrices over a KA a b c d e f g h a+e b+f c+g d+h def + = ae+bg af+bh ce+dg cf+dh a b c d e f g h · def = 1 0 0 1 0 0 0 0 def def = 0 = 1 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 = b d a c

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

  17. Solution of Linear Inequalities • a11x1 + ... + an1xn + b1 x1 • . • . • . • an1x1 + ... + annxn + bn xn • a11 ... an1 • . • . +  • . • an1 ... ann x1 . . . xn b1 . . . bn x1 . . . xn

  18. Shortest PathsThe min,+ algebra R+ {} r + s = min r,s rs = r + s r* = 0 0 =  1 = 0  =  .9 1.4 3.2 * 0 1.4 2.3 0 .9   0 0 1.4 3.2 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. Kleene Algebra with Tests (KAT) • (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

  21. Kleene Algebra with Tests (KAT) • +, ·, 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

  22. Models • Relational models • K = binary relations on a set X • B = subsets of the identity relation • Trace models • K = sets of traces u0p0u1p1u2 … un-1pn-1un • 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 programs B atomic tests , , atoms (minimal nonzero elements) of the free Boolean algebra on generators B e.g. if B = {b1,...,b6}, then b1b2b3b4b5b6 is an atom guarded strings 0p01p12p23 n-1pn-1n A+B = A  B AB = {xy | x  A, y  B} A* = Un0 An 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} b’  b, {b}p{c}, c  c’ {b’}p{c’} Rules of Hoare Logic assignment rule {b[x/e]} x:=e {b} 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 weakening rule

  29. KAT subsumes PHL {b}p{c} modeled by bp=bpcor 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 bpc = 0  cqd = 0bpqd = 0 {bc}p{d},{bc}q{d} {c}if b then p else q{d} conditional rule bcpd = 0  bcqd = 0 c(bp+bq)d = 0 {bc}p{c} {c}while b do p{bc} while rule bcpc = 0c(bp)*b bc = 0

  32. {b1}p1{c1}, ..., {bn}pn{cn} {b}p{c} • 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)

  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 • p1 = 0  p2 = 0  ... pn = 0q = r • Theorem • KAT is complete for the Hoare theory of relational algebras • ... not for the Horn theory! • Counterexample: p  1  p2 = 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

More Related