Factorization in Process Domains (Second Approach)
Tom Verhoeff
Department of Mathematics and Computing Science Eindhoven University of Technology
P.O. Box 513, 5600 MB E
INDHOVEN, The Netherlands E-mail: wstomv@win.tue.nl
March 1991, Revised June 1995
In this note we present a general theory about fac- torization in process domains.
1 Introduction
By way of introduction, consider a process domain P together with a binary relationv (refinement relation:
p v q expresses ‘q refines p’1) and a binary opera- tor k (parallel composition). We assume that hP, vi is a complete poset, in the sense that every subset has a greatest lower bound. Furthermore, we assume thatk has unit e and is commutative, associative, and (universally) u-junctive. The latter means that for process q and set of processes V we have
(u V ) k q = (u p : p ∈ V : p k q). (1) Finally, we assume that refinement is fully abstract with respect to a form of testing, that is, there exists a process d such that
pv q ≡ (∀ r : p k r w d : q k r w d). (2) One may interpret
pk r w d
1Often, pv q corresponds to ‘q is more deterministic than p’.
as ‘process p passes the test in the context of process r ’. An immediate consequence of (2) is
p = q ≡ (∀ r :: p k r w d ≡ q k r w d), (3) that is, two processes are equal if and only if they pass the same tests. It the implication from right to left that is important for full abstraction.
We are interested in the design equation
p :: pk q w r (4)
for given processes q and r . The equation arises when one has decided to implement specification r as the parallel composition of process q with some yet un- known process p. In particular, we would like to know thev-least solution to the design equation, which—if it exists—could serve as specification for p.
2 Theory
We define the reflectionvq of process q by
vq = (u p : p k q w d : p). (5) It is a proper definition because all glb’s exist. Nota- tionally, reflection binds stronger than parallel compo- sition. According to Corollary 2.3 below, the reflection of q is thev-least solution to a very particular design equation, viz. p :: pk q w d. The reflection of q can 1
also be interpreted as the severest test that q passes.
In Corollary 2.9 we shall see that the general design equation can be solved in terms of reflection and par- allel composition.
First of all we show thatvq is a solution to the de- sign equation p :: pk q w d.
2.1 Property For process q we have
vqk q w d.
Proof We derive for process q
vqk q
= { definition of reflection: (2) } (u p : p k q w d : p) k q
≡ { parallel composition is u-junctive: (1) } (u p : p k q w d : p k q)
w { property of greatest lower bound } d
The next property turns out to be a very useful charac- terization of reflection. In the remainder of this note, it will be used instead of the definition of reflection.
2.2 Property For processes p and q we have pk q w d ≡ p wvq.
Proof We derive the implication from left to right pk q w d
⇒ { property of greatest lower bound } pw (u p : p k q w d : p)
≡ { definition of reflection: (5) } pwvq
and the implication from right to left pwvq
≡ { full abstraction of refinement: (2) } (∀ r :vqk r w d : p k r w d)
⇒ { instantiation with r := q, using Prop- erty 2.1}
pk q w d
2.3 Corollary The set of solutions to the design equation p :: pk q w d is v-upward closed and the v-least solution is given byvq.
It turns out that d is the reflection of the unit e, irre- spective of which process d actually is. Note, however, that the choice of d is limited by (2) and that reflection depends on d.
2.4 Property We have
ve = d.
Proof We derive for arbitrary process r r wve
= { Property 2.2 } r k e w d
= { e is unit of parallel composition } r w d
On account of
p = q ≡ (∀ r :: r w p ≡ r w q), (6) we now inferve= d.
Reflection reverses the order.
2.5 Property For processes p and q we have p v q ≡ vpwvq.
Proof For processes p and q we derive p v q
≡ { refinement is fully abstract: (2) } (∀ r : p k r w d : q k r w d)
≡ { parallel composition is commutative } (∀ r : r k p w d : r k q w d)
≡ { Property 2.2 } (∀ r : r wvp : r wvq)
≡ { property of partial ordering } 2
vp wvq
The next property is a slight modification of Prop- erty 2.2.
2.6 Property For processes p and q we have pw q ≡ p kvq w d.
Proof We derive for processes p and q pw q
≡ { Property 2.5 }
vqwvp
≡ { Property 2.2, using commutativity of k } pkvq w d
Reflection is an involution, that is, its own inverse.
2.7 Property For process p we have
vvp = p.
Proof We derive for processes p and r r wvvp
≡ { Property 2.2 } r kvp w d
≡ { Property 2.6 } r w p
On account of (6), we now infervvp = p.
Finally, we can derive an elegant expression for the v-least solution to the design equation (4).
2.8 Theorem For processes p, q, and r we have pk q w r ≡ p wv(q kvr).
Proof For processes p, q, and r we derive pk q w r
≡ { Property 2.6 } (p k q) kvr w d
≡ { parallel composition is associative }
pk (q kvr) w d
≡ { Property 2.2 } p wv(q kvr)
2.9 Corollary The v-least solution to the design equation (4) is
v(q kvr). (7)
A common notation for thev-least solution to the de- sign equation (4) is r/q. The operator / on processes is completely characterized by the equivalence
pk q w r ≡ p w r/q. (8)
Using this notation, reflection can be expressed by
vq = d/q. It is often more convenient to manipu- late / using (8) than to manipulate the fairly awkard definition of/ in terms ofvandk.
3 Additional Results
Note that in the preceding section we have used the u-junctivity of parallel composition only once, viz.
in Property 2.1, where it is used to distribute parallel composition over the greatest lower bound of a very particular set of processes. Hence, to obtain all re- sults, in particular Theorem 2.8, it suffices to assume Property 2.1 instead of the u-junctivity of k. But u- junctivity of k cannot be denied, because it follows from Theorem 2.8:
Proof Let q be a process and V a set of processes.
We derive for process r (u V ) k q w r
≡ { Theorem 2.8 } u V wv(q kvr)
≡ { property of greatest lower bound } (∀ p : p ∈ V : p wv(q kvr))
≡ { Theorem 2.8 } (∀ p : p ∈ V : p k q w r) 3
≡ { property of greatest lower bound } (u p : p ∈ V : p k q) w r
On account of (6), we then have
pk u V = (u q : q ∈ V : p k q). (9)
Finally, we observe that, since hP, vi is self-dual (underv), it is not only a complete poset but, in fact, a complete lattice, in the sense that every subset has a greatest lower bound and a least upper bound. Ac- tually, the completeness assumption is too strong. We only used the existence of greatest lower bounds of sets like
{r : p k r w d : r},
for instance, in the definition of reflection.
4 Conclusion
We have shown that under certain conditions (espe- cially full abstraction: (2)) the design equation over a process domain has an elegant solution in terms of a reflection operator. In various domains, the reflection operator is very simple. Of course, our presentation raises new questions. These will be addressed else- where.
I would like to thank Roland Backhouse for some helpful comments on an earlier version. In particular his insistence on ‘narrower’ proofs has stimulated me.
4