Concurrent Kleene Algebra: Free Model and Completeness e 1 Paul - - PowerPoint PPT Presentation

concurrent kleene algebra free model and completeness
SMART_READER_LITE
LIVE PREVIEW

Concurrent Kleene Algebra: Free Model and Completeness e 1 Paul - - PowerPoint PPT Presentation

Concurrent Kleene Algebra: Free Model and Completeness e 1 Paul Brunet 1 Alexandra Silva 1 Fabio Zanasi 1 Tobias Kapp 1 University College London Brouwer Seminar T. Kapp e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free


slide-1
SLIDE 1

Concurrent Kleene Algebra: Free Model and Completeness

Tobias Kapp´ e1 Paul Brunet1 Alexandra Silva1 Fabio Zanasi1

1University College London

Brouwer Seminar

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 1 21
slide-2
SLIDE 2

Introduction

Kleene Algebra models program flow. abort (0) and skip (1) atomic actions (a, b, . . . ) non-deterministic choice (+) sequential composition (·) indefinite repetition (∗)

(e + f)∗ ≡KA e∗ · (f · e∗)∗

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 2 21
slide-3
SLIDE 3

Introduction

Thread 1 Thread 2 a c b d How do we model concurrent composition?

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 3 21
slide-4
SLIDE 4

Introduction

Thread 1 Thread 2 a c b d

  • abcd+acbd+···?

Interleaving is a stop-gap: concurrency information lacking from traces.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 3 21
slide-5
SLIDE 5

Introduction

Thread 1 Thread 2 a c b d

  • (a·b)(c·d)

Concurrent KA1 adds parallel composition ()

1Hoare, M¨
  • ller, Struth, and Wehrman 2009.
  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 3 21
slide-6
SLIDE 6

Introduction

KA is well-studied: Decision procedures [Hopcroft and Karp 1971; Bonchi and Pous 2013] Automata, coalgebra [Kleene 1956; Brzozowski 1964; Silva 2010] Free model, completeness [Salomaa 1966; Conway 1971; Kozen 1994]

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 4 21
slide-7
SLIDE 7

Introduction

KA is well-studied: Decision procedures [Hopcroft and Karp 1971; Bonchi and Pous 2013] Automata, coalgebra [Kleene 1956; Brzozowski 1964; Silva 2010] Free model, completeness [Salomaa 1966; Conway 1971; Kozen 1994] CKA is a work in progress: Decision procedures [Brunet, Pous, and Struth 2017] Automata [Lodaya and Weil 2000; Jipsen and Moshier 2016] Free model, completeness [Gischer 1988; Laurence and Struth 2014]

See also [K., Brunet, Luttik, Silva, and Zanasi 2017].

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 4 21
slide-8
SLIDE 8

Introduction

Theorem (Kozen 1994)

The axioms for KA are complete for equivalence: e ≡KA f ⇐

⇒ eKA = fKA

−KA is the regular language interpretation of e.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 5 21
slide-9
SLIDE 9

Introduction

Theorem (Kozen 1994)

The axioms for KA are complete for equivalence: e ≡KA f ⇐

⇒ eKA = fKA

−KA is the regular language interpretation of e.

Question

Can we find axioms for CKA that are complete for equivalence? That is, e ≡CKA f

?

⇐ ⇒ eCKA = fCKA

−CKA is a generalized regular language interpretation of e.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 5 21
slide-10
SLIDE 10

Caveat auditor

Completeness for CKA is also shown in [Laurence and Struth 2017]; c.f.

https://arxiv.org/abs/1705.05896

Our method differs, because it. . . . . . is fully syntactic . . . uses fixpoints instead of congruences . . . is explicitly constructive We do owe part of our method to op. cit.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 6 21
slide-11
SLIDE 11

Preliminaries

Pomset: “word with parallelism” a · (b c) · d = a b c d

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 7 21
slide-12
SLIDE 12

Preliminaries

Pomset: “word with parallelism” a · (b c) · d = a b c d Pomset language: set of pomsets

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 7 21
slide-13
SLIDE 13

Preliminaries

Pomset: “word with parallelism” a · (b c) · d = a b c d Pomset language: set of pomsets Composition lifts: U · V = {U · V : U ∈ U, V ∈ V} U V = {U V : U ∈ U, V ∈ V}

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 7 21
slide-14
SLIDE 14

Preliminaries

