Concurrent Kleene Algebra (CKA) was introduced by Hoare, Moeller, Struth and Wehrman in 2009 as a framework to reason about concurrent programs. We prove that the axioms for CKA with bounded parallelism are complete for the semantics proposed in the original paper; consequently, these semantics are the free model for this fragment. This result settles a conjecture of Hoare and collaborators. Moreover, the technique developed to this end allows us to establish a Kleene Theorem for CKA, extending an earlier Kleene Theorem for a fragment of CKA. ments.The notion of N-freeness for pomsets is useful for proving the lemmas to come.Definition A.1. Let U = [u] be a pomset. We say that U is N-free if there are no u 0 , u 1 , u 2 , u 3 ∈ S u such that u 0 ≤ u u 1 , u 2 ≤ u u 3 and u 0 ≤ u u 3 and no other relation between them, i.e., the graph of these elements has the shape of an N.Note that N-freeness is well-defined for pomsets, for the presence of an Nshape does not depend on the particular representative u. It is not hard to see that all series-parallel pomsets are N-free. Perhaps surprisingly, this N-freeness provides a complete characterisation of series-parallel pomsets [6].It is also useful to restrict a labelled poset to a part of its carrier, as follows.Definition A.2. Let u be a labelled poset, and let S ⊆ S u . We write u ↾ S for the restriction of u to S, i.e., labelled poset given by S u↾S = S, ≤ u↾S = ≤ u ∩ S × S, and λ u↾S (z) = λ u (z).A.1 Subsumption of empty or primitive pomsets Lemma A.2. Let u be a labelled poset such that u ⊑ 1 or 1 ⊑ u. Then u = 1.Proof. We treat the case where u ⊑ 1; the case where 1 ⊑ u is similar. Let h : 1 → u witness that u ⊑ 1. Then h is a bijection from S 1 = ∅ to S u ; accordingly, S u = ∅. But then u = 1, because the labelled poset with empty carrier is unique.Proof. First, suppose that U = 1. We then have that U = [1] and V = [v] such that u ⊑ 1 or 1 ⊑ u. By Lemma A.2, we find that v = 1 and thus V = [1] = 1.Second, suppose that U = a for some a ∈ Σ. Then U = [u] for some pomset with singleton carrier S u , with λ u (u) = a for all u ∈ S u . Since V = [v] and u ⊑ v or v ⊑ u, we find that u ≃ v by Lemma A.3. This establishes that U = V . A.2 The factorisation lemmaLemma 3.3 (Factorisation). Let U , V 0 , and V 1 be pomsets such that U is subsumed by V 0 · V 1 . Then there exist pomsets U 0 and U 1 such that:Also, if U 0 , U 1 and V are pomsets such that U 0 U 1 ⊑ V , then there exist pomsets V 0 and V 1 such that:Proof. We start with the first claim. Let U , V 0 and V 1 be as in the premise, and write U = [u], V 0 = [v 0 ] and V 1 = [v 1 ]. Without loss of generality, we can assume that v 0 and v 1 are disjoint, that S v0 ∪ S v1 = S u , and that the identity function S v0 ∪ S v1 → S u is the subsumption witnessing that u ⊑ v 0 · v 1 .We then choose u i = u ↾ vi for i ∈ 2, and claim that u 0 · u 1 = u.-For the carrier, we already know that
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 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. PreliminariesWe recall basic definitions on pomset languages, used in the semantics of CKA, which generalise languages to allow letters in words to be partially ordered. We fix a (possibly infinite) alphabet Σ. When defining sets parametrised by Σ, say S(Σ), if Σ is clear from the context we use S to refer to S(Σ). Pomsets [9,10] are labelled posets, up to isomorphism. Posets and PomsetsDefinition 2.1 (Labellet poset). A labelled poset over Σ is a tuple u = S, ≤, λ , where S is a finite set (the carrier of u), ≤ u is a partial order on S (the order of u), and λ : S → Σ is a function (the labelling of u).
The equational theory generated by all algebras of binary relations with operations of union, composition, converse and reflexive transitive closure was studied by Bernátsky, Bloom, Ésik, and Stefanescu in 1995. We reformulate some of their proofs in syntactic and elementary terms, and we provide a new algorithm to decide the corresponding theory. This algorithm is both simpler and more efficient; it relies on an alternative automata construction, that allows us to prove that the considered equational theory lies in the complexity class PSpace. Specific regular languages appear at various places in the proofs. Those proofs were made tractable by considering appropriate automata recognising those languages, and exploiting symmetries in those automata.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.