Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.