Pomset: “word with parallelism” a · (b c) · d = a b c d Pomset language: set of pomsets Composition lifts: U · V = {U · V : U ∈ U, V ∈ V} U V = {U V : U ∈ U, V ∈ V} Kleene star: U∗ =

n<ω Un

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 7 21
slide-15
SLIDE 15

Preliminaries

T is the set generated by the grammar

e, f ::= 0 | 1 | a ∈ Σ | e + f | e · f | e f | e∗

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-16
SLIDE 16

Preliminaries

T is the set generated by the grammar

e, f ::= 0 | 1 | a ∈ Σ | e + f | e · f | e f | e∗ BKA semantics is given by −BKA : T → 2PomΣ.

0BKA = ∅ e + fBKA = eBKA ∪ fBKA e∗BKA = e∗

BKA

1BKA = {1} e · fBKA = eBKA · fBKA aBKA = {a} e fBKA = eBKA fBKA

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-17
SLIDE 17

Preliminaries

Axioms for BKA : e + 0 ≡BKA e e · 1 ≡BKA e ≡BKA 1 · e e · 0 ≡BKA 0 ≡BKA 0 · e e + e ≡BKA e e + f ≡BKA f + e e + (f + g) ≡BKA (f + g) + h e · (f · g) ≡BKA (e · f) · g e · (f + g) ≡BKA e · f + e · h

(e + f) · g ≡BKA e · g + f · g

1 + e · e∗ ≡BKA e∗ e · f + g ≦BKA f =

⇒ e∗ · g ≦BKA f

e f ≡BKA f e e 1 ≡BKA e e 0 ≡BKA 0 e (f g) ≡BKA (e f) g e (f + g) ≡BKA e f + e g

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-18
SLIDE 18

Preliminaries

Axioms for BKA : e + 0 ≡BKA e e · 1 ≡BKA e ≡BKA 1 · e e · 0 ≡BKA 0 ≡BKA 0 · e e + e ≡BKA e e + f ≡BKA f + e e + (f + g) ≡BKA (f + g) + h e · (f · g) ≡BKA (e · f) · g e · (f + g) ≡BKA e · f + e · h

(e + f) · g ≡BKA e · g + f · g

1 + e · e∗ ≡BKA e∗ e · f + g ≦BKA f =

⇒ e∗ · g ≦BKA f

e f ≡BKA f e e 1 ≡BKA e e 0 ≡BKA 0 e (f g) ≡BKA (e f) g e (f + g) ≡BKA e f + e g

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-19
SLIDE 19

Preliminaries

Axioms for BKA : e + 0 ≡BKA e e · 1 ≡BKA e ≡BKA 1 · e e · 0 ≡BKA 0 ≡BKA 0 · e e + e ≡BKA e e + f ≡BKA f + e e + (f + g) ≡BKA (f + g) + h e · (f · g) ≡BKA (e · f) · g e · (f + g) ≡BKA e · f + e · h

(e + f) · g ≡BKA e · g + f · g

1 + e · e∗ ≡BKA e∗ e · f + g ≦BKA f =

⇒ e∗ · g ≦BKA f

e f ≡BKA f e e 1 ≡BKA e e 0 ≡BKA 0 e (f g) ≡BKA (e f) g e (f + g) ≡BKA e f + e g

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-20
SLIDE 20

Preliminaries

Axioms for BKA : e + 0 ≡BKA e e · 1 ≡BKA e ≡BKA 1 · e e · 0 ≡BKA 0 ≡BKA 0 · e e + e ≡BKA e e + f ≡BKA f + e e + (f + g) ≡BKA (f + g) + h e · (f · g) ≡BKA (e · f) · g e · (f + g) ≡BKA e · f + e · h

(e + f) · g ≡BKA e · g + f · g

1 + e · e∗ ≡BKA e∗ e · f + g ≦BKA f =

⇒ e∗ · g ≦BKA f

e f ≡BKA f e e 1 ≡BKA e e 0 ≡BKA 0 e (f g) ≡BKA (e f) g e (f + g) ≡BKA e f + e g

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-21
SLIDE 21

Preliminaries

Axioms for BKA : e + 0 ≡BKA e e · 1 ≡BKA e ≡BKA 1 · e e · 0 ≡BKA 0 ≡BKA 0 · e e + e ≡BKA e e + f ≡BKA f + e e + (f + g) ≡BKA (f + g) + h e · (f · g) ≡BKA (e · f) · g e · (f + g) ≡BKA e · f + e · h

(e + f) · g ≡BKA e · g + f · g

1 + e · e∗ ≡BKA e∗ e · f + g ≦BKA f =

⇒ e∗ · g ≦BKA f

e f ≡BKA f e e 1 ≡BKA e e 0 ≡BKA 0 e (f g) ≡BKA (e f) g e (f + g) ≡BKA e f + e g

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-22
SLIDE 22

Preliminaries

Theorem (Laurence and Struth 2014)

The axioms for BKA are complete for equivalence: e ≡BKA f ⇐

⇒ eBKA = fBKA

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 8 21
slide-23
SLIDE 23

Preliminaries

Pomset subsumption: a b c d

a b c d

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 9 21
slide-24
SLIDE 24

Preliminaries

Pomset subsumption: a b c d

a b c d U ⊑ V: U is “more sequential” than V

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 9 21
slide-25
SLIDE 25

Preliminaries

Pomset subsumption: a b c d

a b c d U ⊑ V: U is “more sequential” than V Closure under pomset subsumption: U↓ = {U ′ ⊑ U : U ∈ U}

U↓: all “sequentialisations” of pomsets in U.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 9 21
slide-26
SLIDE 26

Preliminaries

CKA semantics: eCKA = eBKA ↓.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 10 21
slide-27
SLIDE 27

Preliminaries

CKA semantics: eCKA = eBKA ↓. For instance

a bBKA = {a b} a bCKA = {a b, ab, ba}

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 10 21
slide-28
SLIDE 28

Preliminaries

CKA semantics: eCKA = eBKA ↓. For instance

a bBKA = {a b} a bCKA = {a b, ab, ba}

Axioms to build ≡CKA: all axioms for ≡BKA, as well as the exchange law:

(e f) · (g h) ≦CKA (e · g) (f · h)

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 10 21
slide-29
SLIDE 29

Preliminaries

CKA semantics: eCKA = eBKA ↓. For instance

a bBKA = {a b} a bCKA = {a b, ab, ba}

Axioms to build ≡CKA: all axioms for ≡BKA, as well as the exchange law:

(e f) · (g h) ≦CKA (e · g) (f · h) Lemma (Hoare, M¨

  • ller, Struth, and Wehrman 2009)

The axioms of CKA are sound for equivalence, i.e., e ≡CKA f =

⇒ eCKA = fCKA

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 10 21
slide-30
SLIDE 30

Preliminaries

Theorem (Kozen 1994)

Let M be an n-by-n matrix over T, and b an n-dimensional vector over T. The inequation M · x + b ≦KA x admits a unique least solution (with respect to ≦KA).

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 11 21
slide-31
SLIDE 31

Preliminaries

Theorem (Kozen 1994)

Let M be an n-by-n matrix over T, and b an n-dimensional vector over T. The inequation M · x + b ≦KA x admits a unique least solution (with respect to ≦KA). This “fixpoint” can be constructed fully syntactically.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 11 21
slide-32
SLIDE 32

Preliminaries

Theorem (Kozen 1994)

Let M be an n-by-n matrix over T, and b an n-dimensional vector over T. The inequation M · x + b ≦KA x admits a unique least solution (with respect to ≦KA). This “fixpoint” can be constructed fully syntactically. The same works for BKA and CKA.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 11 21
slide-33
SLIDE 33

Preliminaries

Theorem (Kozen 1994)

Let M be an n-by-n matrix over T, and b an n-dimensional vector over T. The inequation M · x + b ≦KA x admits a unique least solution (with respect to ≦KA). This “fixpoint” can be constructed fully syntactically. The same works for BKA and CKA. In fact, the solution is the same in both systems!

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 11 21
slide-34
SLIDE 34

Preliminaries

Theorem (Kozen 1994)

Let M be an n-by-n matrix over T, and b an n-dimensional vector over T. The inequation M · x + b ≦KA x admits a unique least solution (with respect to ≦KA). This “fixpoint” can be constructed fully syntactically. The same works for BKA and CKA. In fact, the solution is the same in both systems! We use this as a device to find specific terms later on.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 11 21
slide-35
SLIDE 35

Closure

Definition

Let e ∈ T; a closure of e is a term e↓ such that

1 e↓ ≡CKA e 2 eCKA = e↓BKA

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 12 21
slide-36
SLIDE 36

Closure

Definition

Let e ∈ T; a closure of e is a term e↓ such that

1 e↓ ≡CKA e 2 eCKA = e↓BKA

Lemma (Laurence and Struth 2017)

If every term e has a closure e↓, then eCKA = fCKA implies e ≡CKA f.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 12 21
slide-37
SLIDE 37

Closure

Definition

Let e ∈ T; a closure of e is a term e↓ such that

1 e↓ ≡CKA e 2 eCKA = e↓BKA

Lemma (Laurence and Struth 2017)

If every term e has a closure e↓, then eCKA = fCKA implies e ≡CKA f.

Proof.

Observe that e↓BKA = f↓BKA, and therefore e ≡CKA e↓ ≡BKA f↓ ≡CKA f.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 12 21
slide-38
SLIDE 38

Closure

Lemma

If e, f have closures e↓ and f↓ respectively, then

1 e↓ + f↓ is a closure of e + f 2 e↓ · f↓ is a closure of e · f 3 e↓∗ is a closure of e∗

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 13 21
slide-39
SLIDE 39

Closure

Lemma

If e, f have closures e↓ and f↓ respectively, then

1 e↓ + f↓ is a closure of e + f 2 e↓ · f↓ is a closure of e · f 3 e↓∗ is a closure of e∗

One case remains: parallel composition.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 13 21
slide-40
SLIDE 40

Closure

Lemma

If e, f have closures e↓ and f↓ respectively, then

1 e↓ + f↓ is a closure of e + f 2 e↓ · f↓ is a closure of e · f 3 e↓∗ is a closure of e∗

One case remains: parallel composition. Induction hypothesis: for e ∈ T, we assume that: If f is a strict subterm of e, we can construct f↓. If |f| < |e| we can construct f↓.2

2|e| is the nesting level of e w.r.t.
  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 13 21
slide-41
SLIDE 41

Closure

Sketch: given e f, apply exchange law syntactically, “in the limit”.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 14 21
slide-42
SLIDE 42

Closure

Sketch: given e f, apply exchange law syntactically, “in the limit”. For instance: if e = a · b and f = c · d:

(a c) · (b d) ≦CKA e f

(e = a • b, f = c • d)

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 14 21
slide-43
SLIDE 43

Closure

Sketch: given e f, apply exchange law syntactically, “in the limit”. For instance: if e = a · b and f = c · d:

(a c) · (b d) ≦CKA e f

(e = a • b, f = c • d)

(a 1) · (b (c · d)) ≦CKA e f

(e = a • b, f = 1 • c · d)

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 14 21
slide-44
SLIDE 44

Closure

Sketch: given e f, apply exchange law syntactically, “in the limit”. For instance: if e = a · b and f = c · d:

(a c) · (b d) ≦CKA e f

(e = a • b, f = c • d)

(a 1) · (b (c · d)) ≦CKA e f

(e = a • b, f = 1 • c · d)

(1 c) · ((a · b) d) ≦CKA e f

(e = 1 • a · b, f = c • d) . . .

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 14 21
slide-45
SLIDE 45

Closure

Sketch: given e f, apply exchange law syntactically, “in the limit”. For instance: if e = a · b and f = c · d:

(a c) · (b d) ≦CKA e f

(e = a • b, f = c • d)

(a 1) · (b (c · d)) ≦CKA e f

(e = a • b, f = 1 • c · d)

(1 c) · ((a · b) d) ≦CKA e f

(e = 1 • a · b, f = c • d) . . . Goal: find enough of these terms to cover all pomsets in e fCKA.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 14 21
slide-46
SLIDE 46

Closure

Obstacles to overcome: How to split terms e and f into heads and tails?

❘ ❘

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 15 21
slide-47
SLIDE 47

Closure

Obstacles to overcome: How to split terms e and f into heads and tails?

What to do about recursion? For instance,

❘ (e f) · (e∗ f ∗) ≦CKA e∗ f ∗

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 15 21
slide-48
SLIDE 48

Closure

Obstacles to overcome: How to split terms e and f into heads and tails?

❘ splicing relations

What to do about recursion? For instance,

❘ (e f) · (e∗ f ∗) ≦CKA e∗ f ∗

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 15 21
slide-49
SLIDE 49

Closure

Obstacles to overcome: How to split terms e and f into heads and tails?

❘ splicing relations

What to do about recursion? For instance,

❘ fixpoints of inequations (e f) · (e∗ f ∗) ≦CKA e∗ f ∗

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 15 21
slide-50
SLIDE 50

Closure

Definition

Let e ∈ T. We define ∇e ⊆ T × T as the smallest relation such that 1 ∇1 1 a ∇a 1 1 ∇a a 1 ∇e∗ 1

ℓ ∇e r ℓ ∇e+f r ℓ ∇f r ℓ ∇e+f r ℓ ∇e r ℓ ∇e·f r · f ℓ ∇f r

e · ℓ ∇e·f r

ℓ0 ∇e r0 ℓ1 ∇f r1 ℓ0 ℓ1 ∇ef r0 r1 ℓ ∇e r

e∗ · ℓ ∇e∗ r · e∗

Lemma

Let e ∈ T and U · V ∈ eWCKA; there exist ℓ ∇e r such that U ∈ ℓCKA and V ∈ rCKA.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 16 21
slide-51
SLIDE 51

Closure

Suppose that for all g, h ∈ T, we have that Xgh is a closure of g h. Then we find e f +

  • ℓe ∇e re

ℓf ∇f rf

(ℓe ℓf) · (re rf) ≦CKA Xef

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 17 21
slide-52
SLIDE 52

Closure

Suppose that for all g, h ∈ T, we have that Xgh is a closure of g h. Then we find e f +

  • ℓe ∇e re

ℓf ∇f rf

(ℓe ℓf) · Xrerf ≦CKA Xef

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 17 21
slide-53
SLIDE 53

Closure

Suppose that for all g, h ∈ T, we have that Xgh is a closure of g h. Then we find e f +

  • ℓe ∇e re

ℓf ∇f rf

(ℓe ℓf) · Xrerf ≦CKA Xef

For Xrerf , we find another inequation, et cetera. . .

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 17 21
slide-54
SLIDE 54

Closure

Suppose that for all g, h ∈ T, we have that Xgh is a closure of g h. Then we find e f +

  • ℓe ∇e re

ℓf ∇f rf

(ℓe ℓf) · Xrerf ≦CKA Xef

For Xrerf , we find another inequation, et cetera. . .

Lemma

Continuing this, we get a finite system of inequations M, bef.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 17 21
slide-55
SLIDE 55

Closure

Theorem

Let e ⊗ f be the least solution to Xef in M,

  • bef. Then the following hold:

1 e ⊗ f ≡CKA e f 2 e ⊗ fBKA = e fCKA

In other words, e ⊗ f is a closure of e f.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 18 21
slide-56
SLIDE 56

Closure

Theorem

Let e ⊗ f be the least solution to Xef in M,

  • bef. Then the following hold:

1 e ⊗ f ≡CKA e f 2 e ⊗ fBKA = e fCKA

In other words, e ⊗ f is a closure of e f.

Theorem

If e ∈ T, then we can compute a term e↓ that is a closure of e.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 18 21
slide-57
SLIDE 57

Closure

Theorem

Let e ⊗ f be the least solution to Xef in M,

  • bef. Then the following hold:

1 e ⊗ f ≡CKA e f 2 e ⊗ fBKA = e fCKA

In other words, e ⊗ f is a closure of e f.

Theorem

If e ∈ T, then we can compute a term e↓ that is a closure of e.

Corollary

Let e, f ∈ T be such that eCKA = fCKA; then e ≡CKA f.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 18 21
slide-58
SLIDE 58

Conclusion

Axiomatised equality of closed, series-rational pomset languages. Results establishes these as the carrier of the free CKA. Extends half of earlier Kleene theorem: terms to pomset automata. We also obtain a novel (but inefficient) decision procedure.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 19 21
slide-59
SLIDE 59

Further work

Explore coalgebraic perspective:

Efficient equivalence checking through bisimulation? Can completeness be shown coalgebraically?

Add “parallel star” operator — closure method does not apply. Endgame: lift results to KAT, then NetKAT.

  • T. Kapp´
e, P . Brunet, A. Silva, F. Zanasi Concurrent Kleene Algebra: Free Model and Completeness Brouwer Seminar 20 21
slide-60
SLIDE 60

Thank you for your attention

CoNeCo

Implementation: https://doi.org/10.5281/zenodo.926651. Draft paper: https://arxiv.org/abs/1710.02787.