Concurrent Kleene Algebra with Observations: From Hypotheses to Completeness

Concurrent Kleene Algebra (CKA) extends basic Kleene algebra with a parallel composition operator, which enables reasoning about concurrent programs. However, CKA fundamentally misses tests, which are needed to model standard programming constructs such as conditionals and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathsf {while}$$\end{document}while-loops. It turns out that integrating tests in CKA is subtle, due to their interaction with parallelism. In this paper we provide a solution in the form of Concurrent Kleene Algebra with Observations (CKAO). Our main contribution is a completeness theorem for CKAO. Our result resorts on a more general study of CKA “with hypotheses”, of which CKAO turns out to be an instance: this analysis is of independent interest, as it can be applied to extensions of CKA other than CKAO.

[1]  Pascal Weil,et al.  Series-parallel languages and the bounded-width property , 2000, Theor. Comput. Sci..

[2]  FosterNate,et al.  A Coalgebraic Decision Procedure for NetKAT , 2015 .

[3]  Alexandra Silva,et al.  Kleene Algebra with Observations , 2018, CONCUR.

[4]  Justin Hsu,et al.  Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time , 2019, Proc. ACM Program. Lang..

[5]  Georg Struth,et al.  On Decidability of Concurrent Kleene Algebra , 2017, CONCUR.

[6]  Dexter Kozen,et al.  Kleene Algebra with Tests and Commutativity Conditions , 1996, TACAS.

[7]  Daniel Krob,et al.  A Complete System of B-Rational Identities , 1990, ICALP.

[8]  E. Cohen Hypotheses in kleene algebra , 1993 .

[9]  Alexandra Silva,et al.  A Coalgebraic Decision Procedure for NetKAT , 2015, POPL.

[10]  Dexter Kozen,et al.  Kleene Algebra with Equations , 2014, ICALP.

[11]  Arto Salomaa,et al.  Two Complete Axiom Systems for the Algebra of Regular Events , 1966, JACM.

[12]  Cristian Prisacariu,et al.  Synchronous Kleene algebra , 2010 .

[13]  Thomas C. Bartee,et al.  Modern Applied Algebra , 1999 .

[14]  Georg Struth,et al.  Completeness Theorems for Bi-Kleene Algebras and Series-Parallel Rational Pomset Languages , 2014, RAMiCS.

[15]  Peter Jipsen,et al.  Concurrent Kleene algebra with tests and branching automata , 2016, J. Log. Algebraic Methods Program..

[16]  PousDamien,et al.  Checking NFA equivalence with bisimulations up to congruence , 2013 .

[17]  Nate Foster,et al.  NetKAT: semantic foundations for networks , 2014, POPL.

[18]  Alexandra Silva,et al.  Completeness and Incompleteness of Synchronous Kleene Algebra , 2019, MPC.

[19]  Georg Struth,et al.  Completeness Theorems for Pomset Languages and Concurrent Kleene Algebras , 2017, ArXiv.

[20]  Dexter Kozen,et al.  On the Coalgebraic Theory of Kleene Algebra with Tests , 2017 .

[21]  Damien Pous,et al.  Kleene Algebra with Hypotheses , 2019, FoSSaCS.

[22]  J. Conway Regular algebra and finite machines , 1971 .

[23]  J. Grabowski,et al.  On partial languages , 1981, Fundam. Informaticae.

[24]  Damien Pous,et al.  Checking NFA equivalence with bisimulations up to congruence , 2013, POPL.

[25]  Alexandra Silva,et al.  Concurrent Kleene Algebra: Free Model and Completeness , 2017, ESOP.

[26]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[27]  Jay L. Gischer,et al.  The Equational Theory of Pomsets , 1988, Theor. Comput. Sci..

[28]  Dexter Kozen On the Complexity of Reasoning in Kleene Algebra , 2002, Inf. Comput..

[29]  Georg Struth,et al.  Concurrent Kleene Algebra , 2009, CONCUR.

[30]  C. Kuratowski Sur l'opération Ā de l'Analysis Situs , 1922 .