Equivalence semantics for concurrency: comparison and application

Vashti Christina Galpin

Doctor of Philosophy University of Edinburgh

Abstract

Since the development of CCS and other process algebras, many extensions to these process algebras have been proposed to model different aspects of concurrent computation. It is important both theoretically and practically to understand the relationships between these process algebras and between the semantic equivalences that are defined for them.

In this thesis, I investigate the comparison of semantic equivalences based on bisimulation which are defined for process algebras whose behaviours are described by structured operational semantics, and expressed as labelled transition systems. I first consider a hierarchy of bisimulations for extensions to CCS, using both existing and new results to describe the relationships between their equivalences with respect to pure CCS terms. I then consider a more general approach to comparison by investigating labelled transition systems with structured labels. I define bisimulation homomorphisms between labelled transition systems with different labels, and show how these can be used to compare equivalences.

Next, I work in the meta-theory of process algebras and consider a new format that is an extension of the tyft/tyxt format for transition system specifications. This format treats labels syntactically instead of schematically, and hence I use a definition of bisimulation which requires equivalence between labels instead of exact matching. I show that standard results such as congruence and conservative extension hold for the new format.

I then investigate how comparison of equivalences can be approached through the notion of extension to transition system specifications. This leads to the main results of this study which show how in a very general fashion the bisimulations defined for two different process algebras can be compared over a subset of terms of the process algebras.

I also consider what implications the conditions which are required to obtain these results have for modelling process algebras, and show that these conditions do not impose significant limitations. Finally, I show how these results can be applied to existing process algebras. I model a number of process algebras with the extended format and derive new results from the meta-theory developed.

Acknowledgements

I would first like to thank my supervisor, Julian Bradfield, for his guidance and support through this long and at times arduous process. I would also like to thank Jane Hillston for her comments on a draft of this document.

I would like to thank Scott Hazelhurst, Ian Sanders and Conrad Mueller of the Department of Computer Science, University of the Witwatersrand, for encouraging me to pursue a doctoral degree outside of South Africa, and for providing me with working space in which to finish my thesis once I had returned to Johannesburg. I would also like to thank Conrad Mueller for introducing me to Robin Milner’s work on CCS.

Finally, I would like to thank András Salamon for his support, proofreading and frequent visits, as well as my family in South Africa and my friends in Edinburgh for their support.

I would also like to thank the following organisations for the funding which made my time at the University of Edinburgh possible.

• The Patrick and Margaret Flanagan Scholarship

• The Overseas Research Students Awards Scheme

• The Foundation for Research and Development

• The Canon Collins Educational Trust for Southern Africa

Declaration

I declare that this thesis was composed by myself and that the work contained therein is my own, except where explicitly stated otherwise in the text.

(Vashti Christina Galpin)

Table of Contents

Abstract i Acknowledgements iii Declaration iv Table of Contents v List of Figures ix List of Tables xi List of Definitions xiii List of Results xv List of Examples xvii List of Counter-Examples xviii Notation xix 1 Introduction 1

1.1 Organisation of the thesis . . . . . . . . . . . . . . . . . . . . . . 2 2 Background and motivation 4

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 True concurrency/non-interleaving equivalences . . . . . . 6 2.2.1.1 Causal approaches . . . . . . . . . . . . . . . . . 7

2.2.1.2 Distributed/location-based equivalences . . . . . 8 2.2.2 Equivalences involving duration or time . . . . . . . . . . . 13 2.2.3 Equivalences based on with priorities . . . . . . . . . . . . 18 2.2.4 Probabilistic equivalences . . . . . . . . . . . . . . . . . . 18 2.2.5 Equivalences based on proved transitions . . . . . . . . . . 19 2.2.6 Other approaches . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.7 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.8 Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.3 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 Two approaches to comparison 34 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Comparison over pure CCS terms . . . . . . . . . . . . . . . . . . 34 3.3 A syntax-free approach to comparison . . . . . . . . . . . . . . . . 43

3.3.1 A general model of transition systems . . . . . . . . . . . . 43 3.3.2 Bisimulation homomorphisms . . . . . . . . . . . . . . . . 47 3.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 A new format 61 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.2.1 Many-sorted signatures and algebras . . . . . . . . . . . . 62 4.2.2 Labelled transition systems . . . . . . . . . . . . . . . . . 64

4.3 Extended transition system specifications . . . . . . . . . . . . . . 65 4.3.1 Extended tyft/tyxt format . . . . . . . . . . . . . . . . . . 72 4.3.2 Congruence theorem . . . . . . . . . . . . . . . . . . . . . 78 4.3.3 Counter-examples . . . . . . . . . . . . . . . . . . . . . . . 84 4.3.4 Comparison with other formats . . . . . . . . . . . . . . . 93

4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5 Comparison results for the new format 97

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2 Sums of eTSSs and conservative extensions . . . . . . . . . . . . . 98

5.2.1 Counter-examples . . . . . . . . . . . . . . . . . . . . . . . 103 5.2.2 Related work . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.3 Extensions up to bisimulation . . . . . . . . . . . . . . . . . . . . 105

5.3.1 Counter-examples . . . . . . . . . . . . . . . . . . . . . . . 115 5.3.1.1 Refining extensions . . . . . . . . . . . . . . . . . 116 5.3.1.2 Abstracting extensions . . . . . . . . . . . . . . . 118

5.4 A different approach to extensions up to bisimulation . . . . . . . 123

5.4.1 Counter-examples . . . . . . . . . . . . . . . . . . . . . . . 128 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

6 Application of results 129 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.2 Implications of conditions . . . . . . . . . . . . . . . . . . . . . . 130

6.2.1 Implications of congruence compatibility . . . . . . . . . . 130 6.2.2 Sums of congruences and Σ-algebras . . . . . . . . . . . . 132

6.2.2.1 Conservativity . . . . . . . . . . . . . . . . . . . 138 6.2.2.2 Compatibility . . . . . . . . . . . . . . . . . . . . 138

6.3 Using extended tyft/tyxt format to express process algebras …. 141 6.3.1 CCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.3.2 Variants of CCS . . . . . . . . . . . . . . . . . . . . . . . . 147

6.3.2.1 CCS with locations . . . . . . . . . . . . . . . . . 149 6.3.2.2 CCS with n locations . . . . . . . . . . . . . . . 151 6.3.2.3 Multiprocessor CCS . . . . . . . . . . . . . . . . 153

6.3.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.4 Comparing two semantic equivalences . . . . . . . . . . . . . . . . 157

6.4.1 Multiprocessor CCS . . . . . . . . . . . . . . . . . . . . . 159 6.4.1.1 Definition of n multiprocessor equivalence …. 159 6.4.1.2 Expressing n multiprocessor equivalence . . . . . 159

6.4.2 An extension . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.4.2.1 Definition of pomset equivalence . . . . . . . . . 161 6.4.2.2 Expressing pomset equivalence as an extension . 162

6.4.3 A refining extension . . . . . . . . . . . . . . . . . . . . . 169 6.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

7 Conclusion and further work 173 7.1 Summary and conclusions . . . . . . . . . . . . . . . . . . . . . . 173 7.2 Further work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

A Proof of Theorem 5.3.2 178 A.1 Proof of Theorem 5.3.2 . . . . . . . . . . . . . . . . . . . . . . . . 178

B Proofs for comparison example 187 B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 B.2 Equivalence result required in Section 6.4.3 . . . . . . . . . . . . . 187 B.3 Semantic equivalence result required in Section 6.4.3 . . . . . . . . 190

Bibliography 200

List of Figures

2.1 Examples of processes which are not causally equivalent [DD90] . 8 2.2 Example of processes which are not distributed bisimulation equi-

valent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3 Example of processes which are not location bisimulation equivalent 10 2.4 Example of processes which are not local/global cause equivalent . 11 2.5 Example of processes which are not (Krishnan) distributed bisim-

ulation equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6 Example of processes which are not ST-bisimulation equivalent . . 14 2.7 Example of processes which are not (Aceto and Murphy) timed

bisimulation equivalent . . . . . . . . . . . . . . . . . . . . . . . . 15 2.8 Example of processes which are not pomset bisimulation equivalent 20 2.9 Example of processes which are not read-write bisimulation equi-

valent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.10 Example of processes which are not equated by bisimulation over

asynchronous transition systems [MN92] . . . . . . . . . . . . . . 23 2.11 Example of processes which are not multiprocessor bisimulation

equivalent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.12 Proof technique used by Gorrieri and Laneve [GL91] . . . . . . . . 27 2.13 Hierarchy of formats [Gro93] . . . . . . . . . . . . . . . . . . . . . 30

3.1 A hierarchy of equivalences for finite CCS terms . . . . . . . . . . 36 3.2 Examples of transition systems . . . . . . . . . . . . . . . . . . . 52

4.1 LTS given by term from Example 4.3.1 . . . . . . . . . . . . . . . 71 4.2 Counter-example 4.3.2 . . . . . . . . . . . . . . . . . . . . . . . . 86 4.3 Counter-example 4.3.3 . . . . . . . . . . . . . . . . . . . . . . . . 86 4.4 Counter-example 4.3.4 . . . . . . . . . . . . . . . . . . . . . . . . 87 4.5 Counter-example 4.3.5 . . . . . . . . . . . . . . . . . . . . . . . . 88 4.6 Counter-example 4.3.6 . . . . . . . . . . . . . . . . . . . . . . . . 89 4.7 Counter-example 4.3.7 . . . . . . . . . . . . . . . . . . . . . . . . 91

5.1 Example 5.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.2 Counter-example 5.2.1 . . . . . . . . . . . . . . . . . . . . . . . . 104 5.3 Counter-example 5.3.1 . . . . . . . . . . . . . . . . . . . . . . . . 116 5.4 Counter-example 5.3.2 . . . . . . . . . . . . . . . . . . . . . . . . 117 5.5 Counter-example 5.3.3 . . . . . . . . . . . . . . . . . . . . . . . . 118 5.6 Counter-example 5.3.4 . . . . . . . . . . . . . . . . . . . . . . . . 120 5.7 Counter-example 5.3.5 . . . . . . . . . . . . . . . . . . . . . . . . 121 5.8 Counter-example 5.3.6 . . . . . . . . . . . . . . . . . . . . . . . . 122 5.9 Counter-example 5.3.7 . . . . . . . . . . . . . . . . . . . . . . . . 123

List of Tables

3.1 Equivalences that form the hierarchy . . . . . . . . . . . . . . . . 35 3.2 CCS processes used for comparison . . . . . . . . . . . . . . . . . 39 3.3 Summary of relationship between equivalences . . . . . . . . . . . 40 3.4 Summary of relationship between equivalences continued . . . . . 41 3.5 Summary of relationship between equivalences continued . . . . . 42

6.1 Rules for CCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.2 Rule schemas for CCS . . . . . . . . . . . . . . . . . . . . . . . . 145 6.3 Rules for CCSGen . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.4 Rule schemas for CCSGen . . . . . . . . . . . . . . . . . . . . . . 149 6.5 Functions A_{L} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.6 Carrier sets for A_{L} . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.7 Carrier sets for A_{L_{n}} . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.8 Functions for A_{L_{n}} . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.9 Carrier sets for A_{m} . . . . . . . . . . . . . . . . . . . . . . . . . . 153 6.10 Functions for A_{m} . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 6.11 Rules and rule schemas for MP . . . . . . . . . . . . . . . . . . . 158 6.12 Rules for n multiprocessor CCS . . . . . . . . . . . . . . . . . . . 160 6.13 Carrier sets for A_{n} . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.14 Functions for A_{n} . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.15 Rules for pomset CCS . . . . . . . . . . . . . . . . . . . . . . . . 163 6.16 Rules and rule schemas for MPExt . . . . . . . . . . . . . . . . . 165 6.17 Carrier sets for A_{pom} . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.18 Functions for A_{pom} . . . . . . . . . . . . . . . . . . . . . . . . . . 166 6.19 Carrier sets for A_{pomn} . . . . . . . . . . . . . . . . . . . . . . . . . 167 6.20 Functions for A_{pomn} . . . . . . . . . . . . . . . . . . . . . . . . . . 168

B.1 Rules and rule schemas for MP . . . . . . . . . . . . . . . . . . . 191 B.2 Rules and rule schemas for MPExt . . . . . . . . . . . . . . . . . 192 B.3 Carrier sets for A_{pom} . . . . . . . . . . . . . . . . . . . . . . . . . 193 B.4 Functions for A_{pom} . . . . . . . . . . . . . . . . . . . . . . . . . . 194 B.5 Carrier sets for A_{pomn} . . . . . . . . . . . . . . . . . . . . . . . . . 195 B.6 Functions for A_{pomn} . . . . . . . . . . . . . . . . . . . . . . . . . . 196

List of Definitions

2.2.1 Labelled transition system . . . . . . . . . . . . . . . . . . . . . 5 2.2.2 Strong bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.3.1 Extended labelled transition system . . . . . . . . . . . . . . . . 44 3.3.2 Strong generalised bisimulation with respect to a relation …. 44 3.3.3 Weak generalised bisimulation with respect to a relation …. 45 3.3.4 Bisimulation homomorphism . . . . . . . . . . . . . . . . . . . . 47 3.3.5 Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.3.6 Separation property . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2.1 Sorted set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.2 Signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.3 Open and closed terms . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.4 Sensible signature . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.5 Variables contained within a term . . . . . . . . . . . . . . . . . 63 4.2.6 Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.7 Σ-algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2.8 Σ-homomorphism . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.9 Σ-congruence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.10 Sorted labelled transition system . . . . . . . . . . . . . . . . . 65 4.3.1 Suitable signature . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3.2 Extended transition system specification . . . . . . . . . . . . . 68 4.3.3 Proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.4 LTS specified by an eTSS . . . . . . . . . . . . . . . . . . . . . 70 4.3.5 Transition equivalence . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.6 Strong bisimulation with respect to an equivalence over a sorted

set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.7 Extended tyft/tyxt format . . . . . . . . . . . . . . . . . . . . . 73 4.3.8 Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.3.9 Well-foundedness . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.10 Freeness of variables . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.11 Pureness of rules . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2.1 Sum of two signatures . . . . . . . . . . . . . . . . . . . . . . . 98 5.2.2 Sum of two eTSSs . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.2.3 Asymmetric sum of two signatures . . . . . . . . . . . . . . . . 98 5.2.4 Asymmetric sum of two eTSSs . . . . . . . . . . . . . . . . . . . 99 5.2.5 Conservative extension . . . . . . . . . . . . . . . . . . . . . . . 99 5.2.6 Label-free variable . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.2.7 Label-pure rule . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.3.1 Conservative extension up to bisimulation with respect to an

equivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.3.2 Conservative extension with respect to an equivalence . . . . . . 106 5.3.3 Refining extension up to bisimulation with respect to an equivalence107 5.3.4 Abstracting extension up to bisimulation with respect to an equi-

valence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.3.5 Type-1 asymmetric sum . . . . . . . . . . . . . . . . . . . . . . 108 5.3.6 Type-0 asymmetric sum . . . . . . . . . . . . . . . . . . . . . . 108 5.3.7 Sum of two congruences . . . . . . . . . . . . . . . . . . . . . . 111 5.3.8 Conservativity of the sum of two congruences . . . . . . . . . . 111 5.4.1 Safety of a signature . . . . . . . . . . . . . . . . . . . . . . . . 123

6.2.1 Union of many-sorted sets . . . . . . . . . . . . . . . . . . . . . 133 6.2.2 Sort-similar sum of signatures . . . . . . . . . . . . . . . . . . . 133 6.2.3 Sum of algebras . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

List of Results

Proposition 3.3.1 Properties of strong generalised bisimulation with

respect to a relation . . . . . . . . . . . . . . . . . . . . . . . . 45 Proposition 3.3.2 Properties of weak generalised bisimulation with

respect to a relation . . . . . . . . . . . . . . . . . . . . . . . . 46 Proposition 3.3.3 Bisimulation homomorphisms and generalised bisim-

ulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Proposition 3.3.4 Bisimulation homomorphism defines a generalised

bisimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Proposition 3.3.5 States that are images of a common state are bisimilar 51 Proposition 3.3.6 States that have a common image are bisimilar . . 53 Proposition 3.3.7 States that are bisimilar have a common image . . 54

Proposition 4.3.1 Terms over a suitable signature . . . . . . . . . . . 68 Lemma 4.3.1 Closed transitions are provable by closed proofs …. 70 Lemma 4.3.2 Well-founded extended tyft/tyxt can be transformed to

well-founded extended tyft . . . . . . . . . . . . . . . . . . . . . 76 Lemma 4.3.3 Well-founded extended tyft/tyxt can be transformed to

pure extended tyft . . . . . . . . . . . . . . . . . . . . . . . . . 77 Theorem 4.3.1 Congruence . . . . . . . . . . . . . . . . . . . . . . . 78

Theorem 5.2.1 Conservative extension . . . . . . . . . . . . . . . . . 101 Proposition 5.3.1 Conservative extension implies conservative exten-

sion up to bisimulation with respect to an equivalence . . . . . . 106 Proposition 5.3.2 Conservative extension with respect to an equival-

ence implies conservative extension up to bisimulation with respect to that equivalence . . . . . . . . . . . . . . . . . . . . . . 107

Proposition 5.3.3 Refining and abstracting extensions up to bisimula-

tion if and only if conservative extension up to bisimulation … 108 Lemma 5.3.1 Application of rules . . . . . . . . . . . . . . . . . . . . 109 Lemma 5.3.2 Equivalences and sums of congruences . . . . . . . . . 111 Theorem 5.3.1 Refining extension up to bisimulation with respect to

a congruence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Theorem 5.3.2 Abstracting extension up to bisimulation with respect

to a congruence . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Corollary 5.3.1 Conservative extension up to bisimulation with respect

to a congruence . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Lemma 5.4.1 Implications of safety of a signature . . . . . . . . . . . 124 Theorem 5.4.1 Conservative extension without label-pureness and with

safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Lemma 5.4.2 Application of rules without label-pureness and with safety126 Theorem 5.4.2 Refining extension up to bisimulation with respect to

a congruence without label-pureness and with safety) . . . . . . 126 Theorem 5.4.3 Abstracting extension up to bisimulation with respect

to a congruence without label-pureness and with safety . . . . . 127 Corollary 5.4.1 Conservative extension up to bisimulation with respect

to a congruence without label-pureness and with safety . . . . . 127

Proposition 6.2.1 Conditions on Σ-algebra ensuring compatibility . . 131 Proposition 6.2.2 Sort-similarity . . . . . . . . . . . . . . . . . . . . 134 Proposition 6.2.3 Sum of algebras . . . . . . . . . . . . . . . . . . . . 136 Theorem 6.2.1 Equivalence induced by sums of algebras . . . . . . . 136 Proposition 6.2.4 Sum of algebras induces conservative equivalence . 138 Proposition 6.2.5 Sum of algebras induces compatibility . . . . . . . 139

List of Examples

4.3.1 Example of an eTSS . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.2 Transition equivalence . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.3 Well-foundedness . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.4 Congruence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.2.1 Example of the asymmetric sum of two eTSSs . . . . . . . . . . 99 5.2.2 Conservative extension . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.1 Refining extension up to bisimulation . . . . . . . . . . . . . . . 115 5.3.2 Abstracting extension up to bisimulation . . . . . . . . . . . . . 115 5.4.1 Conservative extension with safety . . . . . . . . . . . . . . . . 125

6.2.1 Omission of sort-similarity . . . . . . . . . . . . . . . . . . . . . 135

List of Counter-Examples

4.3.1 Signature and rules for counter-examples . . . . . . . . . . . . . 85 4.3.2 Distinctness of label variables in premise labels . . . . . . . . . 85 4.3.3 Distinctness of label variables in source of conclusion . . . . . . 86 4.3.4 Distinctness of label variables in source of conclusion and labels

of premises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.3.5 Compatibility of form . . . . . . . . . . . . . . . . . . . . . . . . 87 4.3.6 Compatibility of variables . . . . . . . . . . . . . . . . . . . . . 87 4.3.7 More compatibility . . . . . . . . . . . . . . . . . . . . . . . . . 88

5.2.1 Label-pureness . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.1 Conservativity of equivalence . . . . . . . . . . . . . . . . . . . 116 5.3.2 Type-1 sum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 5.3.3 Pureness for refining extensions up to bisimulation . . . . . . . . 118 5.3.4 Pureness for abstracting extensions up to bisimulation . . . . . 119 5.3.5 Label-pureness for abstracting extensions up to bisimulation . . 119 5.3.6 First example of type-0 sum . . . . . . . . . . . . . . . . . . . . 121 5.3.7 Second example of type-0 sum . . . . . . . . . . . . . . . . . . . 122

6.3.1 Location equivalence not comparable with multiprocessor equi-

valence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.3.2 Global cause equivalence not comparable with multiprocessor

equivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.4.1 Restricted pomset equivalence and multiprocessor equivalence . 170

Notation

states  S  s, t
actions  A  a, b
transitions  T  s ⟶^{a} t
labelled transition system (LTS)  L = (S, A, T )
strong bisimulation  ∼
weak bisimulation  ≈

strong generalised bisimulation with respect to a relation B

∼_{B}

weak generalised bisimulation with respect to a relation B

≈_{B}

identity relation  Id
bisimulation homomorphism  (h_{S}, h_{A}, h_{T})
S-sorted set  {A_{s}}_{s∈S}
S′-sorted subset of S-sorted set  A_{S′}
signature  Σ = (S, F)
(s_{1}, s_{2}, …; f_{1}, f_{2}, …; g_{1}, g_{2}, …)
variables  V, W  x

set of open terms over a subset of variables W

T (Σ, W)

set of open terms over a subset of variables W of sort s

T (Σ, W)_{s}

set of open terms over Σ  𝕋(Σ)  t
set of closed terms over Σ  T(Σ)
set of open terms over Σ of sort s  𝕋(Σ)_{s}
set of closed terms over Σ of sort s  T(Σ)_{s}

variables of sort s that appear in a term t

Var_{s}(t)

variables that appear in a term t  Var(t)
substitution  σ, ρ
Σ-algebra  A
process sort  P
S-sorted set A with P ∉ S  A\overline{P}
process variables  V_{P}  x, y
non-process variables  V_{S}, V\overline{P}  z
open process terms  𝕋(Σ)_{P}  p, q
closed process terms  T(Σ)_{P}  u, v
open non-process terms  𝕋(Σ)_{S}, 𝕋(Σ)\overline{P}  λ, η
closed non-process terms  T(Σ)_{S}, T(Σ)\overline{P}  α, β, μ, ν

extended transition specification system (eTSS)

E = (Σ, R)

transitions  ϕ, ψ, χ

bisimulation up to an equivalence ≡

∼_{≡}

bisimulation up to an equivalence ≡ on an eTSS E

∼_{≡}^{E}

sum of two signatures  Σ_{0} ⊕ Σ_{1}
sum of two eTSSs  E_{0} ⊕ E_{1}
asymmetric sum of two signatures  Σ_{0}⊕>Σ_{1}
asymmetric sum of two eTSSs  E_{0}⊕>E_{1}
sum of two equivalences  ≡_{0} ⊕ ≡_{1}
sum of two algebras  A_{0} ⊕ A_{1}
schema variables  V
process schema variables  V_{P}  X, Y
non-process schema variables  V_{S}, V\overline{P}  Z

Chapter 1

Introduction

Concurrency is a core issue in computer science, and it is vital to have theoretical foundations from which to understand it. There are many different approaches in the literature—Petri nets, automata and process algebras being just a few. This thesis will focus on process algebras.

Since the development of CCS and other process algebras, many extensions to these process algebras have been proposed to model different aspects of concurrent computation. It is important both theoretically and practically to understand the relationships between these process algebras and between the semantic equivalences that are defined for them. In this thesis, I investigate the comparison of semantic equivalences based on bisimulation which are defined for process algebras whose behaviours are described by structured operational semantics, and expressed as labelled transition systems.

A significant aspect of the different approaches to extensions to process algebras is the introduction of non-atomic labels; by this, I mean labels that have structure or contain information beyond what the action is. In CCS and CSP, basic actions are thought of as atomic, and are drawn from single set A. However in CCS, additional types of actions are required—to effect communication, a barred version of each action is required, drawn from a set \overline{A}, and then to represent an internal action, or the result of a communication, a distinguished action τ is required. So, even in CCS, the actions have in some sense more structure or information than simple atomic actions. In some timed transition systems, there are labels which represent actions and those that represent the passing of time. In transition systems obtained from the operational semantics of process algebras that look at the dependency (locational or causal) between actions, tags or markers appear in the labels (and are stored in the process terms) to keep a record of these dependencies.

As this short discussion shows, structured labels are used in many different types of process algebras, and hence their nature is of interest for study. Moreover, as can be seen by the proliferation of process algebras, it is relatively easy to design a new process algebra with features for the specific use one may want to put it to. This indicates that the notion of a process algebra has wide application and is flexible. A negative aspect to the proliferation of process algebras is that it is not immediately obvious how a process algebra and any semantic equivalences defined for its labelled transition system relate to other process algebras and equivalences. The aim of this thesis is to investigate how this comparison can be done. This research draws on the meta-theory of process algebras, specifically formats, to address this question.

1.1 Organisation of the thesis

Chapter 2 This chapter gives an overview of process algebras proposed in the literature, and looks at their differences and similarities. I also look at related work and give motivation for the results in this document.

Chapter 3 This chapter looks at two approaches to comparison of equivalences. In the first, a number of equivalences defined for extensions to CCS are compared in terms of which pure CCS term they equate. The shortcomings of this approach are discussed. Next, I look at using bisimulation homomorphisms as a way to compare equivalences.

Chapter 4 In this chapter, I start with a more syntactic approach to the comparison of equivalences, and develop a new format that explicitly deals with structured labels. I prove that this format gives congruence.

Chapter 5 In this chapter, a number of results are presented for the new format that relate to combining process algebras.

Chapter 6 In this chapter, I look at the implications of some of the conditions on the results for the underlying algebras used to represent structured labels. Next, a notion of rule schemas is developed to allow the expression of infinite rule sets. Finally, a number of process algebras are expressed in the new format and existing and new results are shown for the comparison of equivalences over these process algebras.

Chapter 7 This chapter presents conclusions and issues for further work.

Background and motivation

2.1 Introduction

In this chapter, I present existing material that provides a background to the research presented in this thesis. I first spend some time looking at the extensions to process algebras based on structured operational semantics, labelled transition systems and process equivalences which are the inspiration and spur for my research. I also describe other approaches to comparing these extensions. I present background material on formats, as I will describe a new format in the body of this work. Finally, I discuss related research and give some motivation, including motivation for the particular subset of process algebras that I will be focusing on, namely those concerned with non-interleaving equivalences.

2.2 Background

Structured operational semantics (SOS) [Plo88] have been used to give labelled transition system semantics to models of concurrency called process algebras or process calculi. CCS [Mil89] is defined using this approach, together with notions of equivalences over processes to equate those processes which have the same behaviour. Other well-known process algebras that can be defined in this manner are CSP [OH86] and ACP [vG87]. These process algebras are based on the notion of atomic actions and communication via simple interaction. The labelled transitions embody the notion that actions take place one at a time, and these process algebras are interleaving, in the sense that nondeterministic sequentiality cannot be distinguished from concurrency. Other early process algebras took a slightly different approach and allowed for a number of actions to happen simultaneously, such as Meije [Bou84] and SCCS [Mil89]. Since then there has been an explosion of process algebras—many of them extensions of these first process algebras—developed to deal with different aspects of concurrency, such as true concurrency/non-interleaving, time, priorities, probabilistic and stochastic behaviour. These extensions have been approached in a number of different ways. In this section of this chapter, I give an overview of how these extensions have been developed without going into detail—my aim is here is to give a flavour of the ways in which extensions have been done, and how information can be added to labelled transition systems. I will also discuss approaches to the comparison of these process algebras and equivalences that have appeared in the literature. To support the descriptions of these process algebras and equivalences, I will also give some diagrammatic examples of processes. Many of these examples will use the ‘canonical’ non-interleaving examples a.b.nil + b.a.nil and a | b.

Since labelled transition systems and bisimulation will play a large part in the work I am reviewing here, I present some definitions, and describe some phrases that I will be using to make the presentation more concise. The following two definitions are standard.

Definition 2.2.1 (Labelled transition system) A labelled transition system (LTS) is defined as:

L = (S, A, T )

where S is a set of states, A is a set of (not necessarily atomic) actions, T ⊆

(S × A × S). I write s ⟶^{a} s′ for (s, a, s′) ∈ T .

Definition 2.2.2 (Strong bisimulation) Let L = (S, A, T ) be an LTS. A strong bisimulation is a binary relation R ⊆ S×S such that (s, s′) ∈ R only if for all a ∈ A,

1. whenever s ⟶^{a} t, then there exists t′ ∈ S such that s′ ⟶^{a} t′ and (t, t′) ∈ R

2. whenever s′ ⟶^{a} t′, then there exists t ∈ S such that s ⟶^{a} t and (t, t′) ∈ R.

Two states, s and s′ are said to be strongly bisimilar, s ∼ s′, if there exists a strong bisimulation R such that (s, s′) ∈ R.

It can be shown that ∼ is the largest bisimulation. Note that it is also possible to define a bisimulation between the states of two different labelled transition systems if they have the same set of actions. In some of the extensions I will be discussing below, modified versions of the above definition are used, in that the elements of A that appear on the transitions do not have to be equal. Often in these extensions, the set A contains more than atomic actions, and hence it is possible to require equality on some components of the action and not others. Other extensions introduce a number of different sets for the transition labels (sometimes called multi-coloured transition systems [Tof94]) and there may be additional clauses in the bisimulation definition to deal with transitions with labels drawn from another set. I will use the phrase ‘matching on … ’ to describe the equality of selected components of an action that are required for clauses (1) and (2) (or any additional clauses) in the above definition. I will also use the phrase ‘bisimulation has the expected definition’ when all components are matched on.

I now discuss different extensions under headings which describe their main focus. Note that some equivalences may capture more than one aspect of concurrent behaviour.

2.2.1 True concurrency/non-interleaving equivalences

As discussed above, most process algebras are interleaving and the issue of how to describe true concurrency in the algebraic and compositional framework provided by process algebras is an ongoing one. By interleaving, I refer to process algebras where the semantic equivalence does not distinguish between non-deterministic sequentiality and concurrency; for example when a.b.nil + b.a.nil and a | b are equated. Process algebras that are non-interleaving have semantic equivalences which do not equate processes such as the two given above.

One approach to achieving non-interleaving/true concurrency is to map the syntax of a process algebra onto some construct that allows for definition of true concurrency semantics such as event structures or Petri nets. Examples of this approach are [BC94,BKLL95,DM87b,DDNM88a,DDNM88b,DDNM88c,GM84, Gol90, Lu93, Mur93, Tau90, vGV87, Win82]. In many of these papers, semantic equivalences are not defined—the authors are concerned with true concurrency at an operational level only. Since the focus of my research is on labelled transition systems, and semantic equivalences on these systems, I will not discuss these further. There are also attempts to take the type of semantic equivalences defined on labelled transition systems and apply them to other domains for processes. Examples of research that uses event structures are [BMC94, BC88a, GKP92, GL95, DDNM88c, ADNF87, Mur91, vGG90] and Petri nets [Old88, AS92, JM92, Pom85, PRS92]. A discussion of these approaches is beyond the scope of this document.

A second approach is to modify the underlying labelled transition system so that it contains the information that allows for the distinction between concurrency and nondeterministic sequentiality. I now discuss process algebras where this approach has been taken.

2.2.1.1 Causal approaches

In [DD89, DD90], information about the causal structure of processes is used to distinguish nondeterminism from concurrency. In [DD90], causal trees are defined and they can be viewed as a labelled transition system with transitions of the form ⟶^{⟨a,K⟩} where a is the action and K ⊂ ℕ is a set that contains information describing which of the previous transitions the current transition is causally dependent on. Causal equivalence requires that the matching transition has the same set of causes. Figure 2.1 gives an examples of two processes that are not equated by causal equivalence. In the case of the sequential process, the second transition is dependent on the first, whereas in the concurrent process,the transitions are independent. Degano and Gorrieri have investigated action refinement in the setting of causal trees [DG93]. In [CdCC92], strong and weak bisimulations are defined in a framework that takes causality into account. Kiehn [Kie94] investigates notions of global and local causality which I will give details of below.

[figure: a.nil | b.nil; ⟨a, ∅⟩; ⟨b, ∅⟩; ⟨b, ∅⟩; ⟨a, ∅⟩; a.b.nil + b.a.nil; ⟨a, ∅⟩; ⟨b, ∅⟩; ⟨b, {1}⟩; ⟨a, {1}⟩]

Figure 2.1: Examples of processes which are not causally equivalent [DD90]

2.2.1.2 Distributed/location-based equivalences

A number of different approaches to location-based bisimulation have been developed over the last few years. In [Cas88,CH89,Hen88b,Kie,Kie89], the structure of states in the labelled transition system is modified to have the following form: p ⟶^{a} ⟨p′, p′′⟩. The first component p′ is a local residual of the transition and the second component p′′ is the global residual. Hence, there are no structured labels in the sense I have used above. Distributed bisimulation requires that actions are matched exactly and that local residuals are bisimilar and global residuals are bisimilar. Figure 2.2 illustrates how sequential processes have different residuals to concurrent processes. In a recent paper, Corradini and De Nicola [CDN97], give an alternative characterisation of this equivalence, that relies on decomposing processes into their sequential components called grapes. They also present a new equivalence over these decomposed processes called generalized distributed equivalence.

In [BCHK92,BCHK94], a location transition system is defined and transitions have the form p ⟶_{u}^{a} p′ where u ∈ Loc^{∗} where Loc is a set of atomic locations, and Loc^{∗} is the set of strings over this set of locations. A new operator, location prefixing (l :: p) is introduced to the process algebra. Each time an action is performed, a location is introduced. Location bisimulation requires matching on both actions and location strings. Figure 2.3 gives an example of two processes which are not location bisimulation equivalent. Note that the dotted lines indicate that other transitions involving different locations are possible. In the case of the sequential process, an action that occurs at the same location as a previous action,

[figure: a.b.nil + b.a.nil; a; b; ⟨b.nil, nil⟩; ⟨a.nil, nil⟩; a.nil | b.nil; a; b; ⟨nil, nil | b.nil⟩; ⟨nil, a.nil | nil⟩]

Figure 2.2: Example of processes which are not distributed bisimulation equivalent

has a location string that consists of a new location as well as the action string of the previous action. In the concurrent process, actions occur at different locations and hence have different location strings. Parameterised location bisimulation [BCHK94] is defined with respect to a location relation R ⊆ (Loc^{∗} × Loc^{∗}), and does not require that actions are identical, but rather that the two locations are in R. It has been shown that location bisimulation can be expressed in the ordinary interleaving observation equivalence of the π–calculus, a process algebra that expresses mobility of processes [San96]. In [Ace94c], an equivalence defined with static locations is shown to be equivalent to location bisimulation [BCHK92]. This work is further developed in [Cas95]. Corradini and De Nicola [CDN94, CDN97] develop distributed grapes/maximal distribution equivalence which coincides with location bisimulation on CCS terms.

In earlier work, Boudol et al. [BC91,BCHK93], investigated a slightly different process algebra involving locations. In this algebra, a new string of locations are introduced for each action. Bisimulation requires matching on actions and strings of locations.

In [Kie94], a labelled transition system that allows for the capturing of information about local causality and global causality is defined. Specific instantiations of the general bisimulation defined gives rise to three equivalences, one of which coincides with location equivalence [BCHK92] on CCS processes and one of which coincides with causal bisimulation [DD89] on CCS processes. The third equivalence combines both local and global causality and is called local/global cause

[figure: a.b.nil + b.a.nil; a; l; b; m; l :: b.nil; m :: a.nil; ml; b; lm; a; l :: m :: nil; m :: l :: nil; a.nil | b.nil; a; l; b; m; l :: nil | b.nil; a.nil | m :: nil; b; m; a; l; l :: nil | m :: nil]

Figure 2.3: Example of processes which are not location bisimulation equivalent

[figure: a.b.nil + b.a.nil; a; ∅, ∅, l; b; ∅, ∅, m; l :: b.nil; m :: a.nil; b; {l}, {l}, m; a; {m}, {m}, l; l :: m :: nil; m :: l :: nil; a.nil | b.nil; a; ∅, ∅, l; ∅, ∅, m; b; l :: nil | b.nil; a.nil | m :: nil; b; ∅, ∅, m; a; ∅, ∅, l; l :: nil | m :: nil]

Figure 2.4: Example of processes which are not local/global cause equivalent

equivalence. Figure 2.4 illustrates how sequential and concurrent processes can differ with respect to local/global bisimulation. Each action has a cause associated with it, and has a local and global cause set to describe previous causes upon which the action may be dependent. This example has similarities to Figure 2.3. Again the dotted lines indicate that other transitions are possible—these transitions involve associating a different cause with the action under consideration.

In [Kri96, Kri91], a notion of location is used which is stricter in that synchronisation can only take place between processes at the same locality, hence it is necessary to use special sending actions to send an action to a specific location. Moreover, actions which happen in the same location must use the same location identifier. The labelled transition system is defined such that each transition is labelled with a location and an action. A bisimulation is defined with respect to this labelled transition system. Figure 2.5 illustrates how sequential and con-

[figure: a.b.nil + b.a.nil; ⟨l, a⟩; ⟨m, b⟩; l :: b.nil; m :: a.nil; ⟨l, b⟩; ⟨m, a⟩; l :: nil; m :: nil; a.nil | b.nil; ⟨l, a⟩; ⟨m, b⟩; l :: nil | b.nil; a.nil | m :: nil; ⟨m, b⟩; ⟨l, a⟩; l :: nil | m :: nil]

Figure 2.5: Example of processes which are not (Krishnan) distributed bisimulation equivalent

current processes can be distinguished. The dotted transitions for the sequential process indicate that the action could have occurred at other locations; however this is not the case for successive actions which occur at the same location as the initial action. In the concurrent process, there is a choice of location for each action. Note that this example does not demonstrate the communication aspects of this process algebra.

In [BB93b], a real-space process algebra is defined where actions are associated with three space co-ordinates and which are composed into multi-actions by operators which describe the relationship between the locations of the actions. Bisimulation has the expected definition. Another approach to distribution is given in [Fan92].

2.2.2 Equivalences involving duration or time

In [AH94, AH93], it is assumed that actions have non-zero duration. A modified labelled transition system is defined where the label on the transition can indicate the start or finish of an action, and a new prefixing operator is introduced to indicate actions that have not been completed. It is possible to distinguish concurrency and nondeterminism, since it can be distinguished whether actions can overlap or not. A number of different bisimulation equivalences have been defined for this transition system [AH94, AH93, Hen88a, Hen91, GL91] based on the notion of ST-bisimulation which was originally defined on Petri nets [vGV87]. In [Hen95] a testing equivalence is defined. Figure 2.6 gives an example of two processes that are not ST-bisimulation equivalent. Here, actions consist of a start s(a) and a finish f(a).

In [AM96], Aceto and Murphy define a transition system where transitions come with an action, a duration and the time at which the action occurred. Each non-τ action has a fixed duration associated with it. Operators are defined to indicate waiting and to specify the time at which a process starts. A timed branching bisimulation is defined which requires matching on all components of the transition label. Ill-timed paths (which are sequences of actions and times where the ordering does not reflect the order given by time) can be used to discover independent (concurrent) states. In Figure 2.7, two processes are illustrated. Each process has an associated clock, and each transition is labelled with the action, the time at which it occurred and a duration for the action. As can be seen, the sequential process has two actions which occur one after the other, and take total time Δ(a) + Δ(b); whereas each component in the concurrent process has its own clock and hence it is possible for each action to start at time 0.

Gorrieri et al. [GRS95] define a performance equivalence. Each action has duration associated with it specified by a function from actions to durations, and the equivalence is parameterised by this function. Each transition is labelled with an action, time of occurrence and locational information; however the locational information is ignored for the purposes of defining the performance equivalence. A clock prefixing operator is introduced and is used to prefix all sequential agents.

[figure: a.b.nil + b.a.nil; s(a); s(b); f(a).b.nil; f(b).a.nil; f(a); f(b); b.nil; a.nil; s(b); s(a); f(b).nil; f(a).nil; f(b); f(a); nil; a.nil | b.nil; s(a); s(b); f(a).nil | b.nil; a.nil | f(b).nil; s(b); s(a); f(a).nil | f(b).nil; f(a); f(b); nil | b.nil; a.nil | nil; s(b); s(a); f(a); f(b); nil | f(b).nil; f(a).nil | nil; f(b); f(a); nil | nil]

Figure 2.6: Example of processes which are not ST-bisimulation equivalent

[figure: (a.b.nil + b.a.nil) 0; a@0; Δ(a); Δ(b); b@0; b.nil Δ(a); a.nil Δ(b); b@Δ(a); Δ(b); a@Δ(b); Δ(a); nil (Δ(a) + Δ(b))]

[figure: (a.nil ∥ b.nil) 0; a@0; Δ(a); Δ(b); b@0; (nil Δ(a)) ∥ (b.nil 0); (a.nil 0) ∥ (nil Δ(b)); b@0; Δ(b); a@0; Δ(a); (nil Δ(a)) ∥ (nil Δ(b))]

Figure 2.7: Example of processes which are not (Aceto and Murphy) timed bisimulation equivalent A diagram of the processes a.b.nil+b.a.nil and a.nil | b.nil (without the locational information) would be similar to Figure 2.7.

Baeten and Bergstra have investigated a number of notions related to time for ACP. In [BB91b], a real-time process algebra is introduced where some transitions have both an action and an element of the reals to represent the time at which the action occurred, and others are unlabelled and represent idling. States consist of pairs of process algebra terms and times. Bisimulation requires matching on steps, idling and termination. A number of time related operators are introduced, and the notion of relative time is investigated. This work is further extended by the introducing nonstandard reals, resulting in a process algebra that can express aspects of other process algebras involving time [BB95]. In [BB91a] a real space-time algebra is defined. Each action has four co-ordinates which can either be interpreted as three space co-ordinates and an independent time co-ordinate as in classical (Newtonian) mechanics, or as four related co-ordinates as in special relativity. Equivalences are defined with respect to these two viewpoints.

Chen [Che93,Che92] defined a timed bisimulation on a timed version of CCS, that distinguishes concurrency from nondeterministic sequentiality. Transitions are labelled with actions and the time at which the action occurs, or alternatively they can just be labelled with time which denotes idling up until that time is reached. Action prefixing has two new parameters indicating the earliest and latest the action can be performed. Bisimulation requires matching on actions and times. As an example, consider the process a(t) |_{1}^{6} .b(s) |_{0}^{10} .nil(0) which can perform the a action at any time between 1 and 6 time units, after which it can immediately perform the b action or delay for 0 to 10 ten units before b happens, and then can do no further actions nor let time proceed. The operational version of Timed CSP [Sch95] uses a similar type of transition system, and uses wait and timeout operators in the process algebra. Daniels [Dan91] also uses a similar transition system.

In [Yi90, Yi91, MT90, Jef92, QdFA93], a different transition system is used in which there are two different types of evolution of state—one in which an action can be performed (and the transition is labelled with the action) and one in which time passes (and the transition is labelled with a time value). Consider the following process with respect to Moller and Tofts’ semantics [MT90] a.(2).b.nil which can perform an a action, and become (2).b.nil which has the transitions (2).b.nil ⟶^{1}(1).b.nil ⟶^{1}b.nil or (2).b.nil ⟶^{2}b.nil after which it can perform b and then not be capable of performing any further actions or of letting time proceed. Ho-Stuart et al. [HSZM93] take a similar approach, but use a monoid of actions as in SCCS and define two notions of bisimulation over this transition system. Aceto and Jeffrey [AJ95] generalise the approach of Wang Yi [Yi90] and introduce a time domain that is a left-cancellative anti-symmetric monoid.

A simpler notion of the passage of time is used in [HR95, NS94, BB96] where a distinguished action is added that is understood as passage of time to the next time slice. In each case, a number of time-related operators are introduced. In the semantics of Baeten and Bergstra, the process σ_{rel}(\underline{\underline{a}}.\underline{\underline{b}})+σ_{rel}(\underline{\underline{a}}.\underline{\underline{c}}) can perform a unit delay to become \underline{\underline{a}}.\underline{\underline{b}} + \underline{\underline{a}}.\underline{\underline{c}}. Note that for the sum of two processes to be able to delay to the next time unit, both components must be able to delay. The action \underline{\underline{a}} is one that must occur in the current time slice (the action a is allowed to delay until the next time slice). Hence \underline{\underline{a}}.\underline{\underline{b}} + \underline{\underline{a}}.\underline{\underline{c}} can perform an a action and then b or alternatively an a action and then c, all without further delays. In [Jef91a], a partially ordered time domain is used and operational and denotational semantics are given. Although partially ordered time is used, it is not used to distinguish between concurrency and nondeterminism. An overview of the way in which timed process algebras differ is presented in [NS92].

Stochastic process algebras also assume that actions have duration, and this duration is characterised by a random variable, usually taken to be exponentially distributed. In [Hil96], transitions are labelled with an action and a rate (which defines the exponential distribution used for that action). From the multitransition system, it is possible to obtain a Markov process. A number of notions of equivalences are proposed including a bisimulation that requires matching of actions as well as the matching of the rates at which each possible action can occur.

2.2.3 Equivalences based on with priorities

There have been a number of different approaches to priority in process algebras. One approach taken is to have prioritised actions, indicated by some annotation of the action as in [CH90,NCCC94]. Operators are introduced to prioritise and deprioritise actions, and bisimulation requires matching on actions. In the process \underline{τ}.nil+b.nil the only transition possible is \underline{τ} since as a prioritised action (indicated by the underline) it has priority over the unprioritised b action. In [CLN96], a process algebra based on the notion of distributed priorities is presented where actions can only pre-empt other actions that appear in the same location.

In [Cam91, CW95] a number of priority-related operators are introduced, including an unless operator, and a prisum operator which is weighted in favour of the first operand. Transitions are decorated with actions and readysets of output actions. Bisimulation requires matching on actions and readysets.

In [Gro93], an operational version of the prioritised process algebra of Baeten et al. [BBK86] is presented. Here it is assumed that there is a partial ordering over actions representing their relative priorities. Bisimulation requires matching on actions. Assuming that a < b in the partial order, and Θ is the priority operator, then Θ(a + b) can only perform a b action.

Gerber and Lee [GL94] define a process algebra where priorities are used to determine the interleaving of processes in situations where there are not sufficient resources for them to run simultaneously. Jeffrey [Jef91b] investigates the relationship between time and priority. A calculus of broadcast systems (CBS) [Pra95] which is based on a broadcast notion of communication as opposed to pairwise communication as in CCS, can be extended to include priorities (PCBS). Each broadcast has a priority associated with it, and this affects which broadcasts can occur.

2.2.4 Probabilistic equivalences

Larsen and Skou [LS92b] present a probabilistic process algebra in a SCCS-like style that defines a probabilistic transition system where each transition is labelled with an action and probability. Conditions are imposed on the probabilities that appear on the transitions and bisimulation requires matching on both actions and probabilities. Jou and Smolka [JS90] take a slightly different approach and define process algebras where there are two different types of transitions—those which are labelled with actions, and those that are labelled with probabilities. Bisimulation requires that the total probability of evolving into an equivalent state is the same. Tofts [Tof94] defines a bisimulation that takes into account the notion of relative frequency of actions. Smolka and Steffen [SS96] investigate priority in the framework of probabilistic process algebras. All of these process algebras introduce some sort of probabilistic choice operator.

2.2.5 Equivalences based on proved transitions

In the literature, there are a number of labelled transition systems defined where the set of actions contains information about the inference rules that are used to prove that transitions can happen. In [Cas88], pomset bisimulation is defined on a transition system labelled with actions that indicate the use of specific transition rules from the structured operational semantics. A congruence is defined over the actions, and a bisimulation is defined with respect to these actions—a transition has to be matched by a transition with a congruent action. Figure 2.8 illustrates two processes and demonstrates how the additional transitions are added. In [BC88b,BC88c], proved transition systems are defined where the actions contain information about the proofs used for a CCS-like language.

In [FM90, CFM90], a categorical notion of structured transition systems is defined with algebraic structure on both states and transitions for a language in the style of CCS. The structure of the actions is used to determine which transitions are independent and hence can be permuted. Equivalence is defined in terms of permutations of these actions. In [FM91], observation algebras are defined. Here the actions in the transition form an algebra and contain information about which transition rules were used. Equivalence classes of processes are induced by a concurrency relation. In [FGM91], a similar approach is taken to [FM91]. The actions form an observation algebra for a CCS-like algebra of processes; however the equivalence defined is a bisimulation that is parameterised by the observation algebra.

[figure: (a.b.nil + b.a.nil); a; b; a : b; b : a; b.nil; a.nil; b; a; nil; (a.nil | b.nil); a; b; a | b; nil | b.nil; a.nil | nil; b; a; nil | nil]

Figure 2.8: Example of processes which are not pomset bisimulation equivalent

[figure: a.b.nil + b.a.nil; +_{0}a; +_{1}b; b.nil; a.nil; b; a; nil; nil; a.b.nil + b.a.nil; ⟨a, ∅⟩; ⟨b, ∅⟩; b.nil; a.nil; ⟨b, {1}⟩; ⟨a, {1}⟩; nil; nil; a.nil | b.nil; ∥_{0}a; ∥_{1}b; nil | b.nil; a.nil | nil; ∥_{1}b; ∥_{0}a; nil | nil; nil | nil; a.nil | b.nil; ⟨a, ∅⟩; ⟨b, ∅⟩; nil | b.nil; a.nil | nil; ⟨b, ∅⟩; ⟨a, ∅⟩; nil | nil; nil | nil]

Figure 2.9: Example of processes which are not read-write bisimulation equivalent

In [DDNM92, DDNM93], observation trees are defined, and bisimulation is defined with respect to an observation function on the observation trees. Observation trees form unlabelled transition systems with structured states that store details of the computation up until that state. In [MY92, MY95], observation trees are used to present a parametric approach to localities in CCS.

A slightly different approach is taken in [DP92] where the transition system is labelled with proofs (of the transitions of CCS terms) to form proved trees after which an observation function is used to extract the relevant information from these proofs. In [PY94], an equivalence based on read–write causality is defined using this approach. An example of this is given in Figure 2.9. The proved trees on the left hand side are transformed by an observation function to the trees on the right hand side. Note that this example does not involve communication and hence does not demonstrate the read-write features.

In [IPY93, IPY94], extended transition systems for CCS terms are defined. These incorporate ideas from observation trees [DDNM92, DDNM93], proved transition systems [BC88b] and proved trees [DP92], and are unlabelled transition systems with nodes labelled with summations of regular expressions over the alphabet of proof terms which represent all computations from the root to the current node. Bisimulation is parameterised by an observation function.

2.2.6 Other approaches

Labelled transition systems can come equipped with sets of axioms that determine which transitions are allowed. Examples are concurrent transition systems [Sta89], asynchronous transitions systems [Bed87], elementary transition systems [NRT92] and transition systems with independence [NC94]. In [MN92], a notion of bisimulation that preserves independence is defined and the author conjectures that this equivalence coincides with location equivalence [BCHK92]. Figure 2.10 gives an examples of two processes from which asynchronous transition systems can be extracted. In the sequential process, there are four distinct events; whereas in the concurrent one, there are two distinct independent events.

In [BB93a], a non-interleaving process algebra is defined using multiset actions and step bisimulation semantics. In [DM87a], distributed transition systems are defined where states are sets of processes and transitions specify which processes stay idle. Bisimulation is defined on nondeterministic measurement systems which are unfoldings of computations from the distributed transition system defined by an observation function. This type of transition system is further developed in [DDNM88b,DDNM90].

Krishnan [Kri96,Kri92] investigates a process algebra to model the behaviour of multiprocessors. Transitions are labelled with observations that capture the idea that one can observe at most n actions in one step if there are n processors. Bisimulation requires matching on observations. Figure 2.11 illustrates an example where there are 2 multiprocessors. In both processes, it is possible for any action to be executed on one processor with the other idle (δ indicates idleness); however only the concurrent process has the possibility of executing both actions

[figure: (a.b.nil + b.a.nil); a; [ab + ba][b]; [ab + ba][a]; b; b.nil; a.nil; b; [b][nil]; a; [a][nil]; nil; (a.nil ∥ b.nil); a; 0[a][nil]; 1[b][nil]; b; nil ∥ b.nil; a.nil ∥ nil; b; 1[b][nil]; a; 0[a][nil]; nil ∥ nil]

Figure 2.10: Example of processes which are not equated by bisimulation over asynchronous transition systems [MN92]

[figure: a.b.nil + b.a.nil; ⟨a, δ⟩; ⟨b, δ⟩; ⟨δ, a⟩; ⟨δ, b⟩; b.nil; a.nil; a.nil | b.nil; ⟨a, δ⟩; ⟨b, δ⟩; ⟨δ, a⟩; ⟨δ, b⟩; nil | b.nil; a.nil | nil; nil | nil; ⟨a, b⟩; ⟨b, a⟩]

Figure 2.11: Example of processes which are not multiprocessor bisimulation equivalent

simultaneously—one on each processor.

Other papers of interest deal with modified labelled transition systems but do not involve equivalences. Examples are [LRT88] where distributed transition systems are defined with transitions labelled with sets of actions and the notion of a concurrent step is presented, but no equivalences are defined.

Process algebras have also been used to investigate fault-tolerant systems. Krishnan [Kri94] proposes a process algebra for replicated systems with voting and introduces a replication operator. The labelled transition system involves transitions that can be perceived as internal moves which occur before voting has happened, and transitions that represent the external behaviour of the system. Bisimulation is defined over the external actions only. Janowski [Jan94] uses two levels of transitions—the first represents the actions of the system in a faultfree environment and the second the actions in the environment with faults. He defines a number of equivalences which involve matching of actions on transitions from the different levels.

2.2.7 Comparison

Some research has attempted an overview of the different semantics and models. Category theoretical approaches are taken in [KLP90,Mes90,MY89,SNW93] and other approaches appear in [BC94, DN87, Fer93, Sha92, vG90a]. Many of these approaches do not investigate semantic equivalences; for example, [KLP90, Mes90,MY89,SNW93] and [BC94] where three equivalent semantics for CCS are presented—one based on proved transition systems, one on flow event structures and one on flow nets—and it is shown that the three notions coincide by using transition systems of ‘trace computations’ that record the past.

In [DN87], an early investigation into equivalences on labelled transition systems is given. In [Sha92], the issue of language embedding is investigated for a number of concurrent programming languages, and in [Fer93], the concept of data is introduced into labelled transition systems—five different labelled transition systems are defined, a labelled transition system is derived that can be used to express any one of the five, and bisimulation equivalence is investigated in this setting. Different notions of equivalence have been investigated on event structures [vG90a].

I now discuss the approaches to comparison which are most relevant to my work.

• Interleaving semantics defined on labelled transition systems have been extensively investigated by van Glabbeek [vG90b, vG93], both with respect to linear and branching time, and abstraction from internal actions. In the first of two papers about semantic equivalences [vG90b], he looks at processes defined in labelled transition systems, specifically those that are interleaving (which he refers to as sequential), finitely branching, with uniform concurrency and no abstraction from internal actions, and develops a complete lattice of 11 different semantic notions. The equivalence semantics range from the finest, bisimulation, to the coarsest, trace equivalence. More recent equivalences which could be added to this framework are undo-trace equivalence and undo-failure equivalence [Sch91]. In the second paper [vG93], he investigates the linear time/branching time spectrum for semantics which abstract from internal actions, and presents a hierarchy of 155 different equivalences. A number of these equivalences are compared over probabilistic processes in [JS90].

• Some of the approaches discussed in Section 2.2.5 allow for the comparison of different equivalences over CCS terms. The observation trees of Degano et al. [DDNM92,DDNM93] permit different types of observations to be made and hence it is possible to compare the different equivalences generated by these observations. In [MY92, MY95] the equivalences defined by taking combinations of mixed orderings and partial orderings, and localities and causalities are compared. In [IPY94] the authors describe how a number of different equivalences can be defined on extended transition systems.

• In [Kie94], Kiehn defines a new transition system based on local and global causes. Each transition is labelled with an action, a set of local causes and a set of global causes. Local causes are understood to be due to actions that occurred in the component from which the current action came, and global causes are understood to come from an action in any component. Bisimulation equivalence is parameterised by a function which extracts information from the causes on a transition. She shows that causal bisimulation and location equivalence can be characterised by appropriate instantiations of this function. In [KH94], it is shown that ST-equivalence can also be formulated using a variant of this transition system where only local causes are considered, with the start of an action having an empty cause set and the completion of the action having a singleton cause set.

• Gorrieri and Laneve [GL91] compare different split action transition systems. Their approach to split actions differs from that of Aceto and Hennessy [AH94, AH93] in that they assume that τ actions are split as well as non-τ actions. Their approach to comparison is of interest and I describe it here. Given two labelled transition systems L_{i} = (S_{i}, A_{i}, T_{i}), generated by two processes algebras, and their respective strong equivalences ∼_{i} for i = 1, 2, it is required to prove ∼_{1} ⊆ ∼_{2}, i.e. given s and t that appear

s ∼_{1} t
⇓ ⇓
s′ ∼′_{1} t′
↓ ; h ↓h
s ∼_{2} t

Figure 2.12: Proof technique used by Gorrieri and Laneve [GL91]

as states in both transition systems, such that s ∼_{1} t, show that s ∼_{2} t. First, transform L_{1} to L′_{1} = (S′_{1}, A_{2}, T′_{1}) by a set of transformation rules. Next show that the transformations of s and t, s′ and t′ respectively, are equated by ∼′_{1} in L′_{1}, by exhibiting a suitable bisimulation. Finally, show that each relevant state (s′ and t′) in L′_{1} is equivalent to a state in L_{2}— this is achieved by finding a suitable transition system/transition preserving homomorphism [AD89,Arn93] that maps from the subtransition system^{∗} associated with the state in L′_{1} onto the subtransition system associated with the state in L_{2}. The existence of such a homomorphism implies the two subtransition systems are bisimilar, and hence any state u is bisimilar to its image h(u). So to sum up, if two states s and t are equated by ∼_{1} in L_{1}, show that their transformations s′ and t′ are bisimilar in L′_{1}, then by using the transition preserving homomorphism h, show that s′ is bisimilar to h(s′) and t′ is bisimilar to h(t′), but h is chosen so that s = h(s′) and t = h(t′), hence s ∼_{2} t as required. This is illustrated in Figure 2.12, where the double arrows indicate the transformation rules. A crucial part of this proof is the use of homomorphisms between transition systems. This notion has been introduced in a number of places in the literature but with some confusing terminology. These homomorphisms map states to states and transitions to transitions in the expected manner and have a condition that requires the resultant state of a transition from a state in the image, to be equal to the image of the resultant state of that transition from the state in the domain. A number of authors call these homomorphisms transition preserving [GL91,FMM91,CFM90,FM90,DDNM88a], they have also been referred to as transition system homomorphisms [AD89] and bisimulation homomorphisms [Arn93]. In [AD89], it is shown how these homomorphisms can be used in proving that two labelled transition systems are strongly bisimilar. These homomorphisms have also been investigated in a categorical setting [BBS88,CFM90,FM90,FMM91]. More recently, Arnold and Castellani [AC96] have considered homomorphisms for weak bisimulation. They define transition system homomorphisms as homomorphisms between transition systems, but without the condition described above. They then define homomorphisms which are saturating for all operators drawn from the action set of the transition system under consideration and show that this saturating condition holds if and only if the homomorphism satisfies a weak variant of the condition described above (which they refer to as the zig-zag condition.) They also compare these saturating homomorphisms to Castellani’s abstraction homomorphisms. [Cas88].

∗A subtransition system associated with a state consists of the states and transitions that are reachable from that state.

2.2.8 Formats

In the main part of this research, I will work with formats. A format is a class of rules used to describe models such as process algebras defined by structured operational semantics which generate labelled transition systems. There are a number of different formats and in the discussion below, I will describe their differences. To start, consider the following very general rule

\frac{\{t_{i} ⟶^{a_{i}} y_{i} | i ∈ I\}\{u_{j} −̸ →^{b_{j}} | j ∈ J\}}{f(x_{1}, …, x_{n}) ⟶^{a} t}

where I and J are index sets, the y_{i}’s and x_{k}’s are distinct variables and the t_{i}’s, u_{j}’s and t are open terms over a set of operators and f is an operator. I refer to the transitions above the line as premises, the transition below the line as the conclusion, the left-hand side of a transition as the source of the transition, and the right-hand side of a transition as the target. Also the first set of premises are called positive premises and the second set are called negative premises. (For a formal treatment of this, please consult the start of Chapter 4.)

The first format proposed was the De Simone format [dS85] which requires that there only be positive premises. Moreover the only terms that can appear in the sources of the premises are variables from the source of the conclusion and each can appear at most once. This means there can be no copying of terms in the premises. There are also restrictions on which variables can appear in t. This format also allows for a condition over the labels that appear in the premises and conclusion, and specifies a finite set of labels.

GSOS format [BIM95] is more general than De Simone format. Variables from the source of the conclusion can appear repeatedly in the sources of premises; however they are the only terms that can appear in sources of premises. The term t must only contain variables that appear in the rules, and there can only be a finite number of premises. Again a finite label set is assumed.

Another format that is more general than the De Simone format is the tyft/tyxt format [GV92]. This format does not allow negative premises, but the t_{i}’s and t can be any terms. It allows lookahead since variables which appear as targets of the premises can also appear in the sources of premises. This format has been extended to deal with predicates [BV93].

There is a format that is more general than both GSOS and (pure^{∗}) tyft/tyxt format, and that is (pure) ntyft/ntyxt format [Gro93]. The ntyft/ntyxt format is similar to tyft/tyxt but allows negative premises. Stratification techniques are used to prevent inconsistent rules. Recently a more general technique has been developed to ensure consistent rules for the ntyft/ntyxt format [BG96]. This format has also been extended to deal with predicates resulting in the panth format [Ver95].

Groote [Gro93] characterises the relationship between these formats as shown in Figure 2.13 where positive GSOS refers to GSOS without negative premises.

An important issue in the research involving formats is that of congruence of the format with respect to a semantic equivalence defined over the terms of

∗This concept will be defined in Chapter 4.

[figure: (pure) ntyft/ntyxt; (pure) tyft/tyxt; GSOS; positive GSOS; De Simone]

Figure 2.13: Hierarchy of formats [Gro93]

the process algebra, such as testing equivalence or bisimulation. It is of interest because first it is a desirable property for process algebra operators to have, and second because each format induces a trace and completed trace congruence. In the case of De Simone format, it induces a completed trace congruence that is the same as failure equivalence, whereas ntyft/ntyxt induces bisimulation equivalence, and the other formats in Figure 2.13 induce completed trace congruences which fall between these two [Gro93].

Other research directions for formats include looking at formats in the light of bisimulation with silent moves—Bloom [Blo95] considers four different bisimulations and identifies what sort of rules preserve congruence in each case, and Ulidowski [Uli92] defines the ISOS format and shows that ISOS trace congruence coincides with copy+refusal equivalence. It has also been shown that any GSOS format can be converted to a finite complete equational axiom system with possibly one infinitary induction principle [ABV94]. Aceto also considers a class of infinitary GSOS formats which have a countable action set, signature and set of rules [Ace94a] and a restricted version of GSOS which generates finite labelled transition systems [Ace94b]. Aceto and Ingólfsdóttir have given denotational semantics for a class of GSOS formats and shown full abstraction [AI96].

There are other results related to formats [Ver94,FvG96] that are of relevance to the research I am presenting here, and I will discuss them in the appropriate places in this document.

Verhoef considers a general conservative extension theorem for process algebras [Ver94]. By considering each transition as a separate relation, he is able to find a wider range of rules that are allowed in extensions of transition systems specified by a certain format, and still obtain a conservative extension. I will describe later in this document how this compares with the approach I have taken.

Fokkink and van Glabbeek [FvG96] have shown that the well-foundedness is not required to show congruence in the ntyft/ntyxt format. I will discuss how this relates to my research later in the document.

2.3 Related work

Because of the number of formalisms proposed to model concurrency, as well as the proliferation of process algebras, there are a number of articles that look at comparing these approaches or that present unifying frameworks. In the following, I describe some approaches that have been taken.

Astesiano et al. [AG92] define observational structures, where process algebras are modelled as many-sorted algebras with predicates. Equivalence semantics are defined in terms of observations, where processes have observable sorts, and an abstract generalisation of bisimulation is defined by experiments considered similar by a similarity law. Propagation laws allow relations over processes to be propagated to relations over elements of non-observable sorts, such as actions. This approach gives a generalisation for bisimulation that allows for different process algebras to be expressed, including CCS, a process algebra with mobility and distributed CCS. However, the approach is not used to compare different process algebras or equivalences.

In Section 2.2.7, I have discussed related work that deals with the comparison of process algebras and their equivalences. As mentioned, many approaches only consider the comparison of operational semantics, whereas my focus here is equivalence semantics. Some of the research discussed such as Van Glabbeek [vG90b,vG93] focuses on the linear-time/branching-time spectrum and gives a very full account of it. Other work such as Kiehn’s [Kie94] and Gorrieri and Laneve’s focus on the comparison of specific process algebras without providing a general theory for the comparison of process algebras. Degano and Priami’s proved trees [DP92] allow for the comparison of location, causal, interleaving and read-write causal equivalences for CCS terms. The most wide-reaching comparisons in terms of the number of equivalences considered are the observation trees of Degano et al. [DDNM92,DDNM93] and the extended transition systems of [IPY93, IPY94]. However as the underlying theory of these relies on the SOS of CCS, they are not a general approach for comparing equivalences of process algebras.

2.4 Motivation

As can be seen from the Background section in this chapter, there are many different process algebras, designed to cover a range of concurrent behaviours. It is important to be able to understand how the different process algebras and equivalences relate to each other, so that it is possible to choose which one to use in a particular set of circumstances, or when designing a new one, to see how it differs from existing process algebras. In the previous section, I have discussed how others have approached comparing and unifying different process algebras. In this document, I look at three different approaches. The first looks at a comparison of extensions to CCS over pure CCS terms, based on ad hoc results and counter-examples. The second approach moves away from syntax, and works with an extended notion of a bisimulation homomorphism. Neither of these two approaches is entirely satisfactory. The third approach is to work with the meta-theory of process algebra. This is based on the notion of format, and I prove results about formats that allow for the comparison of process algebra equivalences. This is a new approach to comparison, and gives a broad theoretical basis upon which further work can be developed.

In this document, I will focus on a subset of process algebras, specifically those based on dependencies of some sort or involving true concurrency or noninterleaving features. This includes process algebras and equivalences which have been investigated in studies of comparison, such as location equivalences [BCHK93, BCHK94], cause-based equivalences [Kie94], ST-equivalences [AH94, AH93, Hen88a, Hen91, GL91], as well as those that have not been considered in studies of comparison such as the various process algebras proposed by Krishnan [Kri91,Kri92,Kri94,Kri96] and the pomset equivalence of Castellani [Cas88]. I have chosen this subset for a number of reasons; first, these are some of process algebras that piqued my interest because of the ways in which they distinguish interleaving versus concurrent behaviour, and drew me to this area of study; and second they cover a range of process algebras that have and have not been used in comparisons before. I wish to look at the application of the results here to other process algebras as further work.

2.5 Conclusion

In this chapter, I presented background to this thesis, including a broad survey of different process algebras, a discussion of existing approaches to comparison and work that has been done in the area of formats. Finally, I presented a motivation for the approaches I will investigate in this thesis.

Two approaches to comparison

3.1 Introduction

In this chapter I will investigate two different approaches to comparing equivalences. The first approach works with the various ad hoc comparison results and counter-examples. By ad hoc, I mean that each result is individually obtained using techniques specific to the equivalences being compared. I collect these results and counter-examples to give a hierarchy of equivalences for non-interleaving extensions to CCS. The second approach involves considering the underlying process domain, namely the labelled transition systems, and obtaining results which describe how equivalences can be compared—an important aspect of this approach is the notion of bisimulation homomorphism.

3.2 Comparison over pure CCS terms

In this section, I will look at existing results for the comparison of extensions to CCS, and some of my own. These results will yield a hierarchy of equivalences with respect to pure CCS terms. I will also give examples of process algebras which cannot be included in this hierarchy, and explain why it is not possible to include them.

As mentioned above, a number of extensions have been proposed to CCS which permit non-interleaving semantics. It is possible to compare the equivalences on finite CCS terms, although most of the process algebras used for the definition of these equivalences have additional operators. This comparison is possible because pure CCS terms are still valid terms in these process algebras and they also display

≈  observation equivalence [Mil89]
≈_{d}  distributed bisimulation [Cas88, CH89, Kie89]
≈_{da}  K-grapes distributed bisimulation [CDN97]
≈_{g}  generalised distributed bisimulation [CDN97]
≈_{l}  location bisimulation [BCHK94]
≈_{ll}  loose location bisimulation [BCHK93]
≈_{l}^{s}  static location bisimulation [Cas93]

≈_{dg} distributed grapes equivalence [CDN94]

maximal distribution equivalence [CDN97]

≈_{loc} equivalence with location observations [MY92]
≈_{c}  weak causal bisimulation [DD89]
≈_{lc}  local cause bisimulation [Kie94]
≈_{gc}  global cause bisimulation [Kie94]
≈_{lg}  local/global cause bisimulation [Kie94]
≈_{rw} read-write bisimulation [PY94]
≈_{ST} ST-bisimulation [Hen91]

Table 3.1: Equivalences that form the hierarchy

the specific concurrent behaviour for which the process algebra is designed. I wish to do this comparison over pure CCS terms because

• many authors give some comparison when presenting new process algebras, and I wish to present an overview of this, and

• many of the existing comparisons are done for process algebras for which pure CCS terms are of interest, hence my overview takes this approach, since it allows consideration of a number of process algebras. I will detail below the process algebras that cannot be compared in this manner.

In the spirit of van Glabbeek, I have developed a hierarchy of equivalences that are finer than Milner’s observation equivalence, by assembling results from the literature and providing additional counter-examples. Table 3.1 lists the equivalences that appear in the hierarchy and Figure 3.1 displays the relationship between these equivalences. A path from an equivalence to one lower in the diagram means that the higher equivalence is contained in the lower one. This means that the lower equivalence equates the same terms that the higher one does, but

[figure: ≈; ≈_{d} ≈_{da}; ≈_{ll}; ≈_{g}; ≈_{l} ≈_{l}^{s} ≈_{lc} ≈_{dg} ≈_{loc}; ≈_{c} ≈_{gc}; ≈_{rw}; ≈_{ST}; ≈_{lg}]

Figure 3.1: A hierarchy of equivalences for finite CCS terms

also equates other terms as well, namely it is coarser^{∗}. Note that observation equivalence is the coarsest of all these equivalences as would be expected. The equivalences that are not connected by a downwards path are incomparable; that is, it is possible to find two pairs of terms such that the first pair is equated by the first equivalence but not the second, and such that the second pair are equated by the second equivalence, but not the first. The details of this comparison are presented below. It is also known that on finite restriction and renaming free CCS, ≈_{d}, ≈_{l} and ≈_{ll} coincide [BCHK94], as do ≈_{d}, ≈_{da}, ≈_{g} and ≈_{dg} [CDN97]; and that on finite restriction and renaming free CCS without communication, ≈_{l}, ≈_{c} and ≈_{ST} have the same axiomatisation [Kie93]. Aceto and Murphy show that their timed bisimulation also coincides with these equivalences on this subset [AM96].

There are a number of equivalences based on extensions to CCS that are not suitable to add to this hierarchy using this type of comparison. They are as follows:

[Kri96, Kri91] In this extension to CCS, the action set consists of local and send actions, local actions come from a set of actions as in CCS, whereas send actions are more complex objects. Although pure CCS terms do lead to some non-interleaving behaviour (see Figure 2.5), since they do not express all the different aspects of the process algebra, I have chosen not to add this to the hierarchy. Moreover, there is only a strong version of the equivalence.

∗An equivalence that makes more equations than another equivalence is said to be coarser, and an equivalence that makes fewer equations than another equivalence is said to be finer. This usage is consistent with the fact that a finer equivalence results in more equivalence classes than one that is coarser.

[Kri96, Kri92] This extension to CCS presents a multiprocessor model of concurrency. Since there is only a strong version of the equivalence, I have not included it. However, I do obtain results relating to this process algebra and equivalence in Chapter 6.

[Fan92] This extension is unsuitable for inclusion since the pure CCS terms do not express non-interleaving behaviour.

[MN92] In this paper, CCS with guarded sums is used, hence the set of base CCS terms (those consisting of the CCS operators) are only a subset of the pure CCS terms. Therefore, the comparison cannot be done over the pure terms of CCS, and hence it is not included in the hierarchy. The equivalence defined coincides with the equivalence of Aceto [Ace94c] on nets of automata (see the next point), and the authors conjecture that their equivalence coincides with location bisimulation [BCHK94] on CCS with guarded sums.

[Ace94c] Here, a subset of CCS terms is used, where the static operators, namely parallel, renaming and relabelling, can only appear at the highest level of a term. These terms are called nets of automata. Hence a comparison cannot be made over the pure terms of CCS. The author has shown that on the set of nets, his equivalence coincides with location bisimulation [BCHK94]. Moreover, this work has been generalised, and the generalisation ≈_{l}^{s} [Cas93] is included in the hierarchy.

[Mur93] In this paper a subset of CCS is used where terms represent parallel combinations of sequential process. Once again, this is a subset and does not allow for comparison.

[AH93, AH94] The ST-equivalences of Aceto and Hennessy which have been developed to investigate action refinement are based on a process algebra consisting of actions (as opposed to prefixed actions) and a termination predicate, and hence the basic terms of the process algebra differ from those of CCS.

[GL91] The split-action bisimulations of Gorrieri and Laneve involve the splitting of non-τ actions and τ actions, and is defined only for a strong version of bisimulation. It is not clear how this approach can be extended to weak bisimulation.

As seen in the previous chapter, there are many other process algebras; however, I have chosen here to focus on a certain subset, and this is sufficient to demonstrate this approach. Also note that for many other process algebras that are extensions of CCS, especially for those based on time, priorities and probabilities, when considering the equivalence on pure CCS terms, then it is no different from weak bisimulation over CCS terms. Hence this method of comparison does not help, since the comparison method is not powerful enough to distinguish meaningful differences.

I now give the details of the comparisons which are summarised in Figure 3.1. These are presented as follows:

• Table 3.2 contains pairs of processes that are used to show when two equivalences are incomparable.

• Tables 3.3, 3.4 and 3.5 describe the relationship between each pair of equivalences. For each pairwise comparison, there is a block in the table. In the centre of each block, there is a symbol giving the relationship—# indicates when the two equivalences in question are incomparable. As an example, the block at the fourth column and third row of Table 3.3 is to be read as ≈_{g} ⊂ ≈_{da}. If the result of the comparison comes from the literature, there will be a citation at the bottom of the block. Finally, if the two equivalences are incomparable, there may be two letters at the top of the block, each of which refer to a pair of processes in Table 3.2. The first pair are equated by the equivalence that appears in the column, and not equated by the

A (ca | b(\overline{c} + a))\c  (bc | \overline{c}a)\c
B (e(cΣ_{a} + dΠ_{b} + \overline{c}Σ_{a} + \overline{d}Π_{b} |  (e(cΣ_{a} + dΠ_{b} + \overline{c}Σ_{a} + \overline{d}Π_{b} |
(\overline{d}Σ_{b} + \overline{c}Π_{b} + cΣ_{a} + dΠ_{a}))\\{c, d\}  (\overline{c}Σ_{b} + \overline{d}Π_{b} + dΣ_{a} + cΠ_{a}))\\{c, d\}
C (aec | b\overline{e}d)\e  (aed | b\overline{e}c)\e
D (ab | cd)  (a(eb + b) | c(\overline{e}d + d)\e
E (ac + bd | \overline{c}b + \overline{d}a)  (ac + bd | \overline{c}b + \overline{d}a) + ab
F (ac + bd | \overline{c}b + \overline{d}a)  (ac + bd | \overline{c}b + \overline{d}a) + (a | b)
G (a\overline{b} | bc)\b  ac
H (aec | b\overline{e}d)\e  (a\overline{e}c | bed)\e
I (a\overline{b}d | bc)\b + (cb | \overline{b}ad)\b  (ad | c)
J (a | b) + (ac | \overline{c}b)\c  (a | b)
K (ab | \overline{b}c) + ac  (ab | \overline{b}c)
L a(b + τ.c) + ac  a(b + τ.c)
M {(e.l.(m.a.p | \overline{n}.c) | (\overline{l}.f.s.(m.a.b | \overline{p}.c) | \atop ((m.a.n | \overline{b}.c) | \overline{s}.\overline{m})))\\{b, l, m, n, p, s\}} {(e.l.(m.a.p | \overline{n}.c) | (\overline{l}.f.s.(m.a.b | \overline{b}.c) | \atop ((m.a.n | \overline{p}.c) | \overline{s}.\overline{m})))\\{b, l, m, n, p, s\}}

where Σ_{a} = a_{1}a_{2} + a_{2}a_{1} and Π_{a} = a_{1} | a_{2}.

Table 3.2: CCS processes used for comparison

equivalence that appears in the row; and the second pair are not equated by the equivalence that appears in column, and are equated by the equivalence that appears in the row. These pairs of letters do not appear for all incomparable equivalences—since there are a number of equal equivalences in the table, I have only given letters pairs to one (usually the first one) in a group of equal equivalences.

As can be seen, this ad hoc approach is somewhat limited since it is based upon pure CCS terms. In the next section and the following three chapters, I look at more general approaches to the comparison of process algebras and equivalences.

≈  ≈_{d}  ≈_{da}  ≈_{g}  ≈_{ll}
≈  —  ⊂  ⊂  ⊂  ⊂
[Cas88]  [BCHK93]

A, B

≈_{d}  —  =  ⊂  #
[CDN97]  [CDN97]  [BCHK91a]

A, B

≈_{da}  —  ⊂  #

A, M

≈_{g}  —  #

[CDN97]

≈_{ll}  —

≈_{l} ≈_{l}^{s} ≈_{lc} ≈_{dg} ≈_{loc} ≈_{c} ≈_{gc} ≈_{lg} ≈_{rw} ≈_{ST}

Table 3.3: Summary of relationship between equivalences

≈_{l}  ≈_{l}^{s}  ≈_{lc}  ≈_{dg}  ≈_{loc}
≈  ⊂  ⊂  ⊂  ⊂  ⊂
≈_{d}  ⊂  ⊂  ⊂  ⊂  ⊂

[BCHK94]

≈_{da}  ⊂  ⊂  ⊂  ⊂  ⊂
≈_{g}  ⊂  ⊂  ⊂  ⊂  ⊂

[CDN97]

≈_{ll}  ⊂  ⊂  ⊂  ⊂  ⊂

[BCHK94]

≈_{l}  —  =  =  =  =
[Cas93]  [Kie94]  [CDN94]  [MY92]
≈_{l}^{s}  —  =  =  =
≈_{lc}  —  =  =
≈_{dg}  —  =
≈_{loc}  —

≈_{c} ≈_{gc} ≈_{lg} ≈_{rw} ≈_{ST} Table 3.4: Summary of relationship between equivalences continued

≈_{c}  ≈_{gc}  ≈_{lg}  ≈_{rw}  ≈_{ST}
≈  ⊂  ⊂  ⊂  ⊂  ⊂
[Kie94]  [PY94]  [Hen91]
E, F  A, H  A, F
≈_{d}  #  #  ⊂  #  #
E, F  A, H  A, F
≈_{da}  #  #  ⊂  #  #
E, F  A, H  A, J
≈_{g}  #  #  ⊂  #  #
C, D  G, H  G, J
≈_{ll}  #  #  ⊂  #  #

[BCHK93]

E, F  G, H  G, J
≈_{l}  #  #  ⊂  #  #
[BCHK91b]  [PY94]
≈_{l}^{s}  #  #  ⊂  #  #
≈_{lc}  #  #  ⊂  #  #

[Kie94]

≈_{dg}  #  #  ⊂  #  #
≈_{loc}  #  #  ⊂  #  #
≈_{c}  —  =  ⊂  #  #
[Kie94]  [PY94]
G, H  G, L
≈_{gc}  —  ⊂  #  #

[Kie94]

I, H  D, K
≈_{lg}  —  #  #

H, I

≈_{rw}  —  #
≈_{ST}  —

Table 3.5: Summary of relationship between equivalences continued

3.3 A syntax-free approach to comparison

As seen in the previous section, it is possible to consider a number of ad hoc results and use them to compare equivalences. However, it would be preferable to approach the comparison in a more systematic manner. In this section, I look at the underlying process domain, namely the labelled transition systems that describe the behaviour of process algebra terms and develop an approach to comparison.

As discussed in Chapter 2, the notion of transition system/transition preserving/saturating/bisimulation homomorphism has been defined and can be used to show that two labelled transition systems or states within a labelled transition system are bisimilar. As there are a number of different names used in the literature, in sometimes conflicting ways, I will use the term bisimulation homomorphism to describe these functions.

In the existing work that relates to bisimulation homomorphisms, it is assumed that the transition systems under consideration have labels that come from the same set. In the material that follows I will relax that assumption and broaden the definition of bisimulation homomorphism.

3.3.1 A general model of transition systems

I propose a model which will formalise the notions encapsulated in a number of the labelled transition systems that have been presented in the previous chapter. These labelled transition systems are characterised by transitions which are labelled with actions that are not necessarily atomic, i.e. they may have some structure. I will refer to them as extended labelled transition systems—‘extended’ because of the structured action. This is essentially the same as Definition 2.2.1. I am restating it here to emphasise the nature of the label set, and to add the definition of weak transitions.

Definition 3.3.1 (Extended labelled transition system) An extended labelled transition system (LTS) is defined as

L = (S, A, T )

where S is a set of states, A is a set of (not necessarily atomic) actions, and

T ⊆ (S × A × S).

I will usually write s ⟶^{a} s′ for (s, a, s′) ∈ T , and if it is required to prevent confusion, I will use s ⟶^{a}_{T} s′. Additionally, I am interested in transition systems that have a distinguished action τ and I have the following definitions which define a new labelled transition system over the states of S, using standard notation.

⟹ = (⟶^{τ})^{∗} and ⟹^{a} = ⟹⟶^{a}⟹ and ⟹^{τ} = ⟹⟶^{τ}⟹

I want to work with a general definition of bisimulation and I will make this more specific as required.

Definition 3.3.2 (Strong generalised bisimulation with respect to a relation) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs, and let B be a relation on A_{0} × A_{1}. A strong generalised bisimulation with respect to a relation B is a binary relation R ⊆ S_{0} × S_{1} such that (s_{0}, s_{1}) ∈ R only if

1. for all a_{0} ∈ A_{0}, whenever s_{0} ⟶^{a_{0}}_{T_{0}} t_{0}, then there exists t_{1} ∈ S_{1} and a_{1} ∈ A_{1}

such that s_{1} ⟶^{a_{1}}_{T_{1}} t_{1}, (a_{0}, a_{1}) ∈ B and (t_{0}, t_{1}) ∈ R,

2. for all a_{1} ∈ A_{1}, whenever s_{1} ⟶^{a_{1}}_{T_{1}} t_{1}, then there exists t_{0} ∈ S_{0} and a_{0} ∈ A_{0}

such that s_{0} ⟶^{a_{0}}_{T_{0}} t_{0}, (a_{0}, a_{1}) ∈ B and (t_{0}, t_{1}) ∈ R.

Two states, s_{0} and s_{1} are said to be strongly generalised bisimilar with respect to B, s_{0} ∼_{B} s_{1}, if there exists a strong generalised bisimulation R such that (s_{0}, s_{1}) ∈ R. Let ∼_{B} = ⋃{R | R is a strong generalised bisimulation with respect to B }.

Proposition 3.3.1 (Properties of strong generalised bisimulation with respect to a relation) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs, and let B be a relation on A_{0} × A_{1}.

1. ∼_{B} is the largest strong generalised bisimulation with respect to B.

2. If L_{0} = L_{1} and B is an equivalence relation then ∼_{B} is an equivalence relation.

Proof: Straightforward.

Note that the use of a symmetrical relation symbol, namely ∼, is not intended to indicate that the relation is necessarily symmetric or an equivalence^{∗}. If I take B to be the identity relation then I obtain the standard definition of strong bisimulation, and I will use ∼ for ∼_{Id}.

I am interested in the definition of weak bisimulation and also make a general definition. Here I assume that I have an element τ that is distinct from all other actions, and use the transitions defined above. Transitions labelled with τ play an important rôle in process algebras, as they indicate internal actions which result from communication. One often wishes to abstract away from these actions when observing the external behaviour of a process, and hence the notion of weak bisimulation is required. So although I wish to work in a syntax-free manner, the τ action is an important facet of the notion of equivalence.

Definition 3.3.3 (Weak generalised bisimulation with respect to a relation) Let L_{i} = (S_{i}, A_{i} ∪ {τ}, T_{i}) for i = 0, 1 be two LTSs, and let B be a relation on A_{0} × A_{1}. A weak generalised bisimulation with respect to a relation B is a binary relation R ⊆ S_{0} × S_{1} such that (s_{0}, s_{1}) ∈ R only if 1. for all a_{0} ∈ A_{0}, whenever s_{0} ⟶^{a_{0}}_{T_{1}} t_{0}, then there exists t_{1} ∈ S_{1} and a_{1} ∈ A_{1}

∗The word equivalence is used both to mean equivalence relation and semantic equivalence (which may or may not be an equivalence relation) in this document. When there may be confusion, I will use the longer phrases.

such that s_{1} ⟹^{a_{1}}_{T_{0}} t_{1}, (a_{0}, a_{1}) ∈ B and (t_{0}, t_{1}) ∈ R

2. for all a_{1} ∈ A_{1}, whenever s_{1} ⟶^{a_{1}}_{T_{1}} t_{1}, then there exists t_{0} ∈ S_{0} and a_{0} ∈ A_{0}

such that s_{0} ⟹^{a_{0}}_{T_{0}} t_{0}, (a_{0}, a_{1}) ∈ B and (t_{0}, t_{1}) ∈ R.

3. whenever s_{0} ⟶^{τ}_{T_{0}} t_{0}, then there exists t_{1} ∈ S_{1} such that s_{1} ⟹_{T_{1}} t_{1} and (t_{0}, t_{1}) ∈ R,

4. whenever s_{1} ⟶^{τ}_{T_{0}} t_{1}, then there exists t_{0} ∈ S_{0} such that s_{0} ⟹_{T_{1}} t_{0} and (t_{0}, t_{1}) ∈ R.

Two states, s_{0} and s_{1} are said to be weakly generalised bisimilar with respect to B, s_{0} ≈_{B} s_{1}, if there exists a weak generalised bisimulation R such that (s_{0}, s_{1}) ∈ R. Let ≈_{B} = ⋃{R | R is a weak generalised bisimulation with respect to B }.

Proposition 3.3.2 (Properties of weak generalised bisimulation with respect to a relation) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs, and let B be a relation on A_{0} × A_{1}.

1. ≈_{B} is the largest weak generalised bisimulation with respect to B.

2. If L_{0} = L_{1} and B is an equivalence relation then ≈_{B} is an equivalence relation.

Proof: Straightforward.

Again if I take B to be the identity relation then I obtain the standard definition of weak bisimulation, and I will use ≈ for ≈_{Id}. I choose in this chapter to work with weak bisimulation for two reasons: first, most of the examples presented in the literature use a weak form of bisimulation, and second, in this setting, working with τ transitions and weak bisimulation does not add significantly to the complexity of the results. I will use the term bisimulation when referring to the notion of weak bisimulation.

3.3.2 Bisimulation homomorphisms

I first present a general result that relates the bisimulations defined on different extended LTSs. I define homomorphisms on extended LTSs.

Definition 3.3.4 (Bisimulation homomorphism) A bisimulation homomorphism is a mapping

(h_{S}, h_{A}, h_{T}) : (S_{0}, A_{0}, T_{0}) → (S_{1}, A_{1}, T_{1})

with h_{S} : S_{0} → S_{1}, h_{A} : A_{0} → A_{1} and h_{T} : T_{0} → T_{1} such that

h_{T} (s ⟶^{a}_{T_{0}} s′) = h_{S}(s) ⟶^{h_{A}(a)}_{T_{1}} h_{S}(s′) and

h_{T} (s ⟶^{τ}_{T_{0}} s′) = h_{S}(s) ⟶^{τ}_{T_{1}} h_{S}(s′) if h_{S}(s) ≠ h_{S}(s′)

(hence h_{T} is determined by h_{S} and h_{A}) satisfying the following conditions

1. for each t ⟶^{a_{1}}_{T_{1}} t′ ∈ h_{T} (T_{0}) and each s such that h_{S}(s) = t, there exists

s ⟶^{a_{0}}_{T_{0}} s′ ∈ T_{0} such that h_{S}(s′) = t′ and h_{A}(a_{0}) = a_{1},

2. for each t ⟶^{τ}_{T_{1}} t′ ∈ h_{T} (T_{0}) with t ≠ t′ and each s such that h_{S}(s) = t, there exists s ⟶^{τ}_{T_{0}} s′ ∈ T_{0} such that h_{S}(s′) = t′.

Notation For convenience and where there is no confusion, I will refer to bisimulation homomorphisms as single functions, such as h.

This differs from Arnold and Castellani’s definition of a transition system homomorphism with zig-zag condition (given as conditions 1 and 2 in the definition above) [AC96], in that here I do not assume that the two transition systems have the same set of labels, and introduce a map between the two different label sets.

Note that this definition ignores τ loops in the image by only requiring a τ transition in the image when the end points are different—this also means that the image does not need to have a τ transition when the endpoints are the same. The intuition behind this is that this function is to have similar properties to bisimulation and hence certain (but not all) τ actions can be ignored. The second condition ensures that only the correct τ actions can be ignored. Moreover, the condition that t ≠ t′ in the second point of the definition ensures that τ loops in the image do not have to be matched by τ transitions in the domain.

I am now interested in relating the above definition to weak bisimulation, with respect to both the identity relation and to other relations over the set of labels.

As I will be working with a definition of bisimulation which requires that labels be related by a relation rather than matching, I first need to consider how a bisimulation homomorphism will interact with this relation.

Definition 3.3.5 (Consistency) Given two sets A_{0} and A_{1}, a function f : A_{0} → A_{1} and relations B_{i} ⊆ A_{i} × A_{i} for i = 0, 1. Then f is consistent with B_{0} and B_{1} if for a, a′ ∈ A_{0},

a B_{0} a′ ⇒ f(a) B_{1} f(a′)

Proposition 3.3.3 (Bisimulation homomorphisms and generalised bisimulation) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs with B_{i} a binary relation over A_{i} for i = 0, 1. If s ≈_{B_{0}} s′ in the LTS (S_{0}, A_{0}, T_{0}), and if there exists a bisimulation homomorphism h : (S_{0}, A_{0}, T_{0}) → (S_{1}, A_{1}, T_{1}) such that h : A_{0} → A_{1} is consistent with B_{0} and B_{1}, then h(s) ≈_{B_{1}} h(s′) in (h(S_{0}), A_{1}, h(T_{0})). Proof: Since s ≈_{B_{0}} s′, there exists a generalised bisimulation R_{0} ⊆ S_{0} × S_{0} such that (s, s′) ∈ R_{0}. Define R_{1} = {(s_{1}, s′_{1})|∃(s_{0}, s′_{0}) ∈ R_{0} such that h(s_{0}) = s_{1} and h(s′_{0}) = s′_{1}}. I wish to show that R_{1} is a bisimulation. Consider (s_{1}, s′_{1}) ∈ R_{1}. From the definition of R_{1}, there exists (s_{0}, s′_{0}) ∈ R_{0} such that h(s_{0}) = s_{1} and h(s′_{0}) = s′_{1}. There are two cases.

1. Suppose that s_{1} ⟶^{a_{1}} t_{1}. Now since s_{1} = h(s_{0}) for some s_{0} ∈ S_{0}, and from condition 1 in Definition 3.3.4, there exists s_{0} ⟹^{a_{0}} t_{0} ∈ T_{0} such that h(t_{0}) = t_{1} and h(a_{0}) = a_{1}. Now since R_{0} is a bisimulation, it can easily be

shown that s′_{0} ⟹^{a′_{0}} t′_{0} for some a′_{0} ∈ A_{0} and t′_{0} ∈ S_{0} with (a_{0}, a′_{0}) ∈ B_{0} and

(t_{0}, t′_{0}) ∈ R_{0}. Furthermore, h(s′_{0}) ⟹^{h(a′_{0})} h(t′_{0}) and since h is consistent with B_{0} and B_{1}, it is clear that h(a_{0})B_{1} h(a′_{0}). But since h(s′_{0}) = s′_{1}, s′_{1} ⟹^{h(a′_{0})} h(t′_{0}) and (t_{1}, h(t′_{0})) ∈ R_{1} as required.

2. Suppose that s_{1} ⟶^{τ} t_{1}. First consider when s_{1} ≠ t_{1}. Now since s_{1} = h(s_{0}) for some s_{0} ∈ S_{0}, and from condition 2 in Definition 3.3.4, there exists s_{0} ⟹^{τ} t_{0} ∈ T_{0} such that h(t_{0}) = t_{1}. Now since R_{0} is a bisimulation, it can easily be shown that s′_{0} ⟹ t′_{0} for some t′_{0} and (t_{0}, t′_{0}) ∈ R_{1}. Furthermore, it can also be shown that h(s′_{0}) ⟹ h(t′_{0}). Hence, h(s′_{0}) = s′_{1}, therefore s′_{1} ⟹ h(t′_{0}) and (t_{1}, h(t′_{0})) ∈ R_{1} as required. Next consider when s_{1} = t_{1}, hence s_{1} ⟶^{τ} s_{1}. Also s′_{1} ⟹ s′_{1} and (s_{1}, s′_{1}) ∈ R_{1} as required.

The symmetric conditions can be proved by similar arguments.

Because of the fact that bisimulation homomorphisms are functions, the converse (given two pairs of equivalent states in different transition systems and a function between the labels) does not hold. For example, if the two states in the first transition system are s_{1} and s_{2} with the transitions s_{1} ⟶^{a} s′_{1} and s_{2} ⟶^{a} s′_{2}, then clearly s_{1} and s_{2} are equivalent. Moreover if the states in the second transition system are t_{1} and t_{2} with the transitions t_{1} ⟶^{b} t′_{1}, t_{2} ⟶^{b} t′_{2} and t_{2} ⟶^{b} t′′_{2}, then clearly t_{1} and t_{2} are equivalent. Suppose the function f(a) = b is given, then I have the conditions for the converse of the theorem. But because I am trying to find a bisimulation homomorphism (which is a function), I cannot find a satisfactory way to map from the transition s_{2} ⟶^{a} s′_{2} to the transitions t_{2} ⟶^{b}t′_{2}

and t_{2} ⟶^{b}t′′_{2}.

An obvious candidate for the relation on A_{1} in the above is the one induced by h, namely for a_{1}, a′_{1} ∈ A_{1}, a_{1} B_{1} a′_{1} if

∃a_{0}, a′_{0} ∈ A_{0}, h(a_{0}) = a_{1}, h(a′_{0}) = a′_{1} and a_{0} B_{0} a′_{0}. Proposition 3.3.3 describes the relationship between generalised bisimulations between states from the same LTS. The next result shows how to obtain a generalised bisimulation between states in different LTSs.

Proposition 3.3.4 (Bisimulation homomorphism defines a generalised bisimulation) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs. If there exists a bisimulation homomorphism h : (S_{0}, A_{0}, T_{0}) → (S_{1}, A_{1}, T_{1}), then for all s ∈ S_{0},

s ≈_{h} h(s).

Proof: Define a relation R over S_{0} × S_{1} as R = {(s, h(s)) | s ∈ S_{0}}. I wish to show that this is a generalised bisimulation with respect to the function h : A_{0} → A_{1} (viewed as a binary relation). Consider (s_{0}, h(s_{0})) ∈ R; there are four cases.

• If s_{0} ⟶^{a_{0}} t_{0} for a_{0} ∈ A_{0} and t_{0} ∈ S_{0}, then h(s_{0}) ⟶^{h(a_{0})} h(t_{0}) and clearly

(a_{0}, h(a_{0})) ∈ h and (t_{0}, h(t_{0})) ∈ R as required.

• If s_{0} ⟶^{τ} t_{0} for t_{0} ∈ S_{0}, then either h(s_{0}) = h(t_{0}) and hence h(s_{0}) ⟹ h(t_{0}) or h(s_{0}) ⟶^{τ} h(t_{0}) and also h(s_{0}) ⟹ h(t_{0}). Moreover, in both cases (t_{0}, h(t_{0})) ∈ R as required.

• If h(s_{0}) ⟶^{a_{1}} t_{1} with h(s_{0}) ≠ t_{1} for a_{1} ∈ A_{1} and t_{1} ∈ S_{1} then since h is a bisimulation homomorphism, there exists a_{0} ∈ A_{0} and t_{0} ∈ S_{0} such that

h(a_{0}) = a_{1}, h(t_{0}) = t_{1} and s_{0} ⟶^{a_{0}} t_{0}. Clearly (a_{0}, a_{1}) ∈ h and (t_{0}, t_{1}) ∈ R as

required.

• If h(s_{0}) ⟶^{τ} t_{1} for t_{1} ∈ S_{1} and h(s_{0}) ≠ t_{1} then since h is a bisimulation homomorphism, there exists t_{0} ∈ S_{0} such that h(t_{0}) = t_{1} and s_{0} ⟶^{τ} t_{0}, and clearly (t_{0}, t_{1}) ∈ R as required. If h(s_{0}) = t_{1}, then h(s_{0}) ⟶^{τ} h(s_{0}) and also s_{0} ⟹ s_{0} and (s_{0}, h(s_{0})) ∈ R as required.

Note that the surjectivity of h_{T} is not needed for this result, since these results hold for the transition system that is reachable from h(S) and because I only work with the transition system that is the image of the homomorphism. A different approach can be taken by requiring that h(T_{0}) = T_{1}.

Arnold and Dicky [AD89] give two results that relate bisimulation and homomorphisms

• transition systems are (strongly) bisimilar if and only if they are bisimulation homomorphic images of a common transition system,

• states of a transition system are (strongly) bisimilar if and only if they have a common image by a bisimulation homomorphism.

I now investigate whether it is possible to obtain general results for weak generalised bisimulation along similar lines.

Proposition 3.3.5 (States that are images of a common state are bisimilar) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs with B a binary relation over A_{0}×A_{1}. Given two states s_{i} ∈ S_{i} for i = 0, 1, then s_{0} ≈_{B} s_{1} if there exists a transition system L = (S, A, T ) and two bisimulation homomorphisms h_{i} : L → L_{i} for i = 0, 1 such that s_{0} and s_{1} are the images under h_{0} and h_{1} respectively of a state s ∈ S, and for any a ∈ A, h_{0}(a) B h_{1}(a). Proof:

Let R = {(s′_{0}, s′_{1}) | ∃s′ ∈ S, h_{0}(s′) = s′_{0} and h_{1}(s′) = s′_{1}}. I need to show that this is a generalised weak bisimulation with respect to B. Let (s′_{0}, s′_{1}) ∈ R and consider s′_{0} ⟶^{a_{0}} s′′_{0}. There exists s′ ∈ S such that h_{0}(s′) = s′_{0} (and also h_{1}(s′) = s′_{1}), therefore there exists s′′ and a such that s′ ⟶^{a} s′′, h_{0}(s′′) = s′′_{0}

and h_{0}(a) = a_{0}. Consider h_{1}(s′) ⟶^{h_{1}(a)} h_{1}(s′′), namely s′_{1} ⟶^{h_{1}(a)} h_{1}(s′′). Hence

a_{0} B h_{1}(a) and (s′′_{0}, h_{1}(s′′)) ∈ R. Next, consider s′_{0} ⟶^{τ} s′′_{0} with s′_{0} ≠ s′′_{0}. By a

similar argument, there exists s′′ such that s′ ⟶^{τ} s′′ and h_{0}(s′′) = s′′_{0}, and hence

s′_{1} ⟶^{τ} h_{1}(s′′), with (s′′_{0}, h_{0}(s′′)) ∈ R as required. If s′_{0} = s′′_{0} then s′_{0} ⟶^{τ} s′_{0}, and also

s′_{1} ⟹ s′_{1} and (s′_{0}, s′_{1}) ∈ R as required. The other conditions for the bisimulation is shown in a similar way.

Note that the condition on the elements of A_{0} and A_{1} could have been made more specific to include only those that occur in the sub-transition system; however it does not seem necessary here. Arnold and Dicky’s original result related to whole transition systems; here I prefer to deal with states, but the proposition can be generalised by considering a collection of states and requiring that all states in L_{0} and L_{1} fall into the image of L.

The question arises as to whether the converse of this theorem holds. An obvious approach is to use a product construction and projection functions. Note, however, that for the construction and projection functions to fit the definitions of eLTS and bisimulation homomorphism, they must treat τ actions in a particular manner, and hence the standard construction cannot be used. The following example illustrates the difficulties with this approach.

[figure: s_{0}; a_{0}; a_{0}; s_{1}; s′_{1}; a_{1}; τ; s_{2}; s_{3}; t_{0}; b_{0}; t_{1}; b_{1}; τ; t_{2}; t_{3}]

Figure 3.2: Examples of transition systems

Consider the two transition systems in Figure 3.2 and assume that a_{0} B b_{0}, a_{1} B b_{1} and there are no other elements of B. Then s_{0} ≈_{B} t_{0}—consider the bisimulation {(s_{0}, t_{0}), (s_{1}, t_{1}), (s_{2}, t_{2}), (s_{3}, t_{3}), (s′_{1}, t_{3})}. It appears reasonable to use this bisimulation to define the states of the product transition system. However the state (s′_{1}, t_{3}) is problematic and it cannot be omitted. If there is a transition (s_{0}, t_{0}) ⟶^{(a_{0},b_{0})} (s′_{1}, t_{3}) then the projection function from the product to the second transition system maps this transition to t_{0} ⟶^{b_{0}} t_{3} which does not exist. However, to omit the transition in the product means there is no transition to map onto s_{0} ⟶^{a_{0}} s′_{1}. The definition of bisimulation homomorphism does not permit the removal of transitions from the range, and it is clear that the transition in the product cannot not be mapped to t_{0} ⟶^{b_{0}} t_{1}. This situation occurs because of the manner in which weak bisimulation is defined. Since s_{0} ≈_{B} t_{0}, s_{0} ⟶^{a_{0}} s′_{1} is matched by t_{0} ⟶^{b_{0}} t_{1} ⟶^{τ} t_{3} with s′_{1} ≈_{B} t_{3}. However, it is not the case that s′_{1} ≈_{B} t_{1}. It is not clear whether this can be resolved by looking for a different LTS and bisimulation homomorphisms. I now look at a generalisation of the second result.

Proposition 3.3.6 (States that have a common image are bisimilar) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs with B a binary relation over A_{0}×A_{1}. Given two states s_{i} ∈ S_{i} for i = 0, 1, then s_{0} ≈_{B} s_{1} if there exist a transition system L = (S, A, T ) and two bisimulation homomorphisms h_{i} : L_{i} → L for i = 0, 1 such that h_{0}(s_{0}) = h_{1}(s_{1}), and for a_{0} ∈ A_{0} and a_{1} ∈ A_{1}, h_{0}(a_{0}) = h_{1}(a_{1}) implies a_{0} B a_{1}. Proof: Define R = {(s′_{0}, s′_{1}) | h_{0}(s′_{0}) = h_{1}(s′_{1})}. I need to show that this is a generalised weak bisimulation with respect to B. Consider s′_{0} ⟶^{a_{0}} s′′_{0}, then h_{0}(s′_{0}) ⟶^{h_{0}(a_{0})} h_{0}(s′′_{0}), namely h_{1}(s′_{1}) ⟶^{h_{0}(a_{0})} h_{0}(s′′_{0}). By the definition of bisimulation homomorphism, there exist a_{1} and s′′_{1} such that s′_{1} ⟶^{a_{1}} s′′_{1}, h_{1}(a_{1}) = h_{0}(a_{0}) and

h_{1}(s′′_{1}) = h_{0}(s′′_{0}). Hence a_{0} B a_{1} and (s′′_{0}, s′′_{1}) ∈ R. Next consider s′_{0} ⟶^{τ} s′′_{0}. There

are two cases. Firstly if h_{0}(s′_{0}) = h_{0}(s′′_{0}), then s′_{1} ⟹ s′_{1}, and h_{0}(s′′_{0}) = h_{1}(s′_{1}) as required. Next, if h_{0}(s′_{0}) ⟶^{τ} h_{0}(s′′_{0}) then by a similar argument to above, I can show that s′_{1} ⟶^{τ} s′′_{1} with (s′′_{0}, s′′_{1}) ∈ R. The other conditions for bisimulation can be shown by a symmetric argument.

Since B is an arbitrary relation in the above proposition, I need to the additional condition on h_{0} and h_{1} that h_{0}(a_{0}) = h_{1}(a_{1}) implies that a_{0} B a_{1} to obtain the fact that it is a bisimulation with respect to B. If I wish to prove the converse of this above proposition, including the relationship between B and the bisimulation homomorphisms, I require an additional condition on B.

Definition 3.3.6 (Separation property) Let B be a binary relation over A_{0} × A_{1}. Let \overline{B} be the reflexive, symmetric and transitive closure of B over the disjoint union of A_{0} and A_{1} (A_{0} ⊎ A_{1}). Then B has the separation property if for a_{0} ∈ A_{0} and a_{1} ∈ A_{1},

a_{0} \overline{B} a_{1} ⇒ a_{0} B a_{1}

Examples of relations with this property are

• B ⊆ A × A where B is an equivalence relation,

• B ⊆ A_{0} × A_{1} where B is an injective function.

Proposition 3.3.7 (States that are bisimilar have a common image) Let L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1 be two LTSs with B a binary relation over A_{0}×A_{1} having the separation property. Given two states s_{i} ∈ S_{i} for i = 0, 1, then if s_{0} ≈_{B} s_{1} there exist a transition system L = (S, A, T ) and two bisimulation homomorphisms h_{i} : L_{i} → L for i = 0, 1 such that h_{0}(s_{0}) = h_{1}(s_{1}), and for a_{0} ∈ A_{0} and a_{1} ∈ A_{1}, h_{0}(a_{0}) = h_{1}(a_{1}) implies a_{0} B a_{1}. Proof: I wish to construct a transition system and two bisimulation homomorphisms. I work with the disjoint unions S_{0} ⊎ S_{1} and A_{0} ⊎ A_{1}. First, let \overline{B} be the reflexive, symmetric and transitive closure of B over A_{0} ⊎ A_{1}. Since \overline{B} is an equivalence relation, ≈\overline{B} is an equivalence over S_{0} ⊎ S_{1} with respect to the

transitions T′ = {s ⟶^{a} s′ | s ⟶^{a} s′ ∈ T_{0} or s ⟶^{a} s′ ∈ T_{1}} ∪ {s ⟶^{τ} s′ | s ⟶^{τ} s′ ∈

T_{0} or s ⟶^{τ} s′ ∈ T_{1}} by Proposition 3.3.2. Consider the following transition system L

S = (S_{0} ⊎ S_{1})/≈\overline{B}
A = (A_{0} ⊎ A_{1})/\overline{B}
T = {S ⟶^{A} S′ | S, S′ ∈ S, A ∈ A, ∃s ∈ S, s′ ∈ S′, a ∈ A such that

s ⟶^{a} s′ ∈ T′} ∪ {S ⟶^{τ} S′ | S, S′ ∈ S, ∃s ∈ S, s′ ∈ S′, such that

s ⟶^{τ} s′ ∈ T′}.

For i = 0, 1 and s, s′ ∈ S_{i}, a ∈ A_{i}, define the following homomorphisms

h_{i}(s) = [s]_{≈\overline{B}}
h_{i}(a) = [a]\overline{B}
h_{i}(s ⟶^{a} s′) = h_{i}(s) ⟶^{h_{i}(a)} h_{i}(s′)
h_{i}(s ⟶^{τ} s′) = h_{i}(s) ⟶^{τ} h_{i}(s′) if h_{i}(s) ≠ h_{i}(s′).

I now need to show that they are bisimulation homomorphisms. Consider S ⟶^{A} S′ with S = [s_{0}]_{≈\overline{B}} for some s_{0} ∈ S_{0}. I need to find s′_{0} ∈ S_{0} and a_{0} ∈ A_{0} such that [s′_{0}]_{≈\overline{B}} = S′ and [a_{0}]\overline{B} = A. By definition of T , there exists a ∈ A and s ∈ S′ such that s_{0} ⟶^{a} s ∈ T′, but by definition of T′, a ∈ A_{0} and s ∈ S_{0}, as required. The condition for τ transitions can be shown in a similar way, and a similar proof can be used to show that h_{1} is a bisimulation homomorphism. Finally I need to show that given a_{0} ∈ A_{0} and a_{1} ∈ A_{1}, h_{0}(a_{0}) = h_{1}(a_{1}) implies a_{0} B a_{1}, Clearly, if h_{0}(a_{0}) = h_{1}(a_{1}) then a_{0} \overline{B} a_{1}. However, since \overline{B} has the separation property, a_{0} B a_{1}.

This result is more general than Arnold and Dicky’s, both because it deals with different label sets, and because it considers two transition systems instead of a single one. Note that Proposition 3.3.4 is a special case of this proposition, with L = L_{0}, h_{0} = id, h_{1} = h, and B = h.

3.3.3 Discussion

My general aim in this thesis is to compare semantic equivalences. In this section, I will discuss the difficulties that occur when trying to use the results of Section 3.3 to effect a comparison of semantic equivalences. These results relate to labelled transition systems, which are the objects upon which semantic equivalences are defined in process algebras (within the context of this document). The results do not involve any notion of process algebra syntax, hence the term syntax-free. I first look at two possible approaches, and then will discuss the second approach in more detail.

• In the comparison over extensions to CCS given in the first part of this chapter, I am comparing the equivalences over the same states, i.e. over states with the same syntactic form, so given two equivalences, ≈_{1} and ≈_{2}, ≈_{1} ⊆ ≈_{2} is equivalent to the statement that for all p and q, p ≈_{1} q implies p ≈_{2} q, or that ≈_{1} equates fewer states than ≈_{2}. It is not clear here how to chose the states that one wants to compare the equivalence over. A possible approach when comparing two equivalences defined by relations B_{0} over A_{0} and B_{1} over A_{1} on two LTSs L_{i} = (S_{i}, A_{i}, T_{i}) for i = 0, 1, is to define an relation over S_{0} ×S_{1} which equates the states are to be considered equivalent. Then I can use the following definition:

Let Φ be a relation over S_{0}×S_{1}. Then ≈_{B_{0}}⊆_{Φ}≈_{B_{1}} if for all (s_{0}, s_{1}), (s′_{0}, s′_{1}) ∈

Φ, s_{0} ≈_{B_{0}} s′_{0} ⇒ s_{1} ≈_{B_{1}} s′_{1}

This definition can be written informally as follows: if two states are equated in the first transition system by the first equivalence, then any Φ-related pair of states must be equated in the second transition system by the second equivalence. Note that this involves LTSs where the equivalence is defined within the LTS, and not between different LTSs. The definition could be extended to allow this, although this would add complexity.

• The approach taken by van Glabbeek to comparing equivalence [vG90b] involves using LTSs with the standard atomic label set. He doesn’t concern himself with process algebra syntax—counter-examples are given by means of process graphs. This an approach that I will discuss in more detail.

For the rest of this section, I will assume that the semantic equivalences under consideration are based on bisimulation within an LTS that involves the identity of labels on transitions.

First assume that there is a notion of canonical LTS—by this I refer to a manner in constructing an LTS for a given label set that is in some sense as complete as possible, namely such that the equivalence classes induced by the expected definition of bisimulation for the label set cover as many different processes as is possible. As I have not pursued this research at a detailed level, I will leave this concept somewhat vague. Hence, although it is not possible to compare equivalences over LTSs based on the same label set as in van Glabbeek’s work, it may be possible to compare between canonical LTSs. An obvious tool to consider using is a bisimulation homomorphism. If the two LTSs are formed in a similar way which one would expect as they are both canonical LTSs, and there is suitable function between label sets, then it seems it should be possible to define a surjective bisimulation homomorphism between the LTSs. The crucial question then relates to what function should be used to map between the labels—ideally it should lose as little information as possible—for example, in the LTS for locations [BCHK93,BCHK94], each transition is labelled with a string of locations, and hence the ordering given by the string can be viewed as information that should be retained.

As an example of some of the difficulties involved, consider canonical LTSs for CCS with locations [BCHK94] and CCS with local/global causes [Kie94]. In the first case, each transition of the LTS will be labelled with an action and a string of location; and in the second, each transition will be labelled with an action and two sets of causes and a cause (See Section 2.2.1.2 for more details). I will ignore τ transitions for the purposes of this discussion. Assume that the set of locations and causes are the same (or that there is some bijective map between them). It is not clear how a map can be constructed from the labels of one transition system to the labels of the other. Taking an approach whereby the action is mapped to the action and any string of locations is mapped to the empty set, the empty set, and the first (or last) location in the string, does not fit well with the principle of retaining as much information as possible. A better approach may be to map the string of locations to the set of of the elements of the string, the set of the elements of the string and the last location in the string.

However, neither of these mappings take into account the implied semantics of the local/global cause labels, namely that the first set is a set of global cause and the second is a set of local causes. To successfully map from the two label sets, one requires an algebra to describe how these labels can be built up, and one must ensure that the map is a homomorphism with respect to the operators. I investigated some work in this direction, but it has not been particularly fruitful.

Another complication occurs when considering the LTS created by a particular SOS. Looking at the same example, when considering a comparison using algebras to reflect the way labels are constructed, it seems that the two label sets are not comparable—in the location labels, there is no constructor for anything similar to global causes, so it is not clear how to map from the string of locations to the global cause set; and for the local/global cause labels, there is no notion of order because only sets are used and hence there is no obvious way to map from the local cause set to the string of locations. However, looking at the way the labels are generated by the SOS, I end with a situation (when working with the pure CCS terms) that ≈_{lg} ⊂ ≈_{l}, since the way the labels appear in the LTS are constrained by the SOS, and the local/global cause labels actually contain more information than the location labels. This can be explained informally by the fact that in CCS with locations, any location can be used to label an action and hence the ordering of locations is not used differentiate between processes.

The above example illustrates that comparing over canonical LTSs may give different results to comparing over the LTSs generated by SOS. Hence it is not clear how to interpret results that could come out of this approach. Is it acceptable that the results from the comparison over the canonical LTSs don’t coincide with those for comparison over pure CCS terms (or other process algebra based comparisons), or more generally over LTSs with different characteristics to the canonical LTSs, and it is possible to come up with formal explanations for why this is this case?

Another approach then is to perform the comparison over the LTSs generated by SOS instead of the canonical LTSs. This approach still uses the canonical LTSs as a basis for the comparison, so the problems described above still need to be dealt with. A suitable bisimulation homomorphism is chosen to map between the two canonical LTSs with a suitable map between the label sets. Assuming the semantic equivalence under consideration is an equivalence relation, then the states of each canonical LTS can be partitioned by the equivalence. Moreover, it should be possible to show that there is an function on the equivalence classes induced by the bisimulation homomorphism that is surjective. Next, consider the equivalence classes induced by the semantic equivalences over the specific LTSs. Each equivalence class from the set of states of a specific LTS can be mapped into the equivalence class of the relevant canonical LTSs such that the elements of the equivalence classes are bisimilar (this should be possible if the definition of canonical LTS is correct). This map should be injective since in each case the same equivalence is being used. It may then be possible to induce a function from the equivalence classes of one specific LTS to the equivalence classes of the other, and hence then possible to do a comparison of the semantic equivalences by investigating which equivalence classes from the specific LTSs are mapped to each other by this construction. The interpretation of these results is still unclear, however. If there is a relation Φ over the states of the two specified LTSs, it is possible to check whether Φ is satisfied. However, this is dependent on the function used to map between the label sets and it is unclear how to ensure that this is satisfactory.

As an example, consider the two CCS extensions with locations by Boudol et al. [BCHK93, BCHK94]. They have slightly different approaches for how strings of locations are added to transitions—in the one case, only one location can be added per action, whereas in the other case, a string of locations can be added (including the empty string). However in both case, the bisimulation definition is the same (if in the case of parameterised bisimulation, the assumption is made that the relation is the identity relation) in that they require matching on actions and strings of locations. For this example, I will assume that these notions of bisimulation are identical (this assumption is open to question) and hence it is necessary only to work with one canonical LTS which has transitions labelled with actions and strings of locations (I will ignore τ transitions for the purposes of this discussion). Then I need to consider the two specific transition systems, one which is generated by the SOS of the ‘strict’ locations and the one generated by the ‘loose’ locations. In this case, I will assume that Φ is the relation that relates states with the same process names. Considering the processes P = (a.c | \overline{c}.b)\c and Q = (a.(c + b) | \overline{c}.b)\c [BCHK94]. Since P ≉_{l} Q and P ≈_{ll} Q, one would expect that P and Q to be in different equivalence classes in the strict location LTS and to be in the same class in the loose location LTS, and that the map on equivalence classes will map both [P]_{≈_{l}} and [Q]_{≈_{l}} to [P]_{≈_{ll}} (= [Q]_{≈_{ll}}). It is not clear how to interpret the results if this does not hold—a possible consideration is to review the assumption that it is possible to use the same canonical LTS.

As can be seen from the above, the details of this approach have not been formalised and the benefits of this approach are not clear. Additional complexity is introduced if the equivalences to be compared do not require exact matches of labels. Hence, I have chosen to look at a syntactic approach to comparison. However, in the course of this exploration, I have developed extensions of results relating to bisimulation homomorphism that cater for labelled transitions system with differing sets of labels.

3.4 Conclusion

In this chapter, I have considered two approaches to the comparison of process algebra equivalences. Neither are entirely satisfactory; the first relies on an ad hoc approach to comparison; and the second abstracts away from the syntax of the process algebra in a manner that makes it difficult to determine how to do the comparison. I have, however, in second section of the chapter, introduced some results about LTSs that involve a more general notion of bisimulation. In the next two chapters, I look at a method of comparison that is based on the operational semantics of process algebras.

A new format

4.1 Introduction

In this chapter, I start to look at how an understanding of the syntax of process algebras can be used to compare equivalences over process algebras. As was seen in the previous chapter, there is a limit to what can be achieved without considering the syntax. In this chapter, I take existing work on formats and extend it by considering structured labels. I then show under which conditions congruence with respect to strong bisimulation can be obtained.

I will first start with a number of standard definitions for many-sorted signatures and algebras, so that I can fix the notation which will be used in the rest of the document. Then in Section 4.3, I will present justification for why a new format is required and then present the new format—this involves working with a specific kind of many-sorted signature. I then extend a number of results to the new format. As the new format is somewhat more complex due to the fact that labels of transitions are dealt with syntactically instead of schematically, I require some additional conditions to ensure that congruence holds. I end the chapter with counter-examples to show that most of the conditions cannot be relaxed without losing congruence, and discuss the situation with the conditions for which I have no counter-examples.

4.2 Definitions

4.2.1 Many-sorted signatures and algebras

Definition 4.2.1 (Sorted set) For any set S, an S-sorted set A is a family {A_{s}}_{s∈S} of sets indexed by S.

Consider two S-sorted sets A and B. Intersection, union, difference and subset are defined component-wise. For example, A ∩ B = {A_{s} ∩ B_{s}}_{s∈S}. The union of sorted sets over different index sets is given in Definition 6.2.1 in Chapter 6.

Definition 4.2.2 (Signature) A signature Σ is a pair (S, F) where S is a set of sorts and F is a set of function symbols such that F is equipped with a mapping type : F → S^{∗} ×S. If type(f) = (ϵ, s) for some s ∈ S, then f is called a constant symbol. I write f : w → s for f ∈ F with type(f) = (w, s), and f : s_{1} … s_{n} → s if w = s_{1} … s_{n}. If w = ϵ is the empty string, then I write f :→ s.

In some texts, F is viewed as an S^{∗} × S-sorted set, which allows ‘overloading’ of function symbols. I will not go into this in detail here.

Let V be an S-sorted set of variables disjoint from F. The set of terms over V can be formed.

Definition 4.2.3 (Open and closed terms) Let Σ = (S, F) be a signature, and let W be an S-sorted subset of V. For each s ∈ S, the set T (Σ, W)_{s} of Σ-terms of sort s is the least set containing

• every x ∈ W_{s} of sort s and every constant symbol f → s ∈ F,

• every f(t_{1}, …, t_{n}) where f : s_{1} … s_{n} → s is a function symbol in F with range s and every t_{i} (1 ⩽ i ⩽ n) is a term of sort s_{i} in T (Σ, W)_{s_{i}}.

I use T (Σ, W) to denote the S-sorted set {T (Σ, W)_{s}}_{s∈S} and call this the set of Σ-terms over W.

T (Σ, ∅) is called the set of closed or ground terms, and is abbreviated T(Σ). T (Σ, ∅)_{s} (abbreviated T(Σ)_{s}) is called the set of closed terms of sort s or ground terms of sort s.

T (Σ, V) (abbreviated 𝕋(Σ)) is called the set of open terms, and T (Σ, V)_{s} (abbreviated 𝕋(Σ)_{s}) is called the set of open terms of sort s.

Notation Let S′ ⊆ S, then T(Σ)_{S′} is the S′-sorted set of closed terms with a sort in S′ and 𝕋(Σ)_{S′} is the S′-sorted set of open terms with a sort in S′.

Definition 4.2.4 (Sensible signature) Let Σ = (S, F) be a signature. Σ is called sensible if it admits one ground term for each sort, i.e. for all s ∈ S, T(Σ)_{s} ≠ ∅.

Definition 4.2.5 (Variables contained within a term) Let Σ = (S, F) be a signature, and let t ∈ 𝕋(Σ). I define the variables of sort s in t, Var_{s}(t), as follows

Var_{s}(t) = \begin{cases}\{x\} & if t = x and x ∈ V_{s} \\ Var_{s}(t_{1}) ∪ … ∪ Var_{s}(t_{n}) & if t = f(t_{1}, …, t_{n}),f ∈ F \\ ∅ & otherwise \end{cases}

Var(t) denotes the S-sorted set {Var_{s}(t)}_{s∈S}.

Definition 4.2.6 (Substitution) Let Σ = (S, F) be a signature. A substitution σ is a mapping in V → 𝕋(Σ) which preserves sorts, i.e. σ|V_{s} : V_{s} → 𝕋(Σ)_{s} for each s ∈ S. A substitution σ is extended to a mapping σ : 𝕋(Σ) → 𝕋(Σ) in the standard way by the following definition for f ∈ F with f : s_{1} … s_{n} → s

σ(f(t_{1}, …, t_{n})) = f(σ(t_{1}), …, σ(t_{n})) for f ∈ F, t_{i} ∈ 𝕋(Σ)_{s_{i}}, 1 ⩽ i ⩽ n.

If σ and ρ are substitutions, then the substitution σ ∘ ρ is defined by (σ ∘ ρ)(x) = σ(ρ(x)).

Definition 4.2.7 (Σ-algebra) Let Σ = (S, F) be a signature. A Σ-algebra consists of an S-sorted family of non-empty carrier sets {A_{s}}_{s∈S}, also denoted A; and a total function f^{A} : A_{s_{1}} × … × A_{s_{n}} → A_{s} for each f ∈ F such that f : s_{1} … s_{n} → s.

Definition 4.2.8 (Σ-homomorphism) Let Σ = (S, F) be a signature and let A and B be two Σ-algebras. A Σhomomorphism h : A → B is a family of maps {h_{s} : A_{s} → B_{s}}_{s∈S} such that for each f ∈ F where f : s_{1} … s_{n} → s, and a_{1} ∈ A_{s_{1}}, …, a_{n} ∈ A_{s_{n}},

h_{s}(f^{A}(a_{1}, …, a_{n})) = f^{B}(h_{s_{1}}(a_{1}), …, h_{s_{n}}(a_{n})).

Both 𝕋(Σ) and T(Σ) form Σ-algebras and it can be shown that there is a unique homomorphism denoted i_{A} from T(Σ) to any Σ-algebra A.

Definition 4.2.9 (Σ-congruence) Let Σ = (S, F) be a signature and let A be a Σ-algebra. A Σ-congruence on A is an S-sorted equivalence relation ≡ which is compatible with all function symbols, i.e. ≡ = {≡_{s}}_{s∈S}, and for all s ∈ S, ≡_{s} ⊆ A_{s} × A_{s} is reflexive, symmetric and transitive, and for any f ∈ F such that f : s_{1} … s_{n} → s and for all a_{i}, b_{i} ∈ A_{s_{i}} for 1 ⩽ i ⩽ n

a_{i} ≡_{s_{i}} b_{i} (1 ⩽ i ⩽ n) ⇒ f^{A}(a_{1}, …, a_{n}) ≡_{s} f^{A}(b_{1}, …, b_{n}).

For each Σ-algebra, there exists a congruence over T(Σ), defined as t ≡_{A} t′ whenever i_{A}(t) = i_{A}(t′) for t, t′ ∈ T(Σ). I will sometimes use the following notation for a signature Σ

( s_{1}, s_{2}, …; f_{1}, f_{2}, …; g_{1}, g_{2}, …)

where s_{1}, s_{2}, … is a list of the sorts of S; f_{1}, f_{2}, … is a list of the functions from F with type → s for s ∈ S; and g_{1}, g_{2}, … is a list of the remaining functions from F. A Σ-algebra A will also be written in a similar fashion

( A_{s_{1}}, A_{s_{2}}, …; f_{1}^{A}, f_{2}^{A}, …; g_{1}^{A}, g_{2}^{A}, …).

4.2.2 Labelled transition systems

In the previous chapter, I defined labelled transition systems. I am now interested in labelled transition systems which have a sorted set of labels. The definition can be extended in the obvious way.

Definition 4.2.10 (Sorted labelled transition system) Let S be a set. An S-sorted labelled transition system (LTS) is defined as L = (S, A, T ) where S is a set of states, A is an S-sorted set of transition labels, and the relation T ⊆ S × A × S describes which transitions occur between states. Generally, I write s ⟶^{a} s′ for (s, a, s′) ∈ T .

4.3 Extended transition system specifications

I wish to use many-sorted signatures and algebras as a way of extending the notion of format. Prior work in formats relies on using a single-sorted signature and the corresponding term algebra to represent the processes, and assumes an atomic set of actions. Moreover, the actions are treated in a different manner to the process terms, since they are treated in a schematic way, namely a rule is understood to represent a number of rules, each with a different label appearing on each transition. This approach is satisfactory for dealing with an atomic action set, but quite soon becomes unsatisfactory when dealing with more complex action sets. The general idea behind this new format is that all components will be dealt with syntactically, both processes and transition labels (actions), and this will be done by using the term algebra of a given signature, Σ. Then the actual labels of the process algebra will be represented as terms in a Σ-algebra. Since there is a unique homomorphism from the term algebra to any Σ-algebra which induces an equivalence on the elements of the term algebra, this equivalence can then be used to match labels in the definition of bisimulation.

Since the aim of formats is to be able to prove theorems about process algebras based on SOS in a syntactic manner, taking the approach I have taken here is a logical extension to the existing notion of format. It introduces some additional complexity, since in essence it requires that there is also a semantic equivalence over the labels (by this, I refer to the equivalence which equates syntactic forms which I wish to view as the same) as well as one over the processes (bisimulation). The fact that the semantic equivalence over the labels is induced by another Σalgebra, means that it is possible to work with an equivalence over the labels without considering the specific Σ-algebra, and this is how I will proceed for the next two chapters. Then in Chapter 6, I will investigate what effect the conditions required in this chapter for congruence have on the Σ-algebras that can be used to represent process algebra labels.

Another reason for dealing with labels in a syntactic manner is the fact that in some of the newer process algebras, the equivalence on processes does not require an exact match between labels. It is not clear that the existing formats can fit with a more general definition of bisimulation, because of the schematic use of variables.

Finally, an important aspect of some of the extensions to CCS is the fact that information about the computation is stored in the process terms. Examples of process algebras that use this technique are CCS with locations [BCHK93, BCHK94], CCS with local and global causes [Kie94] and CCS with causalities [DD89,DD90]. Using labels syntactically gives a full account of how this passing of information is performed.

The issue of schemas will be returned to in Chapter 6 where I make use of schematic representation as a means to express large rule sets, and I will explain why these schemas differ from the variables used in the format.

I have focussed on extending the tyft/tyxt format, and hence will not concern myself in this document with negative premises or predicates, but leave these as an issue for further work. I will discuss this further in Chapter 7.

As I am interested in process algebras which have more complex sets of actions, I will now take this into account in my model of these process algebras and define a new format. As will be seen in Chapter 5, taking this syntactic approach and permitting different sorts in the labels is a powerful tool when comparing process algebras and their equivalences.

I will start by defining a specific type of sorted set and signature which I will use to represent the terms that appear in the rules of the format.

I will assume that the S-sorted sets under consideration do not contain a distinguished sort P (named for processes), and will insist that the functions of the signatures of interest have the following constraint

for any function symbol f : s_{1} … s_{n} → s, if s ≠ P then for all 1 ⩽ i ⩽
n, s_{i} ≠ P.

This means that only functions with range of sort P can take arguments of sort P, and this will mean that only process terms can contain process terms. This is reasonable because it is the way process algebras are specified; moreover if there is a need for a label term to contain a process term, it would be possible to define a label term that would be understood to represent the process term.

Definition 4.3.1 (Suitable signature) A signature Σ = (S ∪ {P}, F) is called suitable if and only if

• S does not contain the distinguished element P and is non-empty,

• for any function symbol f ∈ F such that f : s_{1} … s_{n} → s, whenever s ≠ P then for all 1 ⩽ i ⩽ n, s_{i} ≠ P.

At this stage of the work, I wish to work with signatures that are both sensible and suitable. However, I will not insist that suitable signatures are sensible because in the next chapter when I consider extensions, I wish to use the two concepts separately.

For convenience, I will assume that functions that have a range of sort P, will be written with the non-P arguments first and then the arguments of sort P; for example, f : s_{1} … s_{m}P … P → P; and will also assume that there are n ⩾ 0 arguments with sort P, making the total number of arguments that f takes to be m + n.

Notation Let Σ = (S∪{P}, F) be a suitable signature and let V be an S-sorted set of variables. I will use both V_{S} and V\overline{P} for V − V_{P}, both 𝕋(Σ)_{S} and 𝕋(Σ)\overline{P} for 𝕋(Σ) − 𝕋(Σ)_{P}, and both T(Σ)_{S} and T(Σ)\overline{P} for T(Σ) − T(Σ)_{P}. For variables, I will use x, x′, y, y′, … to range over V_{P}, and z, z′, … to range over variables from V\overline{P}. However, I will also occasionally use x, x′, … to range over V. I will use p, p′, q, q′, … to range over 𝕋(Σ)_{P} and u, u′, v, v′, … to range over T(Σ)_{P}. I will use t, t′, … to range over all terms from 𝕋(Σ) and λ, λ′, η, η′, … to range over terms from 𝕋(Σ)\overline{P}. Furthermore, I will use α, α′, β, β′, μ, μ′, ν, ν′, … to range over terms from T(Σ)\overline{P}.

Note that the requirement on functions with range P implies that terms from 𝕋(Σ)\overline{P} contain no variables from V_{P} or functions with range P.

Proposition 4.3.1 (Terms over a suitable signature) Let Σ = (S ∪ \{P\}, F) be a suitable signature. Then t ∈ 𝕋(Σ)\overline{P} contains no variables from V_{P} or functions with range P. Proof: Let t ∈ 𝕋(Σ)\overline{P}. If t = x, then t has sort s for some s ≠ P. If t = f(t_{1}, …, t_{n}), then f : s_{1} … s_{n} → s and s_{i} ≠ P for all 1 ⩽ i ⩽ n since s ≠ P. So by an inductive argument based on the structure of the term, it is clear that no t_{i} contains a variable from V_{P} or function with range P, hence t does not.

Note that the definitions that follow could have been given in a more general fashion, by not specifying the sorts of the labels, targets and sources; and this distinction could have been made when the extended tyft/tyxt format was defined. However, since there appears to be an inherent lack of symmetry in the way processes and actions are treated, I have chosen to be more specific in the following definitions.

I now define an extended transition system specification. This definition extends the earlier definitions by allowing a richer structure for the labels.

Definition 4.3.2 (Extended transition system specification) An extended transition system specification (eTSS) is a pair (Σ, R) with Σ a suitable signature and R a set of rules of the form

\frac{\{p_{i} ⟶^{λ_{i}} p′_{i} | i ∈ I\}}{p ⟶^{λ} p′}

where I is an index set, p_{i}, p′_{i}, p, p′ ∈ 𝕋(Σ)_{P}, and λ_{i}, λ ∈ 𝕋(Σ)\overline{P} for i ∈ I.

If r is a rule in the format above, then the elements of {p_{i} ⟶^{λ_{i}} p′_{i} | i ∈ I} are called the premises or hypotheses of r, and p ⟶^{λ} p′ is called the conclusion of r. A rule with I = ∅ is called an axiom and is written p ⟶^{λ} p′. An expression of the form p ⟶^{λ} p′ with λ ∈ 𝕋(Σ)\overline{P} and p, p′ ∈ 𝕋(Σ) is called a transition (labelled with λ); p is called the source, and p′ is called the target of the transition. ϕ, ψ, χ, … are used to range over transitions. The notions of closed, substitution and Var can be extended to transitions in the obvious way.

Definition 4.3.3 (Proof) Let E = (Σ, R) be an eTSS with Σ a sensible signature. A proof of a transition ψ from E is a well-founded, upwardly branching tree of which the nodes are labelled by transitions p ⟶^{λ} p′ with λ ∈ 𝕋(Σ)\overline{P} and p, p′ ∈ 𝕋(Σ)_{P}, such that

• the root is labelled with ψ,

• if χ is the label of a node π and {χ_{i} | i ∈ I} is the set of labels of the nodes directly above π, then there is a rule

\frac{\{ϕ_{i} | i ∈ I\}}{ϕ}

in R and a substitution σ : V → 𝕋(Σ) such that χ = σ(ϕ) and χ_{i} = σ(ϕ_{i})

for all i ∈ I.

If a proof ψ from E exists, I say that ψ is provable from E, notation E ⊢ ψ. A proof is closed if it only contains closed transitions.

I now present a running example which I will use in this chapter and the next. It is based on a subset of CCS. Note that instead of a schematic prefix operator a.x as used in tyft/tyxt format, I now use a prefix operator with two arguments, pref(z, x)—the first argument is for the label and the second for the process. Hence instead of an infinite number of prefix operators, I now have only one. More detailed examples will be given in Chapter 6.

Example 4.3.1 (Example of an eTSS) Let A be a disjoint set, disjoint from the variables and any other function symbols. I will also use A as a sort name—this does not cause problems. Consider the signature Σ_{CCSSub}, ( A, P; {a}_{a∈A}, nil; pref, plus ) with the types a :→ A ∀a ∈ A, nil :→ P, plus : P, P → P, pref : A, P → P. Clearly this is a sensible and suitable signature. Consider the rule set R_{CCSSub}

\overline{pref(z, x) ⟶^{z}x} \frac{x ⟶^{z}y}{plus(x, x′) ⟶^{z}y} \frac{x ⟶^{z}y}{plus(x′, x) ⟶^{z}y}

and define E_{CCSSub} = (Σ_{CCSSub}, R_{CCSSub}). Then E_{CCSSub} is an eTSS. I can prove the transition plus(pref(a, nil), pref(b, nil)) ⟶^{b}nil in the following manner. Consider the proof tree

\frac{pref(b, nil) ⟶^{b}nil}{plus(pref(a, nil), pref(b, nil)) ⟶^{b}nil}.

It is possible to find suitable rules and substitutions to construct this proof tree. For example, taking the last rule, and the substitution σ with σ the identity except that σ(x) = pref(b, nil), σ(x′) = pref(a, nil), σ(y) = nil and σ(z) = b, the conditions are satisfied for the bottom node and the node above it. For the top node, the rule to use is the axiom together with the substitution σ′ with σ′ the identity everywhere except σ′(z) = b and σ′(x) = nil.

Lemma 4.3.1 (Closed transitions are provable by closed proofs) Let E = (Σ, R) be an eTSS with Σ a sensible signature, let λ ∈ T(Σ)\overline{P}, u, u′ ∈ T(Σ)_{P} such that E ⊢ u ⟶^{λ} u′. Then u ⟶^{λ} u′ is provable by a closed proof. Proof: Since E ⊢ u ⟶^{λ} u′ there is a proof tree T for u ⟶^{λ} u′. Define the substitution σ : V → T(Σ) by σ(x_{s}) = t for x_{s} ∈ V_{s} where t is a closed term from T(Σ). Such a t exists for each sort since Σ is sensible. Applying σ to all transitions in the proof T yields a closed proof tree T′ which is also a proof of

u ⟶^{λ} u′.

I can define the labelled transition system generated by an eTSS.

Definition 4.3.4 (LTS specified by an eTSS) Let E = (Σ, R) be an eTSS with Σ, a sensible signature. The LTS T S(E) specified by E is given by

T S(E) = (T(Σ)_{P}, T(Σ)\overline{P}, ⟶)

where ⟶⊆ T(Σ)_{P} × T(Σ)\overline{P} × T(Σ)_{P} is defined by u ⟶^{α} u′ ⟺ E ⊢ u ⟶^{α} u′.

Part of the LTS described by the eTSS E_{CCSSub} is given in Figure 4.1. In the figure, I give the transitions from the term plus(pref(a, nil), pref(b, nil)).

[figure: plus(pref(a, nil), pref(b, nil)); a; b; nil]

Figure 4.1: LTS given by term from Example 4.3.1

Definition 4.3.5 (Transition equivalence) Two eTSSs E and E′ are transition equivalent if T S(E) = T S(E′).

Example 4.3.2 (Transition equivalence) Consider the eTSS from Example 4.3.1. If I define a new eTSS that is the same as E_{CCSSub} but with the additional rule

\frac{x ⟶^{z}y}{x ⟶^{z}y}

then the two eTSSs are transition equivalent.

I could work with the standard definition of bisimulation, but that would not be of much interest since I would only be comparing labels which are syntactically equal. I will assume that I have an S-sorted equivalence that equates terms I wish to view as the same, hence I have the following definition.

Definition 4.3.6 (Strong bisimulation with respect to an equivalence over a sorted set) Let S be a set. Let L = (S, A, ⟶) be an S-sorted LTS, and let ≡ be an S-sorted equivalence relation on A. A strong bisimulation with respect to an equivalence relation ≡ is a binary relation R ⊆ S ×S such that (s, t) ∈ R only if for all a ∈ A

1. whenever s ⟶^{a} s′, then there exists t′ ∈ S and b ∈ A such that t ⟶^{b}t′, a ≡ b and (s′, t′) ∈ R

2. whenever t ⟶^{a} t′, then there exists s′ ∈ S and b ∈ A such that s ⟶^{b}s′, a ≡ b and (s′, t′) ∈ R.

Two states, s and t are strongly bisimilar with respect to ≡, s ∼_{≡} t, if there exists a strong bisimulation R such that (s, t) ∈ R. The relation ∼_{≡} = ⋃{R | R is a strong bisimulation with respect to ≡ } is the largest strong bisimulation with respect to ≡ and is an equivalence relation, hence the name strong equivalence with respect to ≡.

This definition means that I am only interesting in comparing transitions with labels of the same sort and this appears to be a reasonable requirement, and as will be shown in the rest of the document, a powerful mechanism for comparing process algebras. I have chosen an equivalence in the definition above, as I wish the bisimulation to be an equivalence.

As mentioned earlier, when expressing process algebras, a Σ-algebra will be used to define the semantics of the actual labels and this will induce an equivalence over the terms of the term algebra. This can expressed as a requirement that the transition system of the process algebra is isomorphic to the transition system

(T(Σ)_{P}/≡, T(Σ)\overline{P}/≡, T ),

T = \{S ⟶^{A} S′ | S, S′ ∈ T(Σ)_{P}/≡, A ∈ T(Σ)\overline{P}/≡, ∀s ∈ S, s′ ∈ S′, a ∈ A, s ⟶^{a} s′\}.

Note I am working with strong bisimulation as a starting point, because weak bisimulation would introduce additional complications. I wish to investigate weak bisimulation as further work, and will discuss it further in the final chapter.

4.3.1 Extended tyft/tyxt format

I now have a general definition of an eTSS, but I would like to find a more specific definition that has desirable properties, such as being a congruence with respect to bisimulation equivalence. In the rest of this chapter, I follow much the same path as Groote and Vaandrager [GV92] in showing congruence, although my definitions and results require more care because of the new way of dealing with labels, and I also need a new condition on how the equivalence and labels interact. I propose the following definition.

Definition 4.3.7 (Extended tyft/tyxt format) Let Σ = (S ∪ {P}, F) be a suitable signature and let E = (Σ, R) be an eTSS. A rule in R is in extended tyft format if it has the form

\frac{\{p_{i} ⟶^{λ_{i}} y_{i} | i ∈ I\}}{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}

with • I an index set,

• f ∈ F such that f : s_{1} … s_{m}P … P → P with s_{k} ≠ P for all 1 ⩽ k ⩽ m,

• x_{j} (1 ⩽ j ⩽ n) and y_{i} (i ∈ I) all different variables from V_{P},

• p ∈ 𝕋(Σ)_{P}, λ ∈ 𝕋(Σ)\overline{P},

• η_{k} ∈ 𝕋(Σ)_{s_{k}} such that Var\overline{P}(η_{k}) ⊂ V\overline{P} − ⋃_{\begin{matrix}1⩽l⩽m \\ l≠k \end{matrix}}Var\overline{P}(η_{l}) for 1 ⩽ k ⩽ m,

• λ_{i} ∈ 𝕋(Σ)\overline{P} for i ∈ I such that Var\overline{P}(λ_{i}) ⊂ V\overline{P} − ( ⋃_{l∈I,l≠i}Var\overline{P}(λ_{l}) ∪ ⋃_{1⩽k⩽m}Var\overline{P}(η_{k})) for all i ∈ I.

• p_{i} ∈ 𝕋(Σ)_{P} such that Var\overline{P}(p_{i}) ⊂ V\overline{P} − ⋃_{l∈I} Var\overline{P}(λ_{l}) for i ∈ I. A rule in R is in extended tyxt format if it has the form

\frac{\{p_{i} ⟶^{λ_{i}} y_{i} | i ∈ I\}}{x ⟶^{λ} p}

with • I an index set,

• x and y_{i} (i ∈ I) all different variables from V_{P},

• p ∈ 𝕋(Σ)_{P}, λ ∈ 𝕋(Σ)\overline{P},

• λ_{i} ∈ 𝕋(Σ)\overline{P} such that Var\overline{P}(λ_{i}) ⊂ V\overline{P} − ⋃_{l∈I,l≠i}Var\overline{P}(λ_{l}) for all i ∈ I.

• p_{i} ∈ 𝕋(Σ)_{P} such that Var\overline{P}(p_{i}) ⊂ V\overline{P} − ⋃_{l∈I} Var\overline{P}(λ_{l}) for i ∈ I.

E is in extended tyft/tyxt format if every rule in R is either in extended tyft format or extended tyxt format. A labelled transition system L is called extended tyft/tyxt specifiable if there exists an eTSS E in extended tyft/tyxt format with L = T S(E).

To summarise, I require for this definition that all the x_{j}’s and y_{i}’s are distinct. λ and p can contain any variables; however the λ_{i}’s must have distinct variables from each other and from the p_{i}’s and the η_{k}’s. Also the η_{k}’s must have distinct variables from each other. Example 4.3.1 is in tyft/tyxt format.

I will proceed to show that for certain equivalences, bisimulation with respect to those equivalences is a congruence. This is similar to the standard requirement for formats. Congruence is an important property of process algebra equivalences, since it can be used to show that systems composed of bisimilar components are bisimilar. Hence, because of this importance, it is reasonable to first evaluate a format’s effectiveness in terms of whether congruence can be shown for any process algebra in that format.

I will also give counter-examples to show that the requirements cannot be further relaxed without losing congruence. However, it is not yet known whether the requirement for the p_{i}’s and λ_{i}’s to have distinct variables is necessary for the congruence result. To achieve the congruence result, I require some additional definitions. Firstly, I need some conditions for the type of equivalence that will allow congruence to work. If I were to go for a simpler format, where only variables are allowed to appear in the positions of the p_{i}’s, λ_{i}’s and η_{k}’s then any congruence could be used, but then the format would not have the features that would allow it to be general enough to capture many process algebras of interest.

Definition 4.3.8 (Compatibility) Let Σ = (S ∪ {P}, F) be a suitable signature and let E = (Σ, R) be an eTSS in extended tyft/tyxt format. Let ≡ be a congruence on T(Σ). ≡ is compatible with r ∈ R if for any η ∈ 𝕋(Σ)\overline{P} that appears on a transition in a premise of r or as an argument to the function in the source of the conclusion of r, then whenever σ(η) ≡ μ for μ ∈ T(Σ)\overline{P}, there exists a substitution σ′ such that μ = σ′(η) and σ(z) ≡ σ′(z) for all z ∈Var\overline{P}(η).

I say that ≡ is compatible with E if ≡ is compatible with all rules in R.

Note that if η = z, then the required condition is always fulfilled since one can define σ′(z) = μ, and obviously σ(z) ≡ σ′(z). Furthermore, note that the occurrence of repeated variables in η results in the only compatible congruence being syntactic equivalence. Consider a function symbol g with arity 2, and let η = g(z, z). Moreover, assume there exist μ_{1} ≡ μ_{2} with μ_{1} and μ_{2} syntactically different and consider the substitution σ such that σ(z) = μ_{1}. It is clear that σ(g(z, z)) ≡ g(μ_{1}, μ_{2}), however it is not possible to find a substitution σ′ such that σ′(g(z, z)) = g(μ_{1}, μ_{2}). So although the extended tyft/tyxt format does not rule out repeated variables in labels in premises or in the arguments to the function in the source of the conclusion, generally I will not use these in practice because they are not of interest. Examples of rules that do not exhibit compatibility will be given in the counter-examples that appear after Theorem 4.3.1. This issue will be raised again in Chapter 6 when I consider the implications of compatibility for Σ-algebras.

The following definition is required to ensure that there are no cycles of variable references appearing in the premises. I will discuss recent work relating to well-foundedness at the end of this chapter.

Definition 4.3.9 (Well-foundedness) Let E = (Σ, R) be an eTSS. Let U = {p_{i} ⟶^{λ_{i}} p′_{i} | i ∈ I} be a set of transitions of E. The dependency graph of U is a directed (unlabelled) graph with

• Nodes: ⋃_{i∈I} Var_{P}(p_{i} ⟶^{λ_{i}} p′_{i}),

• Edges: {⟨x, y⟩ | x ∈ Var_{P}(p_{i}), y ∈ Var_{P}(p′_{i}) for some i ∈ I}.

A set of transitions is called well-founded if any backward chain of edges in the dependency graph of these transitions is finite. A rule is called well-founded if the set of its premises is so. Finally, an eTSS is called well-founded if all of its rules are well-founded.

To prove the congruence result, this condition is required. Recently it has been shown that for the original tyft/tyxt format that any rule can be written in a well-founded form [FvG96]. As yet I do not know if it is possible to show a similar result for the extended tyft/tyxt format. However, it is not a condition that in any way affects the process algebras which I will consider later in this thesis, and hence I will not concern myself with it, except for a short discussion in the counter-examples sections in this chapter and as an issue for further work.

Example 4.3.3 (Well-foundedness) E_{CCSSub} is well-founded. Note also that for any congruence over the set of terms, it is compatible, since there are only variables that appear on transitions in premises, or in the source of the conclusion.

I require some additional definitions that allow us to work with eTSSs conveniently, and I need to ensure that I can preserve compatibility and well-foundedness when I use the results.

Lemma 4.3.2 (Well-founded extended tyft/tyxt can be transformed to well-founded extended tyft) Let Σ = (S ∪ {P}, F) be a suitable, sensible signature and let E = (Σ, R) be a well-founded eTSS in extended tyft/tyxt format. Let ≡ be an congruence on T(Σ) such that ≡ is compatible with R. Then there is a transition equivalent well-founded eTSS E′ = (Σ, R′) in extended tyft format such that ≡ is compatible with R′. Proof: Define R′ by

• every extended tyft rule of R is in R′,

• for every extended tyxt rule r ∈ R and for every function symbol f ∈ F such that f : s_{1} … s_{m}P … P → P, r_{f} is in R′ where r_{f} is obtained by substituting f(z_{1}, …, z_{m}, x_{1}, …, x_{n}) for x in r with z_{k} ∈ V_{s_{k}}−Var_{s_{k}}(r) (1 ⩽ k ⩽ m) and {x_{1}, …, x_{n}} ⊆ V_{P}−Var_{P}(r).

If the rules in R are well-founded, then it is clear that the rules in R′ are wellfounded, since none of the premises of rules have been changed. Note that ≡ is compatible with R′ since only function symbols of form f(z_{1}, …, z_{m}, x_{1}, …, x_{n}) have been added.

Suppose that u ⟶^{α} u′ is a transition in T S(E). Then there is a closed proof from E of this transition. One can easily see that this is also a proof of u ⟶^{α} u′ from E′. A similar argument shows that every transition of T S(E′) is a transition T S(E).

Definition 4.3.10 (Freeness of variables) Let E = (Σ, R) be an eTSS, and let r be a rule in R. A variable in Var_{P}(r) is called free if it does not occur in the left hand side of the conclusion or in the right hand side of a premise.

Definition 4.3.11 (Pureness of rules) Let E = (Σ, R) be an eTSS. A rule r ∈ R is called pure if it is well-founded and contains no free variables from V_{P}. The eTSS E is called pure if all its rules are pure.

Lemma 4.3.3 (Well-founded extended tyft/tyxt can be transformed to pure extended tyft) Let E = (Σ, R) be a well-founded eTSS in extended tyft/tyxt format with Σ a sensible signature. Let ≡ be a congruence on T(Σ) such that ≡ is compatible with R. Then there is a transition equivalent pure eTSS E′ = (Σ, R′) in extended tyft format such that ≡ is compatible with R′. Proof: From Lemma 4.3.2, it can be assumed that E is in extended tyft format. Define R′ by

• every pure rule of R is in R′,

• every rule r in R that is not pure is replaced by a set of new rules where every possible substitution of terms from T(Σ)_{P} is applied to the free variables.

The rules in R′ are well-founded, since the rules in R are well-founded and for each rule, in effect only edges have been removed from its dependency graph. ≡ is compatible with R′ since neither the labels of the premises nor the arguments to the function in the source of the conclusion have been modified, and also only closed terms have been used in the substitution, hence the variables in the sources of the premises are still distinct from the variables in the labels of the premises and the variables in the arguments to the function in the source of the conclusion. R′ is in extended tyft format since no left hand side of any conclusion has been modified. Clearly every closed proof for a transition u ⟶^{α} u′ from E is also a proof for u ⟶^{α} u′ from E and vice versa.

4.3.2 Congruence theorem

I now prove a general result which shows the congruence of bisimulation under certain conditions. I work with a very general definition of congruence, and assume that I have an S-sorted congruence over the terms of T(Σ)\overline{P}. Note that this is slightly different to the use of the congruence in earlier definitions and results where I assumed a congruence over all of T(Σ). However, note that since the definition of bisimulation is only concerned with the congruence over T(Σ)\overline{P}, it is not necessary for the congruence to be defined on T(Σ)_{P}. In any case, since the congruence respects sorts, when given a congruence on T(Σ)\overline{P}, one can extend it to the identity on T(Σ)_{P} and this results in a congruence over the whole set of closed terms.

The result states that given any terms that are related by this congruence or related by bisimulation up to that congruence if they have sort P, then I know that terms of sort P with subterms that are related are bisimilar up to the congruence. Hence it can be concluded that the bisimulation up to the congruence is a congruence itself.

Theorem 4.3.1 (Congruence) Let Σ = (S ∪ {P}, F) be a suitable, sensible signature, let E = (Σ, R) be a wellfounded eTSS in extended tyft/tyxt format and let ≡ be a congruence on T(Σ)\overline{P} compatible with E. Then for all f ∈ F such that f : s_{1} … s_{m}P … P → P, for all terms μ_{k}, ν_{k} ∈ T(Σ)\overline{P} (1 ⩽ k ⩽ m), and for all terms u_{i}, v_{i} ∈ T(Σ)_{P} (1 ⩽ i ⩽ n),

μ_{i} ≡ ν_{i} (1 ⩽ k ⩽ m) and u_{i} ∼_{≡} v_{i} (1 ⩽ i ⩽ n) ⇒

f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) ∼_{≡} f(ν_{1}, …, ν_{m}, v_{1}, … v_{n}).

Proof: Let R ⊆ T(Σ)_{P} × T(Σ)_{P} be the least relation satisfying

• ∼_{≡} ⊆ R,

• for all f ∈ F such that f : s_{1} … s_{m}P … P → P, for all terms μ_{k}, ν_{k} ∈ T(Σ)\overline{P} (1 ⩽ k ⩽ m), and for all terms u_{i}, v_{i} ∈ T(Σ)_{P} (1 ⩽ i ⩽ n),

μ_{i} ≡ ν_{i} (1 ⩽ k ⩽ m) and u_{i} R v_{i} (1 ⩽ i ⩽ n) ⇒ f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) R f(ν_{1}, …, ν_{m}, v_{1}, … v_{n}).

It is enough to show R ⊆ ∼_{≡} since ∼_{≡} ⊆ R; hence I need to show that R is a bisimulation. Assume u R v. I have two cases—the first is simple since u ∼_{≡} v. The second requires us to show that:

Whenever E ⊢ f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) ⟶^{α} u′, μ_{k} ≡ ν_{k} for 1 ⩽ k ⩽ m

and u_{i} R v_{i} for 1 ⩽ i ⩽ n then there is a v′ ∈ T(Σ)_{P} and α′ ∈ T(Σ)\overline{P}

such that E ⊢ f(ν_{1}, …, ν_{m}, v_{1}, …, v_{n}) ⟶^{α′} v′, α ≡ α′ and u′ R v′.

By the lemmas, there is a proof T of f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) ⟶^{α} u′ that contains only closed transitions, and I can assume that the rules in R_{0} are pure and in extended tyft format. I will proceed by induction on the length of the proof. Let r be the last rule used in proof T, in combination with a substitution σ. Assume r is equal to

\frac{\{p_{i} ⟶^{λ_{i}} y_{i} | i ∈ I\}}{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}

Then I know that σ(η_{k}) = μ_{k} for 1 ⩽ k ⩽ m, σ(x_{i}) = u_{i} for 1 ⩽ i ⩽ n, σ(p) = u′ and σ(λ) = α. I want to find a substitution σ′ that I can use to show that

f(ν_{1}, …, ν_{m}, v_{1}, …, v_{n}) ⟶^{α′} v′ with α ≡ α′ and u′ R v′.

Consider the dependency graph G of the premises of r. Because r is in extended tyft format, each node in G has at most finitely many incoming nodes, since each y_{i} is distinct and each t_{i} is a finite term. Hence G is a finitely branching tree, since it can have no cycles. For each node x of G, its subgraph is a finitely branching tree, since there are no cycles. If this graph were infinite, then by Koenig’s Lemma, there would exist an infinite backward chain, contradicting the well-foundedness of G. Hence this graph is finite, and it is possible to define depth(x) ∈ ℕ as the length of the maximal backward chain of edges.

Define

• X = {x_{i} | 1 ⩽ i ⩽ n}

• Y = {y_{i} | i ∈ I}

• Y_{d} = {y ∈ Y | depth(y) = d} for d ⩾ 0. Observe that for any variable x ∈ X, depth(x) = 0, and the sets Y_{d} form a partition of Y. Since E is pure, this covers all the variables from V_{P} in r. Next I consider variables from V\overline{P}. These can be partitioned in four sets.

• Z = ⋃_{1⩽k⩽m} Var\overline{P}(η_{k})

• Z′ = ⋃_{i∈I} Var\overline{P}(λ_{i})

• Z′′ = ⋃_{i∈I} Var\overline{P}(p_{i}) − Z

• Z′′′ = Var\overline{P}(λ) ∪ Var\overline{P}(p) − (Z ∪ Z′ ∪ Z′′). I can partition Z′ into Z′_{0}, Z′_{1}, … by defining Z′_{d} = ⋃_{y_{i}∈Y_{d}}Var\overline{P}(λ_{i}) for each d ⩾ 0. I will define a substitution σ′ that satisfies the following properties on V_{P} and V\overline{P}

• σ′(x_{i}) = v_{i} for 1 ⩽ i ⩽ n

• σ(y) R σ′(y) for y ∈ X ∪ Y

• E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) for i ∈ I

• σ′(z) ≡ σ(z) for z ∈ Z ∪ Z′ ∪ Z′′ ∪ Z′′′. Substitution σ′ will be constructed in stepwise fashion. To begin, let

• σ′(x_{i}) = v_{i} for 1 ⩽ i ⩽ n

• σ′(y) = σ(y) for y ∈ V_{P} − (X ∪ ⋃_{d⩾0} Y_{d})

• σ′(z) = σ(z) for z ∈ V\overline{P} − (Z ∪ ⋃_{d⩾0} Z′_{d} ∪ Z′′).

Note therefore that for all variables z ∈ V\overline{P} −(Z ∪⋃_{d⩾0} Z′_{d} ∪Z′′), σ(z) ≡ σ′(z). I still have to define σ′ on ⋃_{d⩾0} Y_{d}, ⋃_{d⩾0} Z′_{d}, Z and Z′′.

First consider Z. Since for a given k such that 1 ⩽ k ⩽ m, σ(η_{k}) = μ_{k} ≡ ν_{k} and ≡ is compatible with R_{0}, I know that there is a substitution σ′′ such that σ′′(η_{k}) = ν_{k} and for all z ∈ Var\overline{P}(η_{k}), σ(z) ≡ σ′′(z). So let σ′(z) = σ′′(z). I can do this for all 1 ⩽ k ⩽ m since there are no variables shared between the terms.

When σ′ is defined for y ∈ X ∪ Y_{0} ∪ … ∪ Y_{d} and z ∈ Z ∪ Z′_{0} ∪ … ∪ Z′_{d} (d ⩾ 0), I will show that β(d), γ(d) and δ(d) hold.

• β(d) : σ(y) R σ′(y) for y_{i} ∈ X ∪ Y_{0} ∪ … ∪ Y_{d}

• γ(d) : E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) for y_{i} ∈ Y_{0} ∪ … ∪ Y_{d}.

• δ(d) : σ′(z) ≡ σ(z) for z ∈ Z′_{0} ∪ … ∪ Z′_{d}.

So if I can show that β(d), γ(d) and δ(d) hold for all d ⩾ 0, then I know that the second and third properties hold, and that the fourth property will hold for Z ∪Z′ ∪Z′′′. For z ∈ Z′′, when dealing with a particular transition p_{i} ⟶^{λ_{i}} y_{i}, I will simply define σ′(z) = σ(z) for any z ∈ Var\overline{P}(p_{i}) that has not yet been defined. Hence once I have shown β(d), γ(d) and δ(d) hold for all d ⩾ 0, I will have defined all z ∈ Z′′ and moreover σ(z) ≡ σ′(z) for all z ∈ Z′′, so the fourth property will be satisfied. I know that the first property holds by definition.

I first need to show that β(0), δ(0) and γ(0) hold. First note that for any x ∈ X then x = x_{i} for some 1 ⩽ i ⩽ n and since σ(x_{i}) = u_{i} and σ′(x_{i}) = v_{i}, and u_{i} R v_{i}, I have σ(x_{i}) R σ′(x_{i}).

Next consider y^{∗} ∈ Y_{0}. There exists i ∈ I such that y^{∗} = y_{i}, so I can consider the transition p_{i} ⟶^{λ_{i}} y_{i}. If Var\overline{P}(p_{i}) ∩ Z = ∅, then the situation is straightforward. Let σ′(z) = σ(z) for z ∈ Var\overline{P}(p_{i}) ∪ Var\overline{P}(λ_{i}) and let σ′(y_{i}) = σ(y_{i}). Then σ(y_{i}) ∼_{≡} σ′(y_{i}) and hence σ(y_{i}) R σ′(y_{i}), and for all z ∈ Var\overline{P}(p_{i}) ∪ Var\overline{P}(λ_{i}),

σ(z) ≡ σ′(z) since σ′(z) = σ(z). Moreover, σ′(p_{i} ⟶^{λ_{i}} y_{i}) = σ′(p_{i}) ⟶^{σ′(λ_{i})} σ′(y_{i}) =

σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}) = σ(p_{i} ⟶^{λ_{i}} y_{i}) Therefore E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) since E ⊢ σ(p_{i} ⟶^{λ_{i}} y_{i}).

However, if Var\overline{P}(p_{i}) ∩ Z ≠ ∅ then I need to take more care. σ′ is already defined on z ∈ Var\overline{P}(p_{i}) ∩ Z, and I can define σ′(z) = σ(z) for z ∈ Var\overline{P}(p_{i}) − Z for which σ′ is not defined. Hence I know that σ(z) ≡ σ′(z) for z ∈ Var\overline{P}(p_{i}). I need the following fact to proceed. Fact Let p ∈ 𝕋(Σ)_{P} and let ρ, ρ′ : V → T (Σ) be substitutions such that for all x in Var_{P}(t), ρ(x) R ρ′(x) and for all z in Var\overline{P}(p), ρ(z) ≡ ρ′(z). Then ρ(p) R ρ′(p). Proof: I will proceed by structural induction. If p = x then I have the result. If p = f(η_{1}, …, η_{m}, p_{1}, …, p_{n}), then I know by the induction hypothesis that ρ(p_{i}) R ρ′(p_{i}) for 1 ⩽ i ⩽ n, and also that ρ(η_{k}) ≡ ρ′(η_{k}) for 1 ⩽ k ⩽ m (since ≡ is a congruence), hence ρ(t) R ρ′(t) by the definition of R. Since Var_{P}(p_{i}) = ∅, I know from the fact above that σ(p_{i}) R σ′(p_{i}). I have two cases to consider

• σ(p_{i}) ∼_{≡} σ′(p_{i}). Since E ⊢ σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}), I can find w ∈ T (Σ)_{P} and α_{i} ∈ T (Σ)\overline{P} such that E ⊢ σ′(p_{i}) ⟶^{α_{i}} w, σ(λ_{i}) ≡ α_{i} and σ(y_{i}) R w. So I can define σ′(y^{∗}) = σ′(y_{i}) = w. Moreover, since ≡ is compatible with R_{0}, I know there exists a substitution σ′′ such that α_{i} = σ′′(λ_{i}) and σ(z) ≡ σ′′(z) for all z ∈ Var\overline{P}(λ_{i}). Let σ′(z) = σ′′(z) whence α_{i} = σ′(λ_{i}). (Since Var\overline{P}(p_{i}) ∩ Var\overline{P}(λ_{i}) = ∅, it is clear that the use of σ′′ does not affect values assigned to Var\overline{P}(p_{i}).)

• there is a function symbol h ∈ F such that h : s′_{1} … s′_{m}P … P → P, and there are terms μ′_{k′}, ν′_{k′} ∈ T(Σ)\overline{P} for 1 ⩽ k′ ⩽ m′, w_{i′}, w′_{i′} ∈ T(Σ)_{P} for 1 ⩽ i′ ⩽ n′ such that

σ(p_{i}) = h(μ′_{1}, …, μ′_{m′}, w_{1}, …, w_{n′})

and

σ′(p_{i}) = h(ν′_{1}, …, ν′_{m′}, w′_{1}, …, w′_{n′})

with μ′_{k′} ≡ ν′_{k′} (1 ⩽ k′ ⩽ m′) and w_{i′} R w′_{i′} (1 ⩽ i′ ⩽ n′). Now I can apply

the induction hypothesis. Since E ⊢ h(μ′_{1}, …, μ′_{m′}, w_{1}, …, w_{n′}) ⟶^{σ(λ_{i})} σ(y_{i}),

I can find a w, and α_{i} such that E ⊢ h(ν′_{1}, …, ν′_{m′}, w′_{1}, …, w′_{n′}) ⟶^{α_{i}} w,

σ(λ_{i}) ≡ α_{i}, and σ(y_{i}) R w. Again I can define σ′(y_{i}) = w.

Since ≡ is compatible with R_{0}, I know there exists a substitution σ′′ such that α_{i} = σ′′(λ_{i}) and σ(z) ≡ σ′′(z). Let σ′(z) = σ′′(z) for all z ∈ Var\overline{P}(λ_{i}) whence α_{i} = σ′(λ_{i}).

Hence I know for y^{∗} = y_{i}, that σ(y_{i}) R σ′(y_{i}), E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) and σ(z) ≡ σ′(z) for all z ∈ Var\overline{P}(p_{i}) ∪ Var\overline{P}(λ_{i}). I can do this for all y ∈ Y_{0} and thereby show that β(0), δ(0) and γ(0) hold.

Let d > 0, and suppose that σ′ has been defined for all variables in X ∪ Y_{0} ∪ … Y_{d−1} and Z′_{0} ∪ … ∪ Z′_{d−1} such that β(d − 1), γ(d − 1) and δ(d − 1) hold.

I now define σ′ on Y_{d} and Z′_{d} such that β(d), γ(d) and δ(d) hold. Consider y^{∗} ∈ Y_{n}. Then there exists i ∈ I such that y^{∗} = y_{i}, and so I can consider the transition p_{i} ⟶^{λ_{i}} y_{i}. Since y_{i} ∈ Y_{n}, then Var_{P}(p_{i}) ⊆ X ∪ Y_{0} ∪ … ∪ Y_{d−1} so σ(y)Rσ′(y) for y ∈ Var_{P}(p_{i}). For z ∈ Var\overline{P}(p_{i}) such that σ′(z) is as yet undefined, let σ′(z) = σ(z). Hence I know that by the fact above σ′(p_{i}) R σ(p_{i}). I have two cases as before and the treatment is identical. From this it is easy to see that β(d), γ(d) and δ(d) hold for all d ⩾ 0, and hence I know that the four properties hold.

So I know that for all i ∈ I, E ⊢ σ′(p_{i}) ⟶^{σ′(λ_{i})} σ′(y_{i}) where σ′(z) ≡ σ(z) for all z ∈ ⋃_{i∈I}Var\overline{P}(λ_{i}). Hence I can conclude that

E ⊢ σ′(f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p)

namely

E ⊢ f(ν_{1}, …, ν_{m}, v_{1}, …, v_{n}) ⟶^{σ′(λ)} σ′(p)

To see that σ′(λ) ≡ α, recall that α = σ(λ), and I know that for all z ∈ Var\overline{P}(λ), σ(z) ≡ σ′(z) and since ≡ is a congruence, I have the required result. To see that u R σ′(p), recall that u = σ(p), and for all x ∈ Var_{P}(p), σ(x) R σ′(x) and for all z ∈Var\overline{P}(p), σ(z) ≡ σ′(z), hence by the fact above, σ(p) R σ′(p).

From this theorem I can conclude that ∼_{≡} is a congruence with respect to terms from T(Σ)_{P} for all function symbols with sort P. This definition may seem unusual since for a given f ∈ F such that f : s_{1} … s_{m}P … P → P, there are arguments that are not related by ∼_{≡}, but are related by ≡. But since the arguments of sort P are those that represent processes, whereas the other sorts represent actions or information that is stored in process terms, this does not seem unreasonable. Consider the location set prefix X :: p in Kiehn’s local/global cause bisimulation. If there are two equivalent processes p and q, then it seems reasonable to want X :: p and X :: q to be equivalent, no matter how X has been constructed. So in fact, it is desirable for X_{1} :: p and X_{2} :: p to be equivalent if X_{1} = X_{2}.

Example 4.3.4 (Congruence) Since E_{CCSSub} is in tyft/tyxt format, and is compatible with any congruence on the set of label terms, bisimulation up to that congruence is a congruence with respect to all function symbols with range P. Let the congruence under consideration be the identity. Since

plus(pref(a, nil), pref(a, nil)) ∼_{Id} pref(a, nil)

by the above theorem, it is known that

pref(b, plus(pref(a, nil), pref(a, nil)) ∼_{Id} pref(b, pref(a, nil))

This format has been taken almost as far as it can go in its current form. For most of the conditions that constrain the format, removal of a condition would result in the falsity of the above theorem. In the next section, I will give counterexamples to demonstrate the necessity of the constraints. There is, however, one condition that I have not yet shown to be necessary and that is the requirement that the variables in the p_{i}’s be distinct from those in the λ_{i}’s. I will discuss this further in the next section.

4.3.3 Counter-examples

In this section, I will give counter-examples to show that the constraints on the extended tyft/tyxt format cannot be relaxed for the above theorem. First, note that the relationship between the variables from V_{P} in a rule are the same as those in the paper by Groote and Vaandrager [GV92] where counter-examples are given to show the constraints on these variables are necessary. So here I will focus on the relationship between the variables from V\overline{P}. All but the first counter-example have accompanying diagrams that demonstrate some of the transitions possible from the terms under consideration. I have chosen to highlight why the terms are not bisimilar as opposed to giving the LTS defined by the rules.

Counter-example 4.3.1 (Signature and rules for counter-examples) For these counter-examples, I will start with the following basic signature and add rules not in extended tyft/tyxt format for each counter-example

Σ = ( P, s, s′; nil, ok, {g_{a} | a ∈ A}; k, f, +, ∥, h, h′ )

with

ok :→ s′  + : P, P → P
g_{a} :→ s ∀ a ∈ A  ∥: P, P → P
nil :→ P  h : s, P → P
k : P → P  h′ : s, s, P → P
f : s → P

and the axiom

\overline{f(z_{s}) ⟶^{z_{s}} nil}

where the variable is subscripted to indicate its sort. This axiom can be seen as the BPA axiom a ⟶^{a} nil. I will write + and ∥ using infix notation.

I will assume that the congruence ≡ equates no terms except g_{a} and g_{b}.

Counter-example 4.3.2 (Distinctness of label variables in premise labels) To see why the variables that appear in the labels of premises need to be distinct, consider adding the following rule

\frac{x ⟶^{z_{s}} y x′ ⟶^{z_{s}} y′}{x ∥ x′ ⟶^{ok} nil} .

So it is clear that f(g_{a}) ∼_{≡} f(g_{b}). However, f(g_{a}) ∥ f(g_{a})≁_{≡}f(g_{a}) ∥ f(g_{b}) since f(g_{a}) ∥ f(g_{a}) ⟶^{ok} nil ∥ nil, but f(g_{a}) ∥ f(g_{b}) cannot perform an ok action. This example is illustrated in Figure 4.2.

[figure: f(g_{a}); ∼_{≡}; f(g_{b}); g_{a}; ≡; g_{b}; nil; ∼_{≡}; nil; f(g_{a}) ∥ f(g_{a}); ≁_{≡}; f(g_{a}) ∥ f(g_{b}); ok; nil ∥ nil]

Figure 4.2: Counter-example 4.3.2

nil  ∼_{≡}  nil  ^{h′(g_{a}, g_{a}, nil) ^{≁_{≡}} h′(g_{a}, g_{b}, nil)^{}oknil}

Figure 4.3: Counter-example 4.3.3

Counter-example 4.3.3 (Distinctness of label variables in source of conclusion) To see why the variables that appear in the arguments to the function in the source of the conclusion need to be distinct, consider adding the following axiom

\overline{h′(z_{s}, z_{s}, x) ⟶^{ok} nil}.

It is clear that nil ∼_{≡} nil. However, it is not possible to show h′(g_{a}, g_{a}, nil) ∼_{≡}

h′(g_{a}, g_{b}, nil) since h′(g_{a}, g_{a}, nil) ⟶^{ok} nil, but h′(g_{a}, g_{b}, nil) cannot perform an ok

action. Figure 4.3 illustrates this counter-example.

Counter-example 4.3.4 (Distinctness of label variables in source of conclusion and labels of premises) To see why it is not desirable to have the same variable appearing in an argument to the function in the source of the conclusion and in a label of a premise, consider

[figure: f(g_{a}); ∼_{≡}; f(g_{b}); g_{a}; ≡; g_{b}; nil; ∼_{≡}; nil; h(g_{a}, f(g_{a})); ≁_{≡}; h(g_{a}, f(g_{b})); ok; nil]

Figure 4.4: Counter-example 4.3.4

adding the following rule

\frac{x ⟶^{z_{s}} y}{h(z_{s}, x) ⟶^{ok} nil}.

Hence f(g_{a}) ∼_{≡} f(g_{b}); however h(g_{a}, f(g_{a})) ≁_{≡} h(g_{a}, f(g_{b})) since h(g_{a}, f(g_{a})) ⟶^{ok}

nil, but h(g_{a}, f(g_{b})) cannot perform an ok action. This example is illustrated in Figure 4.4.

Next I have examples to show why compatibility is required.

Counter-example 4.3.5 (Compatibility of form) First of all to see that why it is necessary for labels in premises to have compatibility of form, consider adding the rule

\frac{x ⟶^{g_{a}} y}{k(x) ⟶^{ok} nil}.

The rule is not compatible with ≡, since g_{a} ≡ g_{b} and for any substitution σ, there does not exist a substitution σ′ such that σ′(g_{b}) = σ(g_{a}). It is clear that f(g_{a}) ∼_{≡} f(g_{b}); however k(f(g_{a})) ≁_{≡} k(f(g_{b})) since k(f(g_{a})) ⟶^{ok} nil but k(f(g_{b})) cannot perform an ok action. Figure 4.5 illustrates this counter-example.

Counter-example 4.3.6 (Compatibility of variables) Next to see why it is necessary for the values assigned to the variables to be equivalent, consider the following example. Add a new symbol g : s → s to the signature Σ and assume that g(g_{c}) ≡ g(g_{d}). By the axiom f(z_{s}) ⟶^{z_{s}} nil,

[figure: f(g_{a}); ∼_{≡}; f(g_{b}); g_{a}; ≡; g_{b}; nil; ∼_{≡}; nil; k(f(g_{a})); ≁_{≡}; k(f(g_{b})); ok; nil]

Figure 4.5: Counter-example 4.3.5

f(g(g_{c})) ∼_{≡} f(g(g_{d})). Then consider adding the rule

\frac{x ⟶^{g(z_{s})} y}{k(x) ⟶^{z_{s}} nil}.

This rule is not compatible with ≡ since g(g_{c}) ≡ g(g_{d}) and although it is clear that given σ such that σ(g(z_{s})) = g(g_{c}), any σ′ such that σ′(z_{s}) = g_{d} is a suitable substitution to ensure that σ(g(z_{s})) ≡ σ′(g(z_{s})), it is not the case that σ(z_{s}) ≡ σ′(z_{s}) (since g_{c} ≢ g_{d}). So f(g(g_{c})) ∼_{≡} f(g(g_{d})), but k(f(g(g_{c}))) ≁_{≡} k(f(g(g_{d}))), since k(f(g(g_{c}))) ⟶^{g_{c}} nil, but k(f(g(g_{d}))) can only perform a g_{d} action, and g_{c} ≢ g_{d}.

Similarly it can be shown that it is necessary for the values of the variables which appear both in labels of premises and in the target of the conclusion to be equivalent.

\frac{x ⟶^{g(z_{s})} y}{k(x) ⟶^{ok} f(z_{s})}.

By a similar argument to above, it is clear that this rule is not compatible with ≡. k(f(g(g_{c}))) ≁_{≡} k(f(g(g_{d}))), since k(f(g(g_{c}))) ⟶^{ok} f(g_{c}), but k(f(g(g_{d}))) ⟶^{ok} f(g_{d}), and f(g_{c}) ≁_{≡} f(g_{d}). Figure 4.6 illustrates these counter-examples.

Counter-example 4.3.7 (More compatibility) In a similar way, I can show why it is important to consider the variables in the arguments to the function in the source of the conclusion when defining compatibility. Consider adding the axiom

\overline{h(g_{a}, x) ⟶^{ok} nil}.

[figure: f(g(g_{c})); ∼_{≡}; f(g(g_{d})); g(g_{c}); ≡; g(g_{d}); nil; ∼_{≡}; nil; k(f(g(g_{c}))); ≁_{≡}; k(f(g(g_{d}))); g_{c}; ≢; g_{d}; nil; nil; k(f(g(g_{c}))); ≁_{≡}; k(f(g(g_{d}))); ok; ok; f(g_{c}); ≁_{≡}; f(g_{d}); g_{c}; ≢; g_{d}; nil; nil]

Figure 4.6: Counter-example 4.3.6

The rule is not compatible with ≡ since g_{a} ≡ g_{b} and for any substitution σ, there does not exist a substitution σ′ such that σ′(g_{b}) = σ(g_{a}). It is clear that nil ∼_{≡} nil; however h(g_{a}, nil) ≁_{≡} h(g_{b}, nil) (and I want them to be strongly equivalent because g_{a} ≡ g_{b}), since h(g_{a}, nil) ⟶^{ok} nil but h(g_{b}, nil) cannot perform an ok action.

(Note that this means that I cannot have an axiom of the form f(g_{a}) ⟶^{g_{a}} x, if I wish to have elements of {g_{a} | a ∈ A} equivalent to each other. However, if I wish them all to be distinct then it is not a problem. But if I do wish to equate some of the elements, it requires having a more general rules such as f(z_{s}) ⟶^{z_{s}} x, which also allows us to prove that f(g(g_{c})) ∼_{≡} f(g(g_{d})) which may not be desirable. But since I am working in a many-sorted framework, it is possible to have a new sort s′′ and let g : s → s′′, thereby preventing the equation of these two terms.)

I also need to show why the values of the variables that appear in the arguments to the function in the source of the conclusion and in the label on the conclusion need to be equivalent. Consider adding the axiom

\overline{h(g(z_{s}), x) ⟶^{z_{s}} nil}.

This rule is not compatible with ≡ (see Counter-example 4.3.6 for reasons).

nil ∼_{≡} nil, but h(g(g_{c}), nil) ≁_{≡} h(g(g_{d}), nil) since h(g(g_{c}), nil) ⟶^{g_{c}} nil, but

h(g(g_{d}), nil) can only perform a g_{d} action and g_{c} ≢ g_{d}.

Finally, I need to show why the values of the variables that appear in the arguments to the function in the source of the conclusion and in the target on the conclusion need to be equivalent. Consider adding the axiom

\overline{h(g(z_{s}), x) ⟶^{ok} f(z_{s})}.

By a similar argument to above, it is clear that this rule is not compatible with ≡.

Clearly, nil ∼_{≡} nil, but h(g(g_{c}), nil) ≁_{≡} h(g(g_{d}), nil) since h(g(g_{c}), nil) ⟶^{ok} f(g_{c}),

but h(g(g_{d}), nil) ⟶^{ok} f(g_{d}) and f(g_{c}) ≁_{≡} f(g_{d}). These counter-examples are illustrated in Figure 4.7.

Finally in this section, I will look at the requirement that the variables that appear in the source of a premise should be distinct from the variables that appear in the labels of the premises. This requirement can be considered as follows

• First note that in the case of a variable from V\overline{P} appearing in the source of the conclusion as well as in the source of the premise, then this variable cannot appear in the label of a premise, since the variables in the source of the conclusion and in labels of premises must be distinct.

• Next consider the case when a variable that appears in the source of one premise also appears in the label of a different premise. Consider the eTSS used in Counter-Example 4.3.1 as well as the following rules

\overline{h(z_{s}, x) ⟶^{z_{s}} x.} \frac{h(z_{s}, x) ⟶^{z′_{s}} y y ⟶^{z_{s}} y′}{k(x) ⟶^{ok} nil} .

I know f(g_{a}) ∼_{≡} f(g_{b}) and can show that k(f(g_{a})) ∼_{≡} k(f(g_{b})) by the proofs

\frac{h(g_{a}, f(g_{a})) ⟶^{g_{a}} f(g_{a}) f(g_{a}) ⟶^{g_{a}} nil}{k(f(g_{a})) ⟶^{ok} nil}

[figure: ^{nil  ∼_{≡}  nil}; h(g_{a}, nil); ≁_{≡}; h(g_{b}, nil); ok; nil; h(g(g_{c}), nil); ≁_{≡}; h(g(g_{d}), nil); g_{c}; ≢; g_{d}; nil; nil; h(g(g_{c}), nil); ≁_{≡}; h(g(g_{d}), nil); ok; ok; f(g_{c}); ≁_{≡}; f(g_{d}); g_{c}; ≢; g_{d}; nil; nil]

Figure 4.7: Counter-example 4.3.7 and

\frac{h(g_{b}, f(g_{b})) ⟶^{g_{b}} f(g_{b}) f(g_{b}) ⟶^{g_{b}} nil}{k(f(g_{b})) ⟶^{ok} nil}.

However, because the well-foundedness is used crucially in the proof of the theorem, the first premise of the second rule will be dealt with first since it has depth 1, whereas as the second has depth 2. Therefore z_{s} will be assigned the value g_{a}, since it does not appear in the source of the conclusion and hence it will be assigned the same value in the substitution being constructed as it had in the original substitution, and hence the following proof would be obtained.

\frac{h(g_{a}, f(g_{b})) ⟶^{g_{a}} f(g_{b}) f(g_{b}) ⟶^{g_{a}} nil}{k(f(g_{b})) ⟶^{ok} nil}.

However, f(g_{b}) cannot perform a g_{a} transition and hence this is not a valid proof of the final transition. Moreover, it is not clear how to modify the proof to obtain the correct substitution.

• Next consider the case when a variable that appears in the source of a premise also appears in the label of that premise. Then using the proof technique of the congruence theorem, the variable in the premise (which can not appear in the source of the conclusion) will be assigned the same value as under the original substitution. The question now arises as to whether this value is different to the one that may be assigned to the occurrence of the variable on the label by the use of compatibility. I have neither proof nor counter-example to answer this question.

As can be seen from the above discussion, the well-foundedness requirement as well as the order in which the new substitutions are created may make it impossible to find the correct substitution. Hence I retain the requirement that variables in sources of premises should be distinct from those in labels of premises. It may be possible to find a unification style technique that will work, however.

Fokkink and van Glabbeek [FvG96] have shown that any TSS in tyft/tyxt format can be expressed as a TSS in tree format. A TSS is in tree format when it consists of pure well-founded xyft rules, namely rules where the sources of premises can only be variables which appear either in the target of premises or in the source of the conclusion. Hence the well-founded requirement can be dropped for congruence for the tyft/tyxt format. The technique they use relies on a different notion of proof and makes use of results from unification theory. It is not clear whether this results extend to the new format I have proposed, and this is an area for further work.

However, even if the well-foundedness condition is not required for congruence, it is still open as to whether a counter-example can be found to show that sharing variables between source of premises and labels of premises breaks congruence.

4.3.4 Comparison with other formats

As mentioned earlier in the chapter, this work does not concern itself with negative premises or predicates, so clearly it is not comparable with formats that involve negative premises and/or predicates. How does this compare with formats that do not use negative premises or predicates?

As can be seen in Figure 2.12, there is a hierarchy of formats, and the most general format without negative premises and predicates is the tyft/tyxt format. In this section, I will compare this with the extended tyft/tyxt format (which I will also refer to as the new format for convenience).

The definition of tyft/tyxt format involves a single-sorted algebra for the operators of the process algebra and a infinite set of labels which are used in the rules in a schematic manner and are essentially atomic. Tyft/tyxt rules have the following forms:

\frac{\{t_{i} ⟶^{a_{i}} y_{i} | i ∈ I\}}{f(x_{1}, …, x_{n}) ⟶^{a} t}  \frac{\{t_{i} ⟶^{a_{i}} y_{i} | i ∈ I\}}{x ⟶^{a} t}

where all the variables are distinct, the t_{i}’s and t are open terms from the term algebra associated with the signature, and the a_{i}’s and a are from the set of labels. The labels are understood to be any labels from the label set, as long as multiple occurrences of a label within a rule are preserved. Proofs are constructed by finding substitutions for the variables, as well as choosing suitable labels. The definition implicitly permits operators to be created from the elements of the set of labels, such as prefix operators.

To translate from tyft/tyxt format to the new format, the first step is to start with a many-sorted algebra consisting of sorts, P and a label sort A; as well as operators which are not created from elements of the label set. The next step is to make all labels constants of sort A and then to take all operators created from elements of the label set, and modify them to take an argument of the label set type.

Finally, each rule needs to be modified. This is where schematic treatment of actions has some advantages, since matching labels across transitions in the premises, such as in the CCS parallel communication rule or in the CSP parallel merge rule can be easily done. First, consider rules where no matching occurs in contravention of the rules for label variables in the new format. Here, it is simple to replace each different label with a different variable of the sort A, so for example a rule such as

\overline{a.x ⟶^{a}x}

will become

\overline{pref(z_{A}, x) ⟶^{z_{A}} x}.

In the case of matching of actions in a way which contravenes the conditions of label variables, there are two approaches. One involves the use of rule schemata which will be defined in Chapter 6, and the other involves the use of a specific type of algebra with constants to indicate undefined transitions, to represent the actual process algebra labels. I will discuss both of these in more detail; however they both deal with the issue successfully.

To see that the new format has more power than tyft/tyxt format consider the following example. In CCS with locations [BCHK94], the rule for communication involves only action transitions. As mentioned earlier in Section 2.2.1.2, the definition of bisimulation can be parameterised by a relation over the set of location strings (Loc^{∗}), hence the strings that are matched in the transitions need only match up to the relation. I will assume for the purposes of this example, that the relation is the identity relation plus the pairs (l_{1}, l_{2}) and (l_{2}, l_{1}) for two distinguished elements l_{1} and l_{2}. (Note that this is an equivalence relation.) Also assume that a new rule is introduced for the parallel operator involving communication (and the old rule removed), where communication can only take place if the actions have the same string of locations. This rule can be expressed as

\frac{x ⟶_{u}^{a} y x′ ⟶_{u}^{\overline{a}} y′}{x | x′ ⟶^{τ} y | y′}

On the surface, it is tempting to view this as a tyft/tyxt rule by treating the string of locations in a schematic manner. However doing this leads to an operator that does not preserve congruence, because of the fact that different strings may be equated by the relation over strings. To see this, consider the following rules (taken from the SOS for CCS with locations)

\overline{a.x ⟶_{l}^{a} l :: x} ∀l ∈ Loc \frac{x ⟶_{u}^{a} y}{l :: x ⟶_{lu}^{a} l :: y}

and the new parallel communication rule given above. Then l_{1} :: a.nil ≈_{l} l_{2} :: a.nil but l_{1} :: a.nil | l_{1} :: \overline{a}.nil ≉_{l} l_{2} :: a.nil | l_{1} :: \overline{a}.nil, since the first term can perform a τ action which the second cannot.

So it can be seen from this example, that the introduction of a relation over elements of a label set can lead to a situation where congruence is lost. Relations over a label set are also introduced whenever the labels become more complex and hence it is necessary to equate labels which have been constructed in different ways, but which are to be viewed as semantically identical.

Hence it is possible to translate a transition system specification in tyft/tyxt format into one in extended tyft/tyxt, and moreover, the extended tyft/tyxt format can deal with more complex definitions of bisimulation, particularly those that equate different elements of the label set. The introduction of labels with different sorts will also have a rôle to play in the next chapter, where results are presented relating to the summing of eTSSs.

In this chapter, I have introduced a number of concepts that allow me to define extended transition system specifications, and moreover I have shown how a specific class of eTSSs give operators which are congruent with respect to bisimulation.

Comparison results for the new format

5.1 Introduction

In this chapter, I will look at extensions to eTSSs. I prove a standard extension result, and then look at new definitions of extensions, and results which can be used to compare equivalences. These results look at combining two eTSSs and give conditions under which new transitions may be added or not. This allows one to compare equivalences on the original eTSSs and the new combined eTSS, and hence is a starting place for a comparison of equivalences based on a syntactic approach.

I first look at extension of an existing result to the new format; that of conservative extension where conditions are given for when two eTSSs can be combined without adding new transitions, and I compare this with a result by Verhoef [Ver94]. Next, I look at extensions up to bisimulation, and investigate under which conditions it is possible to achieve various relationships between the original equivalences and the equivalences of the combined eTSSs. There are two approaches to this and I present both of them.

The conservative extension result is an extension of the work of Groote and Vaandrager [GV92] to the new format where I use a different definition of the sum of two eTSSs, hence in the counter-examples section, I only deal with counterexamples that relate to label variables. The extension up to bisimulation results are new results which are not extensions of existing results, and hence I give full counter-examples for these results.

5.2 Sums of eTSSs and conservative extensions

I will now define the notion of the sum of two eTSSs which I require to define the notion of an extension.

Definition 5.2.1 (Sum of two signatures) Let Σ_{i} = (S_{i} ∪{P}, F_{i}) for i = 0, 1 be two signatures such that f ∈ F_{0} ∩F_{1} implies that type_{0}(f) = type_{1}(f). The sum of Σ_{0} and Σ_{1}, Σ_{0} ⊕ Σ_{1} is the signature

Σ_{0} ⊕ Σ_{1} = (S_{0} ∪ S_{1} ∪ {P}, F_{0} ∪ F_{1}).

It is clear that the sum of two suitable signatures is also suitable.

Definition 5.2.2 (Sum of two eTSSs) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with Σ_{0} ⊕ Σ_{1} defined. The sum of E_{0} and E_{1}, E_{0} ⊕ E_{1}, is the eTSS

E_{0} ⊕ E_{1} = (Σ_{0} ⊕ Σ_{1}, R_{0} ∪ R_{1}).

The two preceding definitions are essentially the same as Groote and Vaandrager [GV92]. However, for reasons which will be become clearer later, I wish to work in the situation where the second component does not necessarily involve a sensible signature, and so I will extend these definitions to asymmetric definitions. This is reasonable in light of the fact that I often will be considering E_{0}⊕>E_{1} as an extension of E_{0} and hence there is an inherent lack of symmetry in the view. I make the following definitions.

Definition 5.2.3 (Asymmetric sum of two signatures) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two suitable signatures such that Σ_{0} ⊕ Σ_{1} is defined. If Σ_{0} is sensible, and Σ_{0} ⊕ Σ_{1} is sensible, then I say that Σ_{0} ⊕ Σ_{1} is asymmetric and denote it Σ_{0}⊕>Σ_{1}.

Note that in the case of an asymmetric sum, Σ_{1} can be either sensible or not sensible.

Definition 5.2.4 (Asymmetric sum of two eTSSs) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E_{0} ⊕ E_{1} defined. If Σ_{0} ⊕ Σ_{1} is asymmetric, then I say that E_{0} ⊕ E_{1} is asymmetric and denote it E_{0}⊕>E_{1}.

Before I continue with results, I present an example that is based on the eTSS defined in Example 4.3.1 on page 69.

Example 5.2.1 (Example of the asymmetric sum of two eTSSs) Consider the asymmetric sum of E_{CCSSub} and the eTSS consisting of Σ_{CCSSub} and the rules

\frac{x_{1} ⟶^{z}y_{1} x_{2} ⟶^{z}y_{2}}{plus(x_{1}, x_{2}) ⟶^{z}plus(y_{1}, y_{2})} \frac{x ⟶^{z_{1}} y_{1} y_{1} ⟶^{z_{2}} y_{2}}{x ⟶^{z_{1}} pref(z_{2}, y_{2})} .

Call this new eTSS E. By adding these rules, it is possible to lose the branching time characteristic of CCS behaviour. Consider that in E_{CCSSub}

pref(a, plus(pref(b, nil), pref(c, nil))) ≁_{Id}^{E_{CCSSub}} plus(pref(a, pref(b, nil)), pref(a, pref(c, nil)))

but

pref(a, plus(pref(b, nil), pref(c, nil))) ∼_{Id}^{E} plus(pref(a, pref(b, nil)), pref(a, pref(c, nil)))

The two new rules have added transitions to each process in such a way to make them bisimilar. The second new rule uses lookahead which is a feature of tyft/tyxtstyle formats, and reduces branching behaviour to traces. Figure 5.1 illustrates the two terms and their transitions. The transitions that are created by the formation of the sum are indicated by dashed lines.

Now I look at some results relating to sums of eTSSs.

Definition 5.2.5 (Conservative extension) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). I say that E is a conservative extension of E_{0} and that E_{1} can be added conservatively to E_{0} if for all t_{0} ∈ T(Σ_{0})_{P}, α ∈ T(Σ)\overline{P}, and t ∈ T(Σ)_{P},

E ⊢ t_{0} ⟶^{α} t ⟺ E_{0} ⊢ t_{0} ⟶^{α} t.

[figure: pref(a, plus(pref(b, nil), pref(c, nil))); a; a; a; b; b; c; c]

[figure: plus(pref(a, pref(b, nil)), pref(a, pref(c, nil))); a; a; a; b; b; c; c]

Figure 5.1: Example 5.2.1

Note that the implication E ⊢ t_{0} ⟶^{α} t ⇐ E_{0} ⊢ t_{0} ⟶^{α} t holds trivially since all transitions generated by E_{0} are also generated by E. The eTSS E in Example 5.2.1 is not a conservative extension. I will now give a result which gives conditions under which eTSSs can be conservatively extended. I first require some definitions about the label variables which can appear in rules.

Definition 5.2.6 (Label-free variable) Let E = (Σ, R) be an eTSS, and let r be a rule in R. A variable in Var\overline{P}(r) is called label-free if it does not occur in the label of a premise or in the left hand side of the conclusion.

Definition 5.2.7 (Label-pure rule) Let E = (Σ, R) be an eTSS. A rule r ∈ R is called label-pure if it contains no label-free variables from V\overline{P}. The eTSS E is called label-pure if all its rules are label-pure.

The following theorem works by preventing the addition of rules which may cause new transitions to occur from terms in the first signature.

Theorem 5.2.1 (Conservative extension) Let E_{0} = (Σ_{0}, R_{0}) be an eTSS in pure, label-pure extended tyft/tyxt format and let E_{1} = (Σ_{1}, R_{1}) be an eTSS in extended tyft format such that there is no rule in R_{1} that contains a function symbol from Σ_{0} in the source of the conclusion. Let E = E_{0}⊕>E_{1} be defined. Then E_{1} can be added conservatively to E_{0}. Proof: I will use a similar strategy to that used in Theorem 4.3.1. Let E = (Σ, R). Let t_{0} ∈ T(Σ_{0})_{P}, α ∈ T(Σ)\overline{P}, t ∈ T(Σ)_{P}. Let T be a proof of t_{0} ⟶^{α} t from E. With induction on the length of T, I will show that T is also a proof of t_{0} ⟶^{α} t from E_{0}, namely that α ∈ T(Σ_{0})\overline{P} and t ∈ T(Σ_{0})_{P}.

Let r be the last rule used in T. Since t_{0} ∈ T(Σ_{0})_{P} and all rules in R_{1} are extended tyft and contain no functions from Σ_{0} in the source of their conclusions, r must be in R_{0}. Suppose r is pure, label-pure extended tyft (the case that r is pure, label-pure extended tyxt can be proved in a similar fashion). I proceed by induction on the length of T. First suppose that r is an axiom, i.e. r is

\overline{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}

and let σ be the substitution used in the last step of the proof T. Hence σ(f(η_{1}, …, η_{m}, x_{1}, …, x_{n})) = t_{0}, σ(λ) = α and σ(p) = t, so σ(x) ∈ T(Σ_{0}) for all x ∈ ⋃_{1⩽i⩽n} x_{i} ∪ ⋃_{1⩽k⩽m}Var\overline{P}(η_{k}). Since r is pure, Var_{P}(p) ⊆ ⋃_{1⩽i⩽n} x_{i}, and since r is label-pure, Var\overline{P}(p)∪Var\overline{P}(λ) ⊆ ⋃_{1⩽k⩽m}Var\overline{P}(η_{k}). Therefore, it is immediate that α ∈ T(Σ_{0})\overline{P}, t ∈ T(Σ_{0})_{P} and E_{0} ⊢ t_{0} ⟶^{α} t.

Next suppose that r is

\frac{\{p_{i} ⟶^{λ_{i}} y_{i} | i ∈ I\}}{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}

and let σ be the substitution used in the last step of the proof T. Hence σ(f(η_{1}, …, η_{m}, x_{1}, …, x_{n})) = t_{0}, σ(λ) = α and σ(p) = t. Again I need to consider the variables in r.

By considering the dependency graph G of the premises of r, depth(x) ∈ ℕ can be defined for all x ∈Var_{P}(r) in a similar fashion to the proof of Theorem 4.3.1. Define

• X = {x_{i} | 1 ⩽ i ⩽ n} • Y = {y_{i} | i ∈ I}

• Y_{d} = {y ∈ Y | depth(y) = d} for n ⩾ 0.

Observe that for any variable x ∈ X, depth(x) = 0, and the sets Y_{d} form a partition of Y. Next I need to consider the labels from V\overline{P} that appear in r. Define

• Z = ⋃_{1⩽k⩽m} Var\overline{P}(η_{k})

• Z′ = ⋃_{i∈I} Var\overline{P}(λ_{i})

• Z′_{d} = ⋃_{y_{i}∈Y_{d}}Var\overline{P}(λ_{i}).

Note that since r is label-pure, Var\overline{P}(r) = Z ∪Z′. Also the sets Z′_{d} form a partition of Z′ since variables cannot be shared between labels of premises.

With induction on d, I prove that σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X ∪ Y, and that σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z ∪ Z′.

Because t_{0} ∈ T(Σ_{0})_{P} and σ(f(η_{1}, …, η_{m}, x_{1}, …, x_{n})) = t_{0}, σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X, and σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z.

Let d ∈ ℕ and suppose that σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X ∪ Y_{0} ∪ … ∪ Y_{d−1} and σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z ∪ Z′_{0} ∪ … ∪ Z′_{d−1}. Let y^{∗} ∈ Y_{d}, then there is a unique i ∈ I such that y^{∗} = y_{i}. Since r is pure, Var_{P}(p_{i}) ⊆ X ∪ Y_{0} ∪ … ∪ Y_{d−1}, and since r is label-pure, Var\overline{P}(p_{i}) ⊆ Z, therefore σ(p_{i}) ∈ T(Σ_{0})_{P}. Hence, by the the induction hypothesis, σ(λ_{i}) ∈ T(Σ_{0})\overline{P}, σ(y_{i}) ∈ T(Σ_{0})_{P} and E_{0} ⊢ t_{0} ⟶^{α} t.

So this is true for all y ∈ Y_{d}, and this is true for all d ∈ ℕ, so σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X ∪ Y and σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z ∪ Z′. Since r is pure and labelpure, Var(p) ⊆ X ∪Y ∪Z ∪Z′, therefore t = σ(p) ∈ T(Σ_{0})_{P}, and Var(λ) ⊆ Z ∪Z′, so α = σ(λ) ∈ T(Σ_{0})\overline{P} and E_{0} ⊢ t_{0} ⟶^{α} t.

Note that the sum in Example 5.2.1 is not a conservative extension, since new transitions are added. Next, I present an example which is a conservative extension.

Example 5.2.2 (Conservative extension) Consider E_{CCSPar} consisting of Σ_{CCSSub} with the added symbol par : P, P → P (call this Σ_{CCSPar}) and the rules

\frac{x ⟶^{z}y}{par(x, x′) ⟶^{z}par(y, x′)} \frac{x ⟶^{z}y}{par(x′, x) ⟶^{z}par(x′, y)}

Then this is an conservative extension of E_{CCSPar} since the added rules have the correct form. Clearly these rules cannot add new transitions to the terms of the first signature.

5.2.1 Counter-examples

I will now give some counter-examples to show why label-pureness is required.

Counter-example 5.2.1 (Label-pureness) Consider the many-sorted signature

Σ = ( P, s, s′; ok, g, nil; f, f′, f′′ )

with ok :→ s′, g :→ s, nil :→ P, f : P → P, f′ : s → P and f′′ : s, P → P.

Consider the eTSS E consisting of Σ and the axiom f(x) ⟶^{z_{s}} nil. If I add a new constant g′ :→ s, then I obtain a new transition f(nil) ⟶^{g′} nil which is not in T S(E) since g′ ∉ T(Σ).

Next, consider the eTSS E′ consisting of Σ and the axiom f(x) ⟶^{ok} f′(z_{s}). If I add a new constant g′ :→ s, then I obtain a new transition f(nil) ⟶^{ok} f′(g′) which is not in T S(E′) since f′(g′) ∉ T(Σ).

Finally consider the eTSS E′′ consisting of Σ and the rules

\overline{f′′(z_{s}, x) ⟶^{ok} f′(z_{s})}  \frac{f′′(z_{s}, x) ⟶^{ok} y}{f(x) ⟶^{ok} y}

Then if I add a new constant g′ :→ s, I obtain a new transition f(nil) ⟶^{ok} f′(g′) by the proof

\frac{f′′(g′, nil) ⟶^{ok} f′(g′)}{f(nil) ⟶^{ok} f′(g′)}

and this transition is not in T S(E′′) since f′(g′) ∉ T(Σ).

[figure: f(nil); g; g′; nil; nil; f(nil); ok; ok; f′(g); f′(g′)]

Figure 5.2: Counter-example 5.2.1

The terms and transitions are illustrated in Figure 5.2. The solid arrows indicate transitions from the original eTSS, and the dashed arrows indicate transitions that result from the summing of the two eTSSs. The second and third counterexamples have the same diagram.

Since all of these counter-examples involve the addition of new terms with an existing sort, it may be possible to have a slightly different result where labelpureness is not required, but there is a restriction on what can be added. I will return to this point later in the chapter.

5.2.2 Related work

Verhoef has given a general extension theorem [Ver94] for the panth format which has weaker conditions than the above results. He works with relations and predicates, and by grouping together transitions with the same labels as relations over processes, is able to use a similar mechanism to that which I will use later in the chapter by using sorts. The conditions required for his extension result can be expressed as follows in the extended tyft/tyxt format. Note that I am not considering negative premises or predicates here.

Let E_{0} = (Σ_{0}, R_{0}) be an eTSS in pure, label-pure extended tyft/tyxt format and let E_{1} = (Σ_{1}, R_{1}) be an eTSS in extended tyft/tyxt format. Let E = E_{0}⊕>E_{1} be defined. For any rule r ∈ R_{1} in tyxt format or tyft format with the function symbol from Σ_{0}

1. r is pure, label-pure and well-founded

2. all terms in the sources of premises come from 𝕋(Σ_{0})

3. there is a premise consisting of only terms from 𝕋(Σ_{0}) in source and target, and where the label term has a sort in Σ_{1} − Σ_{0}.

Then E_{1} can be added conservatively to E_{0}.

So in comparison to Theorem 5.2.1, this result allows tyxt rules and tyft rules with function symbols from Σ_{0}, in R_{1}. However, the third condition requires that one of the premises combines process terms from the first signature and label terms from the second signature, and hence there can be no suitable transitions to fit this premise and hence allow the rule to be used in any proof. In the next section, I will use the differentiating power of the different sorts in a similar fashion to ensure that only the ‘right’ transitions are added, although I take a slightly different approach in that instead of specifying which terms can appear in the premises, I specify the sorts of label terms appearing in the conclusions. This approach has the advantage that it permits new axioms. Also the results I obtain relate to different notions of extension, specifically to those that preserve transitions up to bisimulation.

5.3 Extensions up to bisimulation

So how does the notion of a conservative extension relate to definitions of bisimulation? A notion of a conservative extension up to bisimulation can be defined in the following manner.

Definition 5.3.1 (Conservative extension up to bisimulation with respect to an equivalence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. I say that E is a conservative extension of E_{0} up to bisimulation with respect to ≡ if for all t_{0}, u_{0} ∈ T(Σ_{0})_{P},

t_{0} ∼_{≡}^{E} u_{0} ⟺ t_{0} ∼_{≡}^{E_{0}} u_{0}.

This type of definition could be useful in comparing semantic equivalences. In what follows I will present and discuss a number of definitions, as well as looking at whether they are likely to be useful to achieve my goals. The following result is immediate.

Proposition 5.3.1 (Conservative extension implies conservative extension up to bisimulation with respect to an equivalence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. If E is a conservative extension of E_{0}, then E is a conservative extension of E_{0} up to bisimulation with respect to ≡.

The proof of this proposition relies on that fact that for every action one process can make, the other process can make the syntactically identical action. I now present a slight different definition of conservative extension—one which is relative to an congruence.

Definition 5.3.2 (Conservative extension with respect to an equivalence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. I say that E is a conservative extension of E_{0} with respect to ≡ and that E_{1} can be added conservatively to E_{0} with respect to ≡ if for all t_{0} ∈ T(Σ_{0})_{P}, α ∈ T(Σ)\overline{P}, and t ∈ T(Σ)_{P}, then there exists α_{0} ∈ T(Σ_{0})\overline{P} such that

E ⊢ t_{0} ⟶^{α} t ⇒ E_{0} ⊢ t_{0} ⟶^{α_{0}} t and α ≡ α_{0}.

The reverse implication that there exists α ∈ T(Σ)\overline{P} such that E_{0} ⊢ t_{0} ⟶^{α_{0}} t ⇒ E ⊢ t_{0} ⟶^{α} t and α ≡ α_{0} is trivial since E ⊢ t_{0} ⟶^{α_{0}} t. I obtain a new result.

Proposition 5.3.2 (Conservative extension with respect to an equivalence implies conservative extension up to bisimulation with respect to that equivalence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. If E is a conservative extension of E_{0} with respect to ≡, then E is a conservative extension of E_{0} up to bisimulation with respect to ≡.

However, it is not clear that this definition is useful, since the requirement that both transitions result in the same state is a very strong condition. Hence I will work with the notion of conservative extension up to bisimulation with respect to an equivalence, and related definitions which I present immediately.

Definition 5.3.3 (Refining extension up to bisimulation with respect to an equivalence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. I say that E is a refining extension of E_{0} up to bisimulation with respect to ≡ if for all t_{0}, u_{0} ∈ T(Σ_{0})_{P},

t_{0} ∼_{≡}^{E} u_{0} ⇒ t_{0} ∼_{≡_{0}}^{E_{0}} u_{0}.

I will also write this as ∼_{≡}^{E} ⊆ ∼_{≡}^{E_{0}}.

Definition 5.3.4 (Abstracting extension up to bisimulation with respect to an equivalence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. I say that E is an abstracting extension of E_{0} up to bisimulation with respect to ≡ if for all t_{0}, u_{0} ∈ T(Σ_{0})_{P},

t_{0} ∼_{≡_{0}}^{E_{0}} u_{0} ⇒ t_{0} ∼_{≡}^{E} u_{0}.

I will also write this as ∼_{≡}^{E_{0}} ⊆ ∼_{≡}^{E}.

The next result is immediate.

Proposition 5.3.3 (Refining and abstracting extensions up to bisimulation if and only if conservative extension up to bisimulation) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs with E = E_{0}⊕>E_{1} defined and let E = (Σ, R). Let ≡ be a congruence on T(Σ)\overline{P} compatible with E. Then E is both a refining and an abstracting extension up to bisimulation with respect to ≡ if and only if it is a conservative extension up to bisimulation with respect to ≡.

In the following, I will look at conditions under which I can achieve these types of extensions. As this is fairly complex, I will proceed by making a number of definitions that capture these conditions. I then prove a general lemma that I need for the theorems, and then look at some definitions and results about congruences and sums of eTSSs. Finally I proceed to prove the two theorems.

First I define to different kinds of rule sets for asymmetric sums of eTSSs.

Definition 5.3.5 (Type-1 asymmetric sum) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures, and let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Then the asymmetric sum E_{0}⊕>E_{1} is said to be of type-1 if

• there is no extended tyft rule in R_{1} containing a function symbol from F_{0} in the source of the conclusion that has a conclusion label with a sort from S_{0},

• there is no extended tyxt rule in R_{1} that has a conclusion label of a sort from S_{0}.

These conditions go beyond those of the conservative extension result, since tyxt rules and tyft rules with function symbols from Σ_{0} are now allowed, but with additional condition that the labels in the conclusion do not have sorts from S_{0}. However, for one result a stronger condition is required where no tyft rules with function symbols from Σ_{0} are allowed.

Definition 5.3.6 (Type-0 asymmetric sum) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures and let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined.

Then the asymmetric sum E_{0}⊕>E_{1} is said to be type-0 if it is type-1 and there is no extended tyft rule in R_{1} that contains a function symbol from F_{0}.

Clearly, if E_{0}⊕>E_{1} is type-0 then it is also type-1.

I require the following lemma first before I can prove the main results of this section. This lemma says that given a type-1 sum and a proof of a transition where the last rules used came from R_{0} then the transition can be proved in E_{0}.

Lemma 5.3.1 (Application of rules) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E = E_{0}⊕>E_{1} is defined. Moreover, let E_{0} be pure and label-pure, and let E_{0}⊕>E_{1} be type-1. Let E ⊢ t_{0} ⟶^{α} t with t_{0} ∈ T(Σ_{0})_{P}. If the last rule used in the proof of E ⊢ t_{0} ⟶^{α} t is an extended tyft/tyxt rule from R_{0} then E_{0} ⊢ t_{0} ⟶^{α} t. Proof: Let E = (Σ, R). Let t_{0} ∈ T(Σ_{0})_{P}, α ∈ T(Σ)\overline{P}, t ∈ T(Σ)_{P}. Let T be a proof of t_{0} ⟶^{α} t from E with the last step of T involving an extended tyft/tyxt rule from R_{0}. With induction on the length of T, I will show that T is also a proof of t_{0} ⟶^{α} t from E_{0} and that α ∈ T(Σ_{0})\overline{P} and t ∈ T(Σ_{0})_{P}.

Let r be the last rule used in T. I assume it is an extended tyft/tyxt rule from R_{0}. Suppose r is pure, label-pure extended tyft (the case that r is pure, label-pure extended tyxt can be proved in a similar fashion). I proceed by induction on the length of T. First suppose that r is an axiom, i.e. r is

\overline{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}

and let σ be the substitution used in the last step of the proof T. Hence σ(f(η_{1}, …, η_{m}, x_{1}, …, x_{n})) = t_{0}, σ(λ) = α and σ(p) = t, so σ(x) ∈ T(Σ_{0}) for all x ∈ ⋃_{1⩽i⩽n} x_{i} ∪ ⋃_{1⩽k⩽m}Var\overline{P}(η_{k}). Since r is pure, Var_{P}(p) ⊆ ⋃_{1⩽i⩽n} x_{i}, and since r is label-pure, Var\overline{P}(p)∪Var\overline{P}(λ) ⊆ ⋃_{1⩽k⩽m}Var\overline{P}(η_{k}). Therefore, it is immediate that α ∈ T(Σ_{0})\overline{P}, t ∈ T(Σ_{0})_{P} and E_{0} ⊢ t_{0} ⟶^{α} t.

Next suppose that r is

\frac{\{p_{i} ⟶^{λ_{i}} y_{i} | i ∈ I\}}{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}

and let σ be the substitution used in the last step of the proof T. Hence σ(f(η_{1}, …, η_{m}, x_{1}, …, x_{n})) = t_{0}, σ(λ) = α and σ(p) = t.

By considering the dependency graph G of the premises of r, depth(x) ∈ ℕ can be defined for all x ∈Var_{P}(r) in a similar fashion to the proof of Theorem 4.3.1. Define

• X = {x_{i} | 1 ⩽ i ⩽ n}

• Y = {y_{i} | i ∈ I}

• Y_{d} = {y ∈ Y | depth(y) = d} for n ⩾ 0.

Observe that for any variable x ∈ X, depth(x) = 0, and the sets Y_{d} form a partition of Y. Next I need to consider the labels from V\overline{P} that appear in r. Define

• Z = ⋃_{1⩽k⩽m} Var\overline{P}(η_{k})

• Z′ = ⋃_{i∈I} Var\overline{P}(λ_{i})

• Z′_{d} = ⋃_{y_{i}∈Y_{d}}Var\overline{P}(λ_{i}).

Note that since r is label-pure, Var\overline{P}(r) = Z ∪Z′. Also the sets Z′_{d} form a partition of Z′ since variables cannot be shared between labels of premises.

With induction on d, I prove that σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X ∪ Y, and that σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z ∪ Z′. Because t_{0} ∈ T(Σ_{0})_{P} and because also σ(f(η_{1}, …, η_{m}, x_{1}, …, x_{n})) = t_{0}, σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X, and σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z.

Let d ∈ ℕ and suppose that σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X ∪ Y_{0} ∪ … ∪ Y_{d−1} and σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z ∪ Z′_{0} ∪ … ∪ Z′_{d−1}. Let y^{∗} ∈ Y_{d}, then there is a unique i ∈ I such that y^{∗} = y_{i}. Since r is pure, Var_{P}(p_{i}) ⊆ X ∪ Y_{0} ∪ … ∪ Y_{d−1}, and since r is label-pure, Var\overline{P}(p_{i}) ⊆ Z, therefore σ(p_{i}) ∈ T(Σ_{0})_{P}. Consider the transition σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}). It is clear that this transition must be generated by a proof whose last step involves a rule from R_{0}, since E = E_{0}⊕>E_{1} is type-1 and hence no extended tyft/tyxt rule from R_{1} can generate a transition that has a label with the same sort as σ(λ_{i}). Hence, by the the induction hypothesis, σ(λ_{i}) ∈ T(Σ_{0})\overline{P},

σ(y_{i}) ∈ T(Σ_{0})_{P} and E_{0} ⊢ t_{0} ⟶^{α} t.

So this is true for all y ∈ Y_{d}, and this is true for all d ∈ ℕ, so σ(x) ∈ T(Σ_{0})_{P} for all x ∈ X ∪ Y and σ(z) ∈ T(Σ_{0})\overline{P} for all z ∈ Z ∪ Z′. Since r is pure and labelpure, Var(p) ⊆ X ∪Y ∪Z ∪Z′, therefore t = σ(p) ∈ T(Σ_{0})_{P}, and Var(λ) ⊆ Z ∪Z′, so α = σ(λ) ∈ T(Σ_{0})\overline{P} and E_{0} ⊢ t_{0} ⟶^{λ} t.

I need some definitions concerning congruences to achieve extension up to bisimulation results. Since I would like each signature to have its own congruence, I define the following way to combine congruences.

Definition 5.3.7 (Sum of two congruences) Let Σ_{i} = (S_{i}∪{P}, F_{i}) for i = 0, 1 be two signatures with Σ = Σ_{0}⊕Σ_{1} defined. Let ≡_{0} and ≡_{1} be two congruence defined on T(Σ_{0}) and T(Σ_{1}) respectively. Define the sum of ≡_{0} and ≡_{1} (≡_{0} ⊕ ≡_{1}) as the smallest congruence over T(Σ_{0} ⊕ Σ_{1}) containing both ≡_{0} and ≡_{1}.

Notation Let ≡ be an equivalence over a set A, and let B ⊆ A. Define

≡↾_{B} = ≡ ∩ (B × B).

But for the main results to work, it is necessary to have a specific relation between the original congruences and their sum.

Definition 5.3.8 (Conservativity of the sum of two congruences) Let Σ_{i} = (S_{i}∪{P}, F_{i}) for i = 0, 1 be two signatures with Σ = Σ_{0}⊕Σ_{1} defined. Let ≡_{0} and ≡_{1} be two congruences defined on T(Σ_{0}) and T(Σ_{1}) respectively. ≡_{0} ⊕≡_{1} is said to be conservative with respect to ≡_{i} if (≡_{0} ⊕ ≡_{1}) ↾_{T(Σ_{i})\overline{P}} = ≡_{i} ↾_{T(Σ_{i})\overline{P}}.

I also need the following lemma to make the proofs simpler.

Lemma 5.3.2 (Equivalences and sums of congruences) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ = Σ_{0} ⊕ Σ_{1} defined. Let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively and let ≡ = ≡_{0} ⊕ ≡_{1}. Then for t_{0}, u_{0} ∈ T(Σ_{0})_{P}

1. t_{0} ∼_{≡_{0}}^{E_{0}} u_{0} ⇒ t_{0} ∼_{≡}^{E_{0}} u_{0},

2. if ≡ is conservative with respect to ≡_{0} then t_{0} ∼_{≡}^{E_{0}} u_{0} ⇒ t_{0} ∼_{≡_{0}}^{E_{0}} u_{0}.

Proof:

1. Assume t_{0} ∼_{≡_{0}}^{E_{0}} u_{0}. Consider t_{0} ⟶^{α} t′, then there exists u′ ∈ T(Σ_{0})_{P} and β ∈ T(Σ_{0})\overline{P}, such that u_{0} ⟶^{β} u′ and α ≡_{0} β. But since ≡ = ≡_{0} ⊕ ≡_{1}, α ≡ β as required.

2. Assume t_{0} ∼_{≡}^{E_{0}} u_{0}. Consider t_{0} ⟶^{α} t′, then there exists u′ ∈ T(Σ_{0})_{P} and β ∈ T(Σ_{0})\overline{P}, such that u_{0} ⟶^{β} u′ and α ≡ β. But since ≡ is conservative with respect to ≡_{0}, and α, β ∈ T(Σ_{0}), α ≡_{0} β as required.

In the rest of this section, I prove two theorems about extensions—one for refining extensions and one for abstracting extensions. Both of these results rely on the fact that the congruence I am working with respects sorts, and hence transitions with different sorts cannot be matched. I give examples after the theorems.

I can now prove the following result for refining extensions. The proof requires the conservativity of ≡_{0} ⊕ ≡_{1} with respect to ≡_{0} to ensure that no additional matches can be made under ≡_{0} ⊕ ≡_{1} on the transitions from terms from T(Σ_{0})\overline{P} generated by rules from R_{0}. Because new transitions from terms in T(Σ)\overline{P} generated by extended tyxt rules from R_{1} are guaranteed to have sorts outside S_{0}, they cannot match any existing transitions under ≡_{0} ⊕ ≡_{1}. Therefore, terms that are not equated under ∼_{≡_{0}}^{E_{0}} are also not equated under ∼_{≡_{0}⊕≡_{1}}^{E}.

Theorem 5.3.1 (Refining extension up to bisimulation with respect to a congruence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively such that ≡_{0} ⊕ ≡_{1} is conservative with respect to ≡_{0}. If E_{0} is pure and label-pure, and E_{0}⊕>E_{1} is type-1, then E_{0}⊕>E_{1} is a refining extension. Proof: Let t_{0}, u_{0} ∈ T(Σ_{0}) and let ≡ = ≡_{0} ⊕ ≡_{1}. I wish to show that E is a refining extension of E_{0} up to bisimulation with respect to ≡ so I need to show that t_{0} ∼_{≡}^{E} u_{0} ⇒ t_{0} ∼_{≡_{0}}^{E_{0}} u_{0}.

I prove this by showing the contrapositive. Assume t_{0}≁_{≡_{0}}^{E_{0}}u_{0}. Hence, I can assume (without loss of generality) that from t_{0} or some derivative of t_{0}, there is a transition that cannot be matched by a transition from u_{0} or by any transitions from a possible corresponding derivative of u_{0}. First note, that since ≡ is conservative with respect to ≡_{0}, no more transitions can be equated in E_{0} under ≡ then under ≡_{0}, hence I only need to consider the new transitions generated under E. I will prove that none of the new transitions can match this transition. Note also that new transitions can be derived from the new rules and function symbols, but existing transitions cannot be removed, hence I need only consider the new transitions. I have a number of cases to consider for any new transition.

• The transition was generated by the use of an extended tyft/tyxt rule from R_{0}. Then by Lemma 5.3.1, I know that this transition is in fact not a new transition, hence it can have no effect on the bisimilarity of t_{0} and u_{0} under E.

• The transition was generated by the use of an extended tyxt rule from R_{1}. Then because E_{0}⊕>E_{1} is type-1 and hence there is the restriction that extended tyxt rules in R_{1} cannot have a label in the conclusion that has a sort that appears in S_{0}, any transition generated by such a rule cannot match an old transition from E_{0} since matching of actions under a congruence can only occur within a sort.

• The transition was generated by the use of an extended tyft rule form R_{1}. Then because E_{0}⊕>E_{1} is type-1 and hence there is the restriction that extended tyft rules in R_{1} with a function symbol from F_{0} in the source of the conclusion cannot have a label in the conclusion that has a sort that appears in S_{0}, any transition generated by such a rule cannot match an old transition from E_{0} since matching of actions under a congruence can only occur within a sort.

Hence it is clear that the transition that is not matched by any of the existing transitions cannot be matched by any of the new transitions, therefore t_{0}≁_{≡}^{E}u_{0}.

I need stronger conditions to show a similar result for abstracting extensions, namely that the sum is type-0 and the second component is well-founded.

Theorem 5.3.2 (Abstracting extension up to bisimulation with respect to a congruence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively such that ≡_{0} ⊕ ≡_{1} is compatible with E_{0}⊕>E_{1}. If E_{0} is pure and label-pure, E_{1} is well-founded, and E_{0}⊕>E_{1} is type-0, then E_{0}⊕>E_{1} is an abstracting extension. Proof: The details of this proof are included in Appendix A. It proceeds in a similar fashion to Theorem 4.3.1, but with greater intricacy since the relation that is to be shown a bisimulation is more complex. Given a transition from a state, a substitution must be found to show that an equivalent state has a transition that satisfies the definition of bisimulation. The proof proceeds by induction on the length of the proof tree for a transition and then induction on a partition of the variables that appear in the final rule used in the proof tree.

Corollary 5.3.1 (Conservative extension up to bisimulation with respect to a congruence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively such that ≡_{0} ⊕ ≡_{1} is conservative with respect to ≡_{0} and compatible with E_{0}⊕>E_{1}. If E_{0} is pure and label-pure, E_{1} is well-founded, and E_{0}⊕>E_{1} is type-0, then E_{0}⊕>E_{1} is a conservative extension. Proof: It is clear that E_{0}⊕>E_{1} is a refining extension because E_{0} is pure and label-pure, and E_{0}⊕>E_{1} is type-0, and hence type-1. It is also clear that E_{0}⊕>E_{1} is an abstracting extension because if E_{0} is pure and label-pure, E_{1} is well-founded, and E_{0}⊕>E_{1} is type-0. Hence E_{0}⊕>E_{1} is a conservative extension.

Example 5.2.1 is neither an refining extension up to bisimulation nor an abstracting extension up to bisimulation, since the sum is not even type-1. I now consider two examples that do give interesting extensions.

Example 5.3.1 (Refining extension up to bisimulation) Consider the eTSS E_{CCSSub} from Example 4.3.1. Consider also the signature, Σ_{CCSTau},

( P, τAct; τ; plus )

with the types τ :→ τAct and plus : P, P → P. and the rule set R_{CCSTau}

\overline{plus(x, x′) ⟶^{τ} y} .

Let Id be the congruence for both eTSSs, then conservativity and compatibility are satisfied. Then by Theorem 5.3.1, E_{CCSSub} ⊕ E_{CCSTau} is a refining extension up to bisimulation with respect to Id, since the sum is type-1, and E_{CCSSub} is pure and label-pure. Clearly the only transitions added to those terms from the first signature are those with a new sort and hence they cannot cause unidentified terms to become identified.

Example 5.3.2 (Abstracting extension up to bisimulation) Consider again E_{CCSSub} and the eTSS E_{CCSTauNew} consisting of the signature E_{CCSTau} from the previous example and the rule set R_{CCSTauNew}

\overline{x ⟶^{τ} y} .

Let Id be the congruence for both eTSSs, then compatibility is satisfied. Then by Theorem 5.3.2, E_{CCSSub}⊕E_{CCSTauNew} is an abstracting extension up to bisimulation with respect to Id, since the sum is type-0, E_{CCSSub} is pure and label-pure, and E_{CCSTau} is trivially well-founded. Informally, it can be said that because the new transitions with a new sort are added to every term from the first signature, equivalence is retained.

5.3.1 Counter-examples

Again I need counter-examples to show that the conditions in the two main results above cannot be weakened, although as I show in the next section, it is possible to obtain similar results with different conditions.

[figure: f(nil); ≁_{Id}^{E_{0}}; ∼_{Id⊕≡_{1}}^{E_{0}⊕>E′_{0}}; f′(nil); g; ≡_{1}; g′; nil; nil]

Figure 5.3: Counter-example 5.3.1

5.3.1.1 Refining extensions

I wish to show that conservativity, pureness, label-pureness and type-1 sum are necessary conditions. I now present counter-examples for conservativity and type-1 sum. In each of these counter-examples, I will work with two closed terms which are not equivalent, and show how by relaxing the conditions, the result is lost.

In the figures that accompany the counter-examples, my aim is to illustrate the additional transitions that result from the sum of the two eTSSs. These transitions are given by dashed arrows. As in the previous chapter, I do not give all transitions or the LTS associated with terms under consideration.

Counter-example 5.3.1 (Conservativity of equivalence) This example considers conservativity of ≡_{0} ⊕ ≡_{1} with respect to ≡_{0}. First consider the signature

Σ_{0} = ( P, s; g, g′, nil; f, f′ )

with g :→ s, g′ :→ s, nil :→ P, f : P → P, and f′ : P → P. Assume ≡_{0} is the identity relation Id.

Consider the eTSS E_{0} consisting of Σ_{0} and the axioms f(x) ⟶^{g}x and f′(x) ⟶^{g′} x. Clearly f(nil)≁_{Id}^{E_{0}}f′(nil). Consider summing with this the eTSS E′_{0} consisting of the same signature and ≡_{1} which is the identity relation plus g ≡_{1} g′. Then Id⊕ ≡_{1} is not conservative with respect to Id, and f(nil)∼_{Id⊕≡_{1}}^{E_{0}⊕>E′_{0}}f′(nil). Figure 5.3 illustrates this counter-example.

[figure: f(nil); ≁_{Id}^{E_{1}}; ∼_{Id}^{E_{1}⊕>E′_{1}}; nil; g; g; nil; nil] [figure: f(nil); ≁_{Id}^{E_{2}}; ∼_{Id}^{E_{2}⊕>E′_{2}}; f′(nil); g; g; nil; nil]

Figure 5.4: Counter-example 5.3.2

Counter-example 5.3.2 (Type-1 sum) I now look at the requirement for a type-1 sum. This has two parts. Consider first allowing a tyxt rule in R_{1} which has a sort from S_{0}. Let E_{1} be the signature from the previous example, as well as the rule f(x) ⟶^{g} x. Then clearly f(nil)≁_{Id}^{E_{1}}nil. However if the sum of E_{1} and E′_{1} is formed where E′_{1} consists of Σ_{0} and the axiom

x ⟶^{g}nil, then f(nil) ∼_{Id}^{E_{1}⊕>E′_{1}} nil.

Next, consider allowing a tyft rule in R_{1} with a function symbol from Σ_{0} and a sort from S_{0}. Let E_{2} be the signature from the previous example plus the rule f(x) ⟶^{g} x. Clearly, f(nil)≁_{Id}f′(nil). However if E_{2} is summed with E′_{2} where E′_{2} consists of the same signature and the rule f′(x) ⟶^{g} x, then f(nil) ∼_{Id} f′(nil). Diagrams of these counter-examples are given in Figure 5.4.

I now look at pureness and label-pureness. It is not clear that these conditions are required for the theorem, except for the specific condition of not having a free variable in the source of a premise for which I give a counter-example below. However, it can be shown fairly easily that all of these conditions are required for Lemma 5.3.1 which is used in the theorem. Hence it may be the case that it is

[figure: f(nil); ≁_{Id}^{E_{3}}; ∼_{Id}^{E_{3}⊕>E′_{3}}; f′(nil); g; g; nil; nil]

Figure 5.5: Counter-example 5.3.3

possible to prove the theorem with weaker conditions on the free variables and without the use of Lemma 5.3.1.

Counter-example 5.3.3 (Pureness for refining extensions up to bisimulation) In this example, I will look at one condition of pureness. A rule is not pure when there is a free variable in the source of a premise. Consider the signature

Σ_{3} = ( P, s, s′; g, g′, nil; f, f′ )

with g :→ s, g′ :→ s′, nil :→ P, f : P → P and f′ : P → P; together with the rules

\overline{f(x) ⟶^{g}x}  \frac{x_{1} ⟶^{z′_{s}} y}{f′(x) ⟶^{g}y}

and call this eTSS E_{3}. Clearly the second rule is not pure. It can be shown that f(nil)≁_{Id}^{E_{3}}f′(nil), since f′(nil) has no transitions. However, adding the eTSS E′_{3} consisting of Σ plus f′′ :→ P and the axiom f′′ ⟶^{g′} nil causes f(nil)∼_{Id}^{E_{3}⊕>E′_{3}}f′(nil) since now f′(nil) has a matching transition. This counter-example is illustrated by Figure 5.5.

5.3.1.2 Abstracting extensions

I wish to show that pureness, label-pureness and type-0 sum are necessary conditions. Note that the earlier comments about well-foundedness apply to this proof also, as does the counter-example for compatibility in Counter-example 4.3.5.

Counter-example 5.3.4 (Pureness for abstracting extensions up to bisimulation) In this example, I will look at pureness. A rule is not pure either when there is a free variable in the source of a premise or in the target of the conclusion. Consider the signature Σ_{0} used in Counter-example 5.3.1 together with the rule

\frac{x_{1} ⟶^{z_{s}} y}{f(x) ⟶^{z_{s}} y}

and call this eTSS E_{4}. Clearly this rule is not pure. It can be shown that nil ∼_{Id}^{E_{4}} f(nil), since neither have any transitions. However, adding the eTSS E′_{4} consisting of Σ_{0} plus f′′ :→ P and the axiom f′′ ⟶^{g} nil causes nil≁_{Id}^{E_{4}⊕>E′_{4}}f(nil) since now f(nil) has a transition.

Next consider the signature

Σ_{5} = ( P, s, s′; g, g′, nil_{1}, nil_{2} )

with g :→ s, g′ :→ s′, nil_{1} :→ P and nil_{2} :→ P.

Let E_{5} be the eTSS consisting of Σ_{5} and the axioms

\overline{nil_{1} ⟶^{g}nil_{1}} \overline{nil_{2} ⟶^{g}x}.

The second axiom is not pure. It can be shown that nil_{1} ∼_{Id}^{E_{5}} nil_{2}. Let E′_{5} be the eTSS consisting of Σ_{5} with nil_{3} :→ P added. Clearly nil_{1}≁_{Id}^{E_{5}⊕>E′_{5}}nil_{2}. These counter-examples are illustrated in Figure 5.6.

Counter-example 5.3.5 (Label-pureness for abstracting extensions up to bisimulation) This example will deal with label-pureness. There are three ways in which a set of rules can fail the label-pureness condition. Consider the many-sorted signature

Σ_{6} = ( P, s, s′; ok, g, nil; f, f_{1}, f_{2}, f′, f′′ )

with ok :→ s′, g :→ s, nil :→ P, f : P → P, f_{1} : P → P, f_{2} : P → P, f′ : s → P and f′′ : s, P → P.

Consider the eTSS E_{6} consisting of Σ_{6} and the axioms f_{1}(x) ⟶^{g} nil and f_{2}(x) ⟶^{z_{s}} nil. It is clear that f_{1}(nil) ∼_{Id}^{E_{6}} f_{2}(nil). If I add a new constant

nil  ∼_{Id}^{E_{4}}^{≁_{Id}^{E_{4}⊕>E′_{4}}} f(nil)^{}g nil [figure: nil_{1}; g; nil_{2}; g; g; ∼_{Id}^{E_{5}}; ≁_{Id}^{E_{5}⊕>E′_{5}}; g; nil_{3}]

Figure 5.6: Counter-example 5.3.4

g′ :→ s to form the eTSS E′_{6}, then I obtain a new transition f_{2}(nil) ⟶^{g′} nil, and hence f_{1}(nil)≁_{Id}^{E_{6}⊕>E′_{6}}f_{2}(nil).

Next, consider the eTSS E_{7} consisting of Σ_{6} and the axioms f_{1}(x) ⟶^{ok} f′(z_{s}), f_{2}(x) ⟶^{ok} f′(g), and f′(z_{s}) ⟶^{z_{s}} nil. Clearly, f_{1}(nil) ∼_{Id}^{E_{7}} f_{2}(nil). If I add a new constant g′ :→ s to create the eTSS E′_{7}, then I obtain a new transition

f_{1}(nil) ⟶^{ok} f′(g′), and hence f_{1}(nil)≁_{Id}^{E_{7}⊕>E′_{7}}f_{2}(nil), since f_{1}(nil) ⟶^{ok} f′(g′) and

f′(g′)≁_{Id}^{E_{7}⊕>E′_{7}}f′(g).

Finally consider the eTSS E_{8} consisting of Σ_{6} and the rules

\overline{f′′(z_{s}, x) ⟶^{ok} f′(z_{s})}  \frac{f′′(z_{s}, x) ⟶^{ok} y}{f_{1}(x) ⟶^{ok} y}  \frac{f′′(g, x) ⟶^{ok} y}{f_{2}(x) ⟶^{ok} y}  \overline{f′(z_{s}) ⟶^{z_{s}} nil}.

Consider the proofs

\frac{f′′(g, nil) ⟶^{ok} f′(g)}{f_{1}(nil) ⟶^{ok} f′(g)} \frac{f′′(g, nil) ⟶^{ok} f′(g)}{f_{2}(nil) ⟶^{ok} f′(g)}.

From these, it is clear that f_{1}(nil) ∼_{Id}^{E_{8}} f_{2}(nil). If I add a new constant g′ :→ s to form the eTSS E′_{8}, I obtain a new transition f′′(nil) ⟶^{ok} f′(g′), and hence

f_{1}(nil)≁_{Id}^{E_{8}⊕>E′_{8}}f_{2}(nil), since f_{1}(nil) ⟶^{ok} f′(g′) and f′(g′)≁_{Id}^{E_{8}⊕>E′_{8}}f′(g).

[figure: f_{1}(nil); ∼_{Id}^{E_{6}}; ≁_{Id}^{E_{6}⊕>E′_{6}}; f_{2}(nil); g; g; g′; nil; nil; nil] [figure: f_{1}(nil); ∼_{Id}^{E_{7}}; ≁_{Id}^{E_{7}⊕>E′_{7}}; ∼_{Id}^{E_{8}}; ≁_{Id}^{E_{8}⊕>E′_{8}}; f_{2}(nil); ok; ok; ok; f′(g); f′(g); f′(g′); g; g; g′; nil; nil; nil]

Figure 5.7: Counter-example 5.3.5

Figure 5.7 illustrates these counter-examples. The second and third counterexample have the same diagrams.

Similarly to the counter-examples for the conservative extension result, these counter-examples all rely on adding new functions of an existing sort. It may be possible to exclude this possibility and achieve a different result. I also need to show why type-0 sums are required. The next counter-example considers what happens if one of the new tyxt rules can have a label with a sort from the first signature.

Counter-example 5.3.6 (First example of type-0 sum) Using the same signature as in the above example, consider the eTSS consisting of Σ_{6} and the rules

\overline{f_{1}(x) ⟶^{g}nil}  \overline{f_{2}(x) ⟶^{g}nil}  \frac{f(x) ⟶^{z_{s′}} y}{f_{2}(x) ⟶^{z_{s′}} y}

[figure: f_{1}(nil); ∼_{Id}^{E_{9}}; ≁_{Id}^{E_{9}⊕>E′_{9}}; f_{2}(nil); g; g; ok; nil; nil; nil]

Figure 5.8: Counter-example 5.3.6

and call this eTSS E_{9}. From these rules, it can be seen that f_{1}(nil) ∼_{Id}^{E_{9}} f_{2}(nil). If I add a new axiom x ⟶^{ok} nil to give the eTSS E′_{9}, then I can derive a new transition f_{2}(nil) ⟶^{ok} nil by the proof

\frac{f(nil) ⟶^{ok} nil}{f_{2}(nil) ⟶^{ok} nil}

and hence f_{1}(nil)≁_{Id}^{E_{9}⊕>E′_{9}}f_{2}(nil). This is illustrated in Figure 5.8.

I need a counter-example to show that when E_{0}⊕>E_{1} is type-1, it is not possible to obtain a refining extension and hence a type-0 sum is required.

Counter-example 5.3.7 (Second example of type-0 sum) Consider the many-sorted signature

Σ_{10} = ( P, s, s′; ok, g, nil; f, f′, f′′ )

with ok :→ s′, g :→ s, nil :→ P, f : s, P → P and f′ : s, P → P.

Consider the eTSS E_{10} consisting of Σ_{10} and the axioms f′(z_{s}, x) ⟶^{z_{s}} x and f(z_{s}, x) ⟶^{z_{s}} x. Also consider the eTSS E′_{10} consisting of Σ_{10} and the axiom f′(z_{s}, x) ⟶^{ok} x. Hence E_{10}⊕>E′_{10} is type-1 but not type-0.

Then f(g, nil) ∼_{Id}^{E_{10}} f′(g, nil), but f(g, nil)≁_{Id}^{E_{10}⊕>E′_{10}}f′(g, nil) since f(g, nil) ⟶^{ok}

nil, but f′(g, nil) cannot perform an ok action. This counter-example is illustrating in Figure 5.9.

[figure: f(g, nil); ∼_{Id}^{E_{10}}; ≁_{Id}^{E_{10}⊕>E′_{10}}; f′(g, nil); g; g; ok; nil; nil; nil]

Figure 5.9: Counter-example 5.3.7

5.4 A different approach to extensions up to bisimulation

In this section, I will describe how it is possible to change the label-pureness requirement in some of the previous results by giving additional requirements on Σ_{1}. In the Counter-examples 5.2.1 and 5.3.5 which show that label-pureness was required, a new constant with sort from S_{0} was introduced in Σ_{1} to show that the required result was lost. It is possible then to impose restrictions on Σ_{1} disallowing such function symbols and hence remove the label-pureness requirement in the results under discussion. I first need a new definition to describe the sort of function symbols I want in this kind of signature.

Definition 5.4.1 (Safety of a signature) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures. It is said that Σ_{1} is safe for S_{0} if no function symbol in F_{1} − F_{0} has a range with a sort from the set S_{0}.

Note that if (S_{0} ∩ S_{1}) ≠ ∅ and Σ_{1} is safe for S_{0}, then Σ_{1} may not be a sensible signature since there may be no closed terms for the sorts that appear in the intersection (although there are open terms since there are variables with these sorts). This is why I introduced the notion of asymmetric sum earlier in the chapter, so that it was possible to consider non-sensible signatures as extensions.

Also note that from the point of view of this chapter, algebras are associated with arbitrary equivalences. When these results are applied to process algebras, equivalences are induced by an algebra which represents the labels of the process algebras. Hence, signatures which are not sensible are less likely to occur and moreover, it may be necessary to define the equivalence for functions from F_{0}. So although it would be possible to change Definition 5.4.1 to require that no label in F_{1} has a range with a sort from S_{0}, it is more practical to allow functions from F_{0} to appear in F_{1}. Therefore, the above definition only requires that any new functions added do not have a range with a sort from S_{0}.

The following technical lemma shows that all closed terms in the sum with a sort from S_{0} are in 𝕋(Σ_{0})\overline{P}.

Lemma 5.4.1 (Implications of safety of a signature) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two suitable signatures with Σ_{0}⊕>Σ_{1} defined. If Σ_{1} is safe for S_{0}, then for all t ∈ T(Σ_{0}⊕>Σ_{1})\overline{P} − T(Σ_{0})\overline{P}, the sort of t is in S_{1} − S_{0}; namely for all s ∈ S_{0}

t ∈ T(Σ_{0}⊕>Σ_{1})_{s} ⇒ t ∈ T(Σ_{0})\overline{P}.

Proof: Let t′ ∈ T(Σ_{0}⊕>Σ_{1})_{s} for s ∈ S_{0}. Then since t′ is not a variable, t′ has the form f(η_{1}, …, η_{m}) with f ∈ F_{0} ∪ F_{1} such that f : s_{1} … s_{m} → s and s ∈ S_{0}. But since no function in F_{1} − F_{0} has range with sort from S_{0}, f ∈ F_{0} and s_{1}, …, s_{m} ∈ S_{0}. Since η_{k} (1 ⩽ k ⩽ m) has less structure than t′, I can use induction and assume that for 1 ⩽ k ⩽ m, η_{k} ∈ T(Σ_{0})\overline{P}, since each η_{k} has a sort from S_{0}. Hence I can conclude that f(η_{1}, …, η_{m}) ∈ T(Σ_{0})\overline{P}.

Theorem 5.2.1 can then be rephrased with the safeness condition added and label-pureness removed. It works because the only terms that can be substituted into the free label variables in rules from R_{0} are those from T(Σ_{0}), since terms with sorts from S_{0} are in T(Σ_{0})\overline{P}.

Theorem 5.4.1 (Conservative extension without label-pureness and with safety) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ_{1} safe for S_{0}. Let E_{0} = (Σ_{0}, R_{0}) be an eTSS in pure extended tyft/tyxt format and let E_{1} = (Σ_{1}, R_{1}) be an eTSS in extended tyft format such that there is no rule in R_{1} that contains a function symbol from Σ_{0} in the source of the conclusion. Let E = E_{0}⊕>E_{1} be defined. Then E_{1} can be added conservatively to E_{0}. Proof: This proof is similar to the proof of the Theorem 5.2.1. The differences are that in the base case here, I use the fact that only terms from T(Σ_{0}) can be assigned to variables in a rule from R_{0} by Lemma 5.4.1, whereas in the earlier proof, label-pureness was used to show that the only variables that could appear were those that already had been shown to have been assigned terms from T(Σ_{0}). Also in the inductive step here, I use the fact that only terms from T(Σ_{0}) can be assigned to variables in the source of a premise, whereas previously, the variables that appeared in the source of a premise were shown to appear in the source of the conclusion and hence had been assigned terms from T(Σ_{0}). In the final step of the proof, I use a similar approach to the earlier proof.

Example 5.2.2 cannot be used as an example here since Σ_{CCSPar} is not safe for \{A\}, the set of \overline{P} sorts for Σ_{CCSSub}.

Example 5.4.1 (Conservative extension with safety) Consider the eTSS E_{CCSSub} and new eTSS E_{CCSParTau} consisting of the signature

( P, τAct; τ; par )

with the types τ :→ τAct and par : P, P → P. and the rule set R_{CCSTau}

\overline{par(x, x′) ⟶^{τ} y} .

Then by the previous theorem, E_{CCSSub} ⊕ E_{CCSParTau} is a conservative extension. Clearly the new rule only allows transitions with a label with the new sort and hence cannot add any transitions with a label of a sort from the first signature.

The lemma and the refining, abstracting and conservative extension up to bisimulation results can be rephrased in a similar way. In each of these new statements, I have added the safety condition, and removed the label-pureness condition.

It may look as though it is also possible in the next lemma to remove the condition that no extended tyxt rule from R_{1} has a label in the conclusion with a sort from S_{0}, since the safety condition prevents this from happening because the terms in T(Σ_{1})\overline{P} have sorts from S_{1} − S_{0}. This, however, is not correct since I need to consider terms from 𝕋(Σ_{1})\overline{P} when considering rules, and included in this are variables from V\overline{P} which have sorts from S_{0}. This could be ‘fixed’ by insisting that (S_{0} ∩ S_{1}) = ∅, but this is too strong, as I want functions in F_{1} which accept arguments with sorts from S_{0}. So I want to keep the weaker condition and hence I have to keep the condition on extended tyxt rules from R_{1}.

Lemma 5.4.2 (Application of rules without label-pureness and with safety) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ_{1} safe for S_{0}. Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let E_{0} be pure, and let E_{0}⊕>E_{1} be type-1. Let E ⊢ t_{0} ⟶^{α} t with t_{0} ∈ T(Σ_{0})_{P}. If the last rule used in the proof of E ⊢ t_{0} ⟶^{α} t is an extended tyft/tyxt rule from R_{0} then E_{0} ⊢ t_{0} ⟶^{α} t. Proof: The proof of this lemma is similar to the proof of Theorem 5.4.1. The differences are that in the base case, the fact that a rule from R_{0} is being used is the result of the conditions in the theorem, whereas in this lemma, it is assumed. In the inductive step, in the theorem, I can apply induction directly from the fact that σ(p_{i}) ∈ T(Σ_{0})_{P}, whereas in this lemma, I require some argument from the conditions to show that a rule from R_{0} has been used and hence the induction hypothesis can be applied.

I can also rephrase Theorems 5.3.1 and 5.3.2.

Theorem 5.4.2 (Refining extension up to bisimulation with respect to a congruence without label-pureness and with safety)) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ_{1} safe for S_{0}. Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively such that ≡_{0} ⊕ ≡_{1} is conservative with respect to ≡_{0}. If E_{0} is pure, and E_{0}⊕>E_{1} is type-1, then E_{0}⊕>E_{1} is a refining extension.

Proof: This proof is almost identical to the proof of Theorem 5.3.1. The only place where label-pureness is considered in Theorem 5.3.1 is in the first item where Lemma 5.3.1 is used, hence in this proof I can use Lemma 5.4.2 instead.

I need stronger conditions to show a similar result for abstracting extensions as before.

Theorem 5.4.3 (Abstracting extension up to bisimulation with respect to a congruence without label-pureness and with safety) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ_{1} safe for S_{0}. Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively such that ≡_{0} ⊕ ≡_{1} is compatible with E_{0}⊕>E_{1}. If E_{0} is pure, E_{1} is well-founded and E_{0}⊕>E_{1} is type-0, then E_{0}⊕>E_{1} is an abstracting extension. Proof: This proof is almost identical to the proof of Theorem 5.3.2. The only place where label-pureness is considered in Theorem 5.3.2 is when Lemma 5.3.1 is used. Since E_{0}⊕>E_{1} is type-0 and hence type-1, Lemma 5.4.2 can be used instead.

Corollary 5.4.1 (Conservative extension up to bisimulation with respect to a congruence without label-pureness and with safety) Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ_{1} safe for S_{0}. Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})\overline{P} and T(Σ_{1})\overline{P} respectively such that ≡_{0} ⊕ ≡_{1} is compatible with E_{0}⊕>E_{1}. If E_{0} is pure, E_{1} is well-founded, and E_{0}⊕>E_{1} is type-0, then E_{0}⊕>E_{1} is a conservative extension.

Both Example 5.3.1 and Example 5.3.2 can be used as examples for these new theorems since the signatures involved are safe.

In this section, I have given a different approach to dealing with the issue of label-pureness. As will be seen in the next chapter, safety plays an important rôle in comparing equivalences.

5.4.1 Counter-examples

All the previous counter-examples given in Sections 5.2.1 and 5.3.1 for labelpureness are also counter-examples for safety, since they involve adding new function symbols with a range sort of the first eTSS. All the other counter-examples in these sections also apply to the other condition in the theorems since none of them involve adding function symbols with the incorrect sort.

5.5 Conclusion

In this chapter, I have looked at extensions to eTSSs achieved by summing two eTSSs in a particularly manner. This extends previous results, and introduces new definitions and results relating to extension up to bisimulation. I will discuss the application of these results in the next chapter.

Application of results

6.1 Introduction

This chapter looks at how the results of the previous two chapters can be applied to process algebras. This needs to be done in two parts. The first involves looking at the conditions required for the results of the previous two chapters and seeing how this affects which algebras can be used to represent the labels of the process algebras. The second part looks at how specific process algebras can be represented in the extended tyft/tyxt format and how process algebras can be compared.

In the first section, I take conditions from theorems of the previous two chapters, and see what implications these conditions have on algebras that can be used to represent the labels of a process algebra that is to be expressed in extended tyft/tyxt format. As described in earlier chapters, the extended tyft/tyxt format is purely syntactic, and a mapping is required from the syntactic form of the labels to the semantics of the labels of the process algebras. This is achieved by using a Σ-algebra to represent the labels and then taking the unique homomorphism from the term algebra to this Σ-algebra. This homomorphism induces a congruence over the terms and hence this can be used in the bisimulation that is applied to process terms. My aim in this section is to show that the conditions are not unreasonable, and in fact an additional condition, that of sort-similarity can, in certain situations, ensure some of the conditions are met.

In the second section, I look at how certain process algebras can be expressed in tyft/tyxt format. In order to express infinite rule sets, I introduce schemas and schema variables. In the third section, I look at how the results of the previous chapter can be applied to two process algebras.

6.2 Implications of conditions

A number of conditions were required to achieve the results in the previous two chapters. For the congruence result, compatibility is required and for the extension results, sum of congruences are considered. I now investigate how these affect the application of the results.

6.2.1 Implications of congruence compatibility

In the previous two chapters, compatibility (Definition 4.3.8, page 74) was required for a number of results, most notably the congruence result. I now look at conditions on Σ-algebras which will ensure compatibility.

Given a set of rules R, I require that for each r ∈ R, and for any η in 𝕋(Σ)\overline{P} that appears on a transition in a premise of r or as in an argument to the function in the conclusion of r, then

whenever σ(η) ≡ μ for μ ∈ T(Σ)\overline{P}, there exists a substitution σ′ such that μ = σ′(η) and σ(z) ≡ σ′(z) for all z ∈ Var\overline{P}(η).

As an additional definition, for convenience, define a congruence ≡ to be compatible with η ∈ 𝕋(Σ)\overline{P} if the above holds for η.

First, note that I am only interested in those function symbols that appear in rules, since those are the only ones that can be considered when looking at compatibility. Consider σ(η) ≡ μ, and assume that there is a Σ-algebra A, and i_{A}, the unique homomorphism from T(Σ) to A. The congruence ≡ is defined by

i_{A}(λ) = i_{A}(λ′) ⟺ λ ≡ λ′ ∀λ, λ′ ∈ T(Σ).

So if σ(η) ≡ μ, then i_{A}(σ(η)) = i_{A}(μ).

I wish to obtain a general result that holds for any signature Σ. Note that I require that the term in question contains no repeated variables. This is not a serious limitation—see the comments after Definition 4.3.8.

Proposition 6.2.1 (Conditions on Σ-algebra ensuring compatibility) Let Σ = (S, F) be a signature, and let A be a Σ-algebra. Let ≡ be the congruence associated with i_{A} and let λ ∈ 𝕋(Σ) be a term with no repeated variables, then ≡ is compatible with λ if for all function symbols g that appear in λ with g^{A} : A_{s_{1}} × … × A_{s_{n}} → A_{s},

• Im(g^{A}) ∩ Im(g_{1}^{A}) = ∅ for all g_{1}^{A} : A_{s′_{1}} × … × A_{s′_{m}} → A_{s},

• g^{A} is injective.

Proof: Let α ≡ σ(λ) for some α ∈ T(Σ) and a closed substitution σ. I need to find a substitution σ′ such that σ′(λ) = α and σ(z) ≡ σ′(z) for all z ∈ Var(λ). The proof will be proceed by induction on the structure of λ. For the base case, assume λ = z for z ∈ V and define σ′ as follows

σ′(z′) = \begin{cases}α & if z′ = z \\ σ(z′) & otherwise. \end{cases}

Then it is clear that the conditions for compatibility are satisfied. Next consider λ = g(λ_{1}, …, λ_{n}) where g : s_{1} … s_{n} → s. Hence

i_{A}(σ(g(λ_{1}, …, λ_{n}))) = i_{A}(α)
i_{A}(g(σ(λ_{1}), …, σ(λ_{n}))) = i_{A}(α)
g^{A}(i_{A}(σ(λ_{1})), …, i_{A}(σ(λ_{n}))) = i_{A}(α).

Fact 1 g^{A}(a_{1}, …, a_{n}) = i_{A}(α) ⇒ α = g(μ_{1}, …, μ_{n}) for some μ_{1}, …, μ_{n}. Proof: Suppose not, i.e. α = g_{1}(μ′_{1}, …, μ′_{m}) for g_{1} ≠ g with g_{1} : s′_{1} … s′_{m} → s. Then

g^{A}(a_{1}, …, a_{n}) = i_{A}(α)
= i_{A}(g_{1}(μ′_{1}, …, μ′_{m}))
= g_{1}^{A}(i_{A}(μ′_{1}), …, i_{A}(μ′_{m})).

Contradiction since Im(g^{A}) ∩ Im(g_{1}^{A}) = ∅.

So by this fact, there exist μ_{1}, … μ_{n} such that α = g(μ_{1}, …, μ_{n}). Hence

g^{A}(i_{A}(σ(λ_{1})), …, i_{A}(σ(λ_{n}))) = i_{A}(g(μ_{1}, …, μ_{n}))
g^{A}(i_{A}(σ(λ_{1})), …, i_{A}(σ(λ_{n}))) = g^{A}(i_{A}(μ_{1}), …, i_{A}(μ_{n}))
i_{A}(σ(λ_{i})) = i_{A}(μ_{i})  for all 1 ⩽ i ⩽ n

(since g_{A} is injective)

σ(λ_{i}) ≡ μ_{i}  for all 1 ⩽ i ⩽ n.

By the inductive hypothesis, there are substitutions σ_{i} such that for each 1 ⩽ i ⩽ n, σ_{i}(λ_{i}) = μ_{i}, and σ(z) ≡ σ_{i}(z) for all z ∈ Var(λ_{i}). From these substitutions, construct a substitution that fulfils the compatibility requirements. Let σ′ be defined as follows

σ′(z) = \begin{cases}σ_{i}(z) & if z ∈ Var(λ_{i}) \\ σ(z) & otherwise. \end{cases}

This is well-defined since there are no repeated variables. Recall that

σ′(λ) = σ′(g(λ_{1}, …, λ_{n}))
= g(σ′(λ_{1}), …, σ′(λ_{n}))
= g(σ_{1}(λ_{1}), …, σ_{n}(λ_{n}))
= g(μ_{1}, …, μ_{n})
= α.

Also for any z ∈ Var(λ), σ′(z) = σ_{i}(z) for a unique 1 ⩽ i ⩽ n, and σ_{i}(z) ≡ σ(z), hence σ′(z) ≡ σ(z).

Hence, I have shown some conditions under which compatibility is obtained. To sum up, for the congruence induced over the term algebra by another algebra to be compatible for a certain open term, any function which appears in the open term must be injective and must have an image which is disjoint from the image of any other function.

6.2.2 Sums of congruences and Σ-algebras

In this section, I will prove some important results concerned with sums of congruences and algebras. Although in the material presented so far, I have been working with congruences in an abstract manner, it is also important to investigate them as congruences induced by the Σ-algebras that model the actual process algebra labels. If there are two signatures Σ_{i} = (S_{i}, F_{i}), and two Σ_{i}-algebras, A_{i}, for i = 0, 1, with Σ_{0}⊕>Σ_{1} defined, under what circumstances can I construct a Σ_{0}⊕>Σ_{1}-algebra, from A_{0} and A_{1}? Note that here I am considering signatures in general, and do not need to consider the distinguished sort P. I first require some new definitions. The definition of the union of two many-sorted sets is straightforward.

Definition 6.2.1 (Union of many-sorted sets) Let S_{0} and S_{1} be two sets, and let A_{i} = {A_{i,s}}_{s∈S_{i}} be an S_{i}-sorted set for i = 0, 1. Let S = S_{0} ∪S_{1}. Then the S-sorted union of A_{0} and A_{1} is defined as A = {A_{s}}_{s∈S} where

• A_{s} = A_{0,s} if s ∈ S_{0} − S_{1}

• A_{s} = A_{1,s} if s ∈ S_{1} − S_{0}

• A_{s} = A_{0,s} ∪ A_{1,s} if s ∈ S_{0} ∩ S_{1}

and is denoted s ⋃_{i=0,1}A_{i}.

I am interested in a particular class of signatures, namely those whose sums satisfy the following definition.

Definition 6.2.2 (Sort-similar sum of signatures) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined. Σ_{0}⊕>Σ_{1} is said to be sort-similar if for each s ∈ S_{0} ∩ S_{1}, f ∈ F_{0} ∪ F_{1} with f : s_{1} … s_{n} → s implies f ∈ F_{0} ∩ F_{1}.

This definition goes beyond that of the sum of two signatures where if a function appears in the intersection of the two signatures, then it has the same type in each signature, since here I require that any function that has a shared result sort, must appear in both signatures. Note that this definition does not contradict safety, since if f : s_{1} … s_{n} → s ∈ F_{1} − F_{0}, then it is possible under sort-similarity that s ∉ S_{0}.

A result follows from this definition, which I will use later in this section.

Proposition 6.2.2 (Sort-similarity) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined and sortsimilar. If t ∈ T(Σ_{0}⊕>Σ_{1}) has sort s ∈ S_{0}∩S_{1}, then t ∈ T(Σ_{0})∩T(Σ_{1}). Moreover T(Σ_{0}⊕>Σ_{1}) = T(Σ_{0}) ∪ T(Σ_{1}). Proof: For the first part of the result, consider t ∈ T(Σ_{0}⊕>Σ_{1})_{s} for s ∈ S_{0} ∩ S_{1}. I proceed by induction on the structure of t. If t is a constant f :→ s then f ∈ F_{0}∩F_{1} and clearly t ∈ T(Σ_{0})∩T(Σ_{1}). If t = f(t_{1}, …, t_{n}) for f : s_{1} … s_{n} → s, then f ∈ F_{0}∩F_{1} and by the induction hypothesis t_{i} ∈ T(Σ_{0})∩T(Σ_{1}) for 1 ⩽ i ⩽ n, hence t ∈ T(Σ_{0}) ∩ T(Σ_{1}).

Since clearly T(Σ_{0}) ∪ T(Σ_{1}) ⊆ T(Σ_{0}⊕>Σ_{1}), I need to show for any t ∈ T(Σ_{0}⊕>Σ_{1}) that either t ∈ T(Σ_{0}) or t ∈ T(Σ_{1}). I will proceed by induction on the structure of t.

If t is a constant symbol, then clearly t ∈ T(Σ_{0}) ∪ T(Σ_{1}). Otherwise consider t = f(t_{1}, …, t_{n}). Assume that f ∈ F_{0} without loss of generality, and that f : s_{1} … s_{n} → s, then s_{1} … s_{n}, s ∈ S_{0}. By the induction hypothesis, for 1 ⩽ i ⩽ n, t_{i} ∈ T(Σ_{0}) ∪ T(Σ_{1}). If any t_{i} ∈ T(Σ_{1}), then since s_{i} ∈ S_{0} ∩ S_{1}, t_{i} ∈ T(Σ_{0}) also. Hence for 1 ⩽ i ⩽ n, t_{i} ∈ T(Σ_{0}), and hence t ∈ T(Σ_{0}).

This result shows how under the condition of sort-similarity, no closed terms can be created from operators from both signatures without being in both sets of closed terms. I now look at how the sum of two algebras can be defined.

Definition 6.2.3 (Sum of algebras) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined and sortsimilar. For i = 0, 1, let A_{i} = {A_{i,s}}_{s∈S_{i}} together with {f^{A_{i}} | f ∈ F_{i}} be Σ_{i}-algebras such that the following conditions hold.

• for s ∈ S_{0} ∩ S_{1}, A_{0,s} = A_{1,s},

• for f ∈ F_{0} ∩ F_{1} with f : s_{1} … s_{n} → s, f^{A_{0}}(a_{1}, …, a_{n}) = f^{A_{1}}(a_{1}, …, a_{n}) for

all a_{j} ∈ A_{0,s_{j}} for 1 ⩽ j ⩽ n. Define A_{0} ⊕ A_{1} = s ⋃_{i=0,1}A_{i} plus the functions ⋃_{i=0,1}{f^{A_{i}} | f ∈ F_{i}}.

Note that the second condition relies on the fact that since f ∈ F_{0} ∩ F_{1}, s_{i} ∈ S_{0} ∩ S_{1} for 1 ⩽ i ⩽ n, hence f^{A_{0}} and f^{A_{1}} are defined on the same sets. Note that because of the sort-similarity, the second condition applies to any function that has a sort in S_{0} ∩ S_{1}.

It is possible to omit the sort-similarity condition in Definition 6.2.3. Then the second condition is still acceptable in that f^{A_{0}} and f^{A_{1}} are defined on the same sets; however, it is too weak for the theorem I wish to prove. I give an example.

Example 6.2.1 (Omission of sort-similarity) Consider the {s}-sorted signature, Σ_{0} = ({s}, {f}) with f :→ s, and the {s}- sorted signature, Σ_{1} = ({s}, {g}) with g :→ s. Clearly the sum of these two signatures is not sort-similar. I will use the same set {a} for both the Σ_{0}-algebra A_{0} and Σ_{1}-algebra A_{1}. Let f^{A_{0}} = a and g^{A_{1}} = a. Then f ≡_{A_{0}⊕A_{1}} g since i_{A_{0}⊕A_{1}}(f) = i_{A_{0}⊕A_{1}}(g), but f and g are not equated by ≡_{A_{0}} ⊕ ≡_{A_{1}}.

It may be possible to work without sort-similarity—possibly the definition of ≡_{A_{0}} ⊕ ≡_{A_{0}} could be modified or the theorem could be changed to have a oneway implication. However, as far as I can tell, sort-similarity is not problematic, except for the fact that I need to show that I can define a Σ-algebra to represent labels without having to consider terms with sort P. The reason I need to consider this is because when giving an extension to a process algebra, I often want to add new function symbols to sort P, however for sorts other than P, I am are only interested in adding new sorts. I will present an argument below to show that this does not cause problems.

There are other choices one could make for A_{0} ⊕ A_{1}, such as defining the carrier set for a sort s as the intersection of A_{0,s} and A_{1,s}. As far as I can see there is no utility in taking this approach.

I now show that the following result holds.

Proposition 6.2.3 (Sum of algebras) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined and sortsimilar. For i = 0, 1, let A_{i} = {A_{i,s}}_{s∈S_{i}} together with {f^{A_{i}} | f ∈ F_{i}} be Σ_{i}-algebras with A_{0} ⊕ A_{1} defined. Then A_{0} ⊕ A_{1} is a (Σ_{0} ⊕ Σ_{1})-algebra. Proof: Σ_{0}⊕>Σ_{1} = (S_{0} ∪ S_{1}, F_{0} ∪ F_{1}), and s ⋃_{i=0,1}A_{i} is an S_{0} ∪ S_{1}-sorted family of non-empty carrier sets. Moreover, it is clear that for each f ∈ F_{0} ∪ F_{1} there is a total function f^{A_{0}⊕A_{1}} with the appropriate argument sorts and result sort, regardless of whether f is in the intersection of F_{0} and F_{1} or not.

Since I have a (Σ_{0}⊕>Σ_{1})-algebra, I can consider the unique homomorphism i_{A_{0}⊕A_{1}} from T(Σ_{0}⊕>Σ_{1}) to A_{0} ⊕ A_{1}. I would like to show that the equivalence induced by this is the same as ≡_{A_{0}}⊕≡_{A_{1}}, and then I will know that when applying these results to process algebras, I can merely form the sum of the algebras under consideration.

Theorem 6.2.1 (Equivalence induced by sums of algebras) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined and sortsimilar. For i = 0, 1, let A_{i} = {A_{i,s}}_{s∈S_{i}} together with {f^{A_{i}} | f ∈ F_{i}} be Σ_{i}-algebras with A_{0} ⊕ A_{1} defined. Let ≡_{A_{0}⊕A_{1}} denote the congruence defined by the unique homomorphism from T(Σ_{0}⊕>Σ_{1}) to A_{0} ⊕ A_{1}; similarly, ≡_{A_{0}} and ≡_{A_{1}}. Then ≡_{A_{0}⊕A_{1}} = ≡_{A_{0}} ⊕ ≡_{A_{1}}. Proof: First note, that for any t ∈ T(Σ_{0}⊕>Σ_{1}), t ∈ T(Σ_{0}) ∪ T(Σ_{1}) by Proposition 6.2.2. I first wish to show that if t ∈ T(Σ_{i}), then i_{A_{0}⊕A_{1}}(t) = i_{A_{i}}(t) for i = 0, 1. I proceed by induction on the structure of t.

If t is a constant symbol, then this is clearly true. If t = f(t_{1}, …, t_{n}), then assume t ∈ T(Σ_{0}) without loss of generality. i_{A_{0}⊕A_{1}}(f(t_{1}, …, t_{n})) = f^{A_{0}}(i_{A_{0}⊕A_{1}}(t_{1}), …, i_{A_{0}⊕A_{1}}(t_{n})) = f^{A_{0}}(i_{A_{0}}(t_{1}), …, i_{A_{0}}(t_{n})) by the induction hypothesis and this gives the required result.

Next, let t, t′ ∈ T(Σ_{0}⊕>Σ_{1}).

t ≡_{A_{0}⊕A_{1}} t′ ⇒ t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′: Let t ≡_{A_{0}⊕A_{1}} t′, then since I have equivalence this means that t and t′ have the same sort and hence they must be both in T(Σ_{0}) or T(Σ_{1}). Assume without loss of generality that t, t′ ∈ T(Σ_{0}). By definition i_{A_{0}⊕A_{1}}(t) = i_{A_{0}⊕A_{1}}(t′), hence i_{A_{0}}(t) = i_{A_{0}}(t′). Therefore t ≡_{A_{0}} t′ and hence t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′ as required.

t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′ ⇒ t ≡_{A_{0}⊕A_{1}} t′: I will proceed by induction on the definition of ≡_{A_{0}} ⊕ ≡_{A_{1}}.

• t ≡_{A_{0}} t′ or t ≡_{A_{1}} t′. Assume t ≡_{A_{0}} t′, then by definition i_{A_{0}}(t) = i_{A_{0}}(t′) and also t, t′ ∈ T(Σ_{0}). It can be shown by a simple induction proof that i_{A_{0}}(t) = i_{A_{0}⊕A_{1}}(t). If t is a constant then this is immediate; otherwise if t = f(t_{1}, …, t_{n}) then i_{A_{0}}(f(t_{1}, …, t_{n}) = f^{A_{0}}(i_{A_{0}}(t_{1}), …, i_{A}(t_{n})) = f^{A_{0}⊕A_{1}}(i_{A_{0}⊕A_{1}}(t_{1}), …, i_{A_{0}⊕A_{1}}(t_{n})) by the induction hypothesis and the definition of A_{0} ⊕ A_{1}, and this gives the required result.

• Clearly both t ≡_{A_{0}⊕A_{1}} t′ and t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′ if t = t′.

• If t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′ by a symmetry argument, then t′ ≡_{A_{0}} ⊕ ≡_{A_{1}}t, by a shorter inference, hence t′ ≡_{A_{0}⊕A_{1}} t and therefore t ≡_{A_{0}⊕A_{1}} t′ since ≡_{A_{0}⊕A_{1}} is symmetric.

• If t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′ by a transitivity argument, then there exists t′′ ∈ T(Σ_{0}⊕>Σ_{1}) such that t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′′ and t′′ ≡_{A_{0}} ⊕ ≡_{A_{1}}t′, hence by a shorter inference t ≡_{A_{0}⊕A_{1}} t′′ and t′′ ≡_{A_{0}⊕A_{1}} t′, and therefore t ≡_{A_{0}⊕A_{1}} t′ since ≡_{A_{0}⊕A_{1}} is transitive.

• If t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′ by a congruence argument, then t = f(t_{1}, …, t_{n}), t′ = f′(t′_{1}, …, t′_{n}) and t_{i} ≡_{A_{0}} ⊕ ≡_{A_{1}}t′_{i} for 1 ⩽ i ⩽ n, so by a shorter inference t_{i} ≡_{A_{0}⊕A_{1}} t′_{i} for 1 ⩽ i ⩽ n. Hence t ≡_{A_{0}⊕A_{1}} t′, since ≡_{A_{0}⊕A_{1}} is a congruence.

These are general results for Σ-algebras. However, in my work with formats, I deal with specific signatures that contain a distinguished element P and with specific conditions on function symbols that do not have a result sort P. To recap, given a signature Σ = (S ∪ {P}, F) where S does not contain P,

for any function symbol f ∈ F such that f : s_{1} … s_{n} → s, whenever
s ≠ P then for all 1 ⩽ i ⩽ n, s_{i} ≠ P.

Hence

Σ′ = (S, {f | f ∈ F, f : s_{1} … s_{n} → s, s ∈ S})

is a valid signature, and in fact T(Σ′) = T(Σ)\overline{P} because of the fact that all function symbols in Σ′ do not refer to P. This is very convenient since I am interested in congruences over T(Σ)\overline{P} when considering bisimulations over T(Σ)_{P}, and hence I can consider T(Σ)\overline{P} as the term algebra T(Σ′), and therefore consider Σ′-algebras as representations of the labels of process algebras.

6.2.2.1 Conservativity

It can also be shown that ≡_{A_{0}⊕A_{1}} is conservative with respect to ≡_{A_{0}} and ≡_{A_{1}}.

Proposition 6.2.4 (Sum of algebras induces conservative equivalence) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined and sortsimilar. For i = 0, 1, let A_{i} = {A_{i,s}}_{s∈S_{i}} together with {f^{A_{i}} | f ∈ F_{i}} be Σ_{i}-algebras with A_{0} ⊕ A_{1} defined. Let ≡_{A_{0}⊕A_{1}} denote the congruence defined by the unique homomorphism from T(Σ_{0}⊕>Σ_{1}) to A_{0} ⊕ A_{1}; similarly, ≡_{A_{0}} and ≡_{A_{1}}. Then ≡_{A_{0}} ⊕ ≡_{A_{1}} is conservative with respect to both ≡_{A_{0}} and ≡_{A_{1}}. Proof: Let t, t′ ∈ T(Σ_{0}) (without loss of generality) such that t ≡_{A_{0}} ⊕ ≡_{A_{1}}t′. Hence t ≡_{A_{0}⊕A_{1}} t′, so i_{A_{0}⊕A_{1}}(t) = i_{A_{0}⊕A_{1}}(t′). Hence since t, t′ ∈ T(Σ_{0}), i_{A_{0}}(t) = i_{A_{0}}(t′) and t ≡_{A_{0}} t′ as required.

6.2.2.2 Compatibility

Finally, I need to consider compatibility in the light of sums of algebras. In the results that involve compatibility, I have only required that ≡_{0} ⊕ ≡_{1} be compatible with R_{0} ∪ R_{1}. As I have said previously, it is not clear that this can be dealt with in a more general manner since compatibility depends on the label terms that appear in the rules. One approach could be to require the congruences to be compatible with any label term, but as seen earlier in this chapter, this would impose very strong restrictions on the Σ-algebras that could be used, and is not ideal.

However, it seems in the case of sums of algebras, I can make headway because of the additional condition required on the signature.

Proposition 6.2.5 (Sum of algebras induces compatibility) Let Σ_{i} = (S_{i}, F_{i}) for i = 0, 1 be two signatures with Σ_{0}⊕>Σ_{1} defined and sortsimilar. For i = 0, 1, let A_{i} = {A_{i,s}}_{s∈S_{i}} together with {f^{A_{i}} | f ∈ F_{i}} be Σ_{i}-algebras with A_{0} ⊕ A_{1} defined. Let ≡_{A_{0}⊕A_{1}} denote the congruence defined by the unique homomorphism from T(Σ_{0}⊕>Σ_{1}) to A_{0} ⊕ A_{1}; similarly, ≡_{A_{0}} and ≡_{A_{1}}. Moreover, let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs such that ≡_{A_{i}} is compatible with R_{i}. Then ≡_{A_{0}} ⊕ ≡_{A_{1}} is compatible with R_{0} ∪ R_{1}. Proof: Since ≡_{A_{i}} is compatible for R_{i} for i = 0, 1, I have two S_{i}-sorted sets of terms C_{i} for i = 0, 1 containing terms that appear on a transition in a premise or as an argument to the function in the source of the conclusion of a rule in R_{i} such that

whenever σ(η) ≡_{A_{i}} μ for μ ∈ T(Σ)\overline{P}, there exists a substitution σ′
such that μ = σ′(η) and σ(z) ≡_{A_{i}} σ′(z) for all z ∈ Var\overline{P}(η).

So I need to consider the following sorts:

s ∈ S_{0} − S_{1}: Consider η ∈ 𝕋(Σ_{0})_{s}. Since s ∉ S_{1}, then clearly no terms in T(Σ_{1}) can be equivalent under ≡_{A_{0}} ⊕≡_{A_{1}} to σ(η) for any σ. So consider σ(η)≡_{A_{0}} ⊕ ≡_{A_{1}}μ for some μ ∈ T(Σ_{0})_{s}, then I can show that σ(η)≡_{A_{0}}μ and hence there exists a substitution σ′ such that μ = σ′(η) and σ(z) ≡_{A_{0}} σ′(z) for all z ∈ Var\overline{P}(η). But since ≡_{A_{0}} is contained in ≡_{A_{0}}⊕≡_{A_{1}}, then σ(z)≡_{A_{0}} ⊕ ≡_{A_{1}}σ′(z)

for all z ∈ Var\overline{P}(η).

s ∈ S_{1} − S_{0}: this is proved in a similar way to the previous one.

s ∈ S_{0} ∩ S_{1} Consider η ∈ 𝕋(Σ_{0})_{s} ∩ 𝕋(Σ_{1})_{s}. Consider σ(η)≡_{A_{0}} ⊕ ≡_{A_{1}}μ for some μ ∈ T(Σ_{0})_{s} ∩ T(Σ_{1})_{s}. It can be shown that σ(η) ≡_{A_{0}} μ (and also that σ(η) ≡_{A_{1}} μ). Hence there exists a substitution σ′ such that μ = σ′(η) and σ(z) ≡_{A_{0}} σ′(z) for all z ∈ Var\overline{P}(η). But since ≡_{A_{0}} is contained in ≡_{A_{0}} ⊕≡_{A_{1}}, then σ(z)≡_{A_{0}} ⊕ ≡_{A_{1}}σ′(z) for all z ∈ Var\overline{P}(η).

To see why this does not hold in general for two equivalences ≡_{0} and ≡_{1} defined on T(Σ_{0}) and T(Σ_{1}) compatible with two sets of rules R_{0} and R_{1} respectively, it may be that for η that appears in the rules of R_{0}, that σ(η) is also in T(Σ_{1}) and there exists μ′ ∈ T(Σ_{1}), such that σ(η) ≡_{1} μ′ but it is not possible to find σ′ such that μ′ = σ′(η) and σ(z) ≡_{1} σ′(z) for all z ∈ Var\overline{P}(η), since η does not appear in the rules of R_{1}.

The results relating to sums can be summarised as follows. Given the sortsimilar sum of two signatures, and two algebras of each signature respectively, then

• the sum of two algebras is an algebra of the sum of the signatures,

• the equivalence induced by the sum of two algebras is the sum of the equivalences induced by each algebra,

• moreover, this equivalence is conservative with respect to each of the other two equivalences,

• furthermore if given the sum of two eTSSs with the two congruences compatible with each eTSS respectively, then the equivalence induced by the sum of the algebras is compatible with the sum of the eTSSs.

Hence, the condition of sort similarity is sufficient to obtain these relationships between algebras and their sums.

In this section, I have looked at what constraints the conditions required for the results of the previous two chapter impose on the algebras that are used to represent structured labels, and I have also defined a new concept which produces some positive results in the situations where it can be applied. It is clear that these are not serious constraints and hence I will now proceed to look at applying these results to process algebras from the literature.

6.3 Using extended tyft/tyxt format to express process algebras

In this section, I look at how process algebras can be expressed in the extended tyft/tyxt format. Before proceeding with the examples, I need to present a way in which to specify infinite sets of rules by the use of rule schemas. Schemas also allow the description of constants, and rules that do matching on labels. This method of describing rules also is useful for expressing communication in CCS, where because of the restrictions of the format, it is not possible to have repeating variables in the labels of the premises. I assume a set of schema variables V disjoint from any other variable set and any collection of function symbols.

Definition 6.3.1 (Rule schema) Let Σ = (S ∪ P, F) be a suitable signature. Let V be an (S ∪ P)-sorted set of schema variables, and V a (S ∪ P)-sorted set of variables. Consider T (Σ, V ∪ V), the set of open terms over variables and schema variables. A rule schema is denoted

\{\frac{\{p_{i} ⟶^{λ_{i}} p′_{i} | i ∈ I\}}{p ⟶^{λ} p′} | C_{1}, …, C_{n}\}

where I is an index set, p_{i}, p′_{i}, p, p′ ∈ T (Σ, V ∪ V)_{P}, and λ_{i}, λ ∈ T (Σ, V ∪ V)\overline{P} for i ∈ I. C_{1}, …, C_{n} are conditions on the schema variables involving equality and inequality, and conditions on whether terms are open or closed and which sorts they may have. This notation is understood to mean the set of rules created by replacing each schema variable by any closed term in 𝕋(Σ) in accordance with the conditions specified. This can also be viewed as applying all closed substitutions on schema variables which satisfy the conditions.

Proposition 6.3.1 (Rule schemas in extended tyft/tyxt format) Let Σ = (S ∪ P, F) be a suitable signature. Given a rule schema

\{\frac{\{p_{i} ⟶^{λ_{i}} p′_{i} | i ∈ I\}}{p ⟶^{λ} p′} | C_{1}, …, C_{n}\}

in extended tyft/tyxt format, i.e. the conditions hold for the extended tyft/tyxt format on the variables from V and with respect to the form of the rule, but the terms are drawn from T (Σ, V ∪ V); then the rules generated by the schema are in extended tyft/tyxt format. Moreover, if the rule schema is well-founded with respect to the variables in V, then all the rules generated are well-founded. Proof: The conditions on the variables from V hold, and replacing any schema variable with a closed term, cannot add new variables from V to the rules, hence any rules generated by the rules schema is in extended tyft/tyxt format. By a similar argument, it is possible to show that well-founded schema rules generate well-founded rules.

It is not possible to do a similar proof for compatibility since a schema variable (with a sort that is not P) may be replaced by a term in the transitions of a premise or as an argument to the function in the source of the conclusion. To check for compatibility with respect to a given congruence it is necessary to ensure that any closed term that may be substituted for an schema variable is not congruent to any other closed term. This may appear to be a strong condition, but since the congruence respects sorts, it may only mean that congruence must be the identity on one sort.

In the earlier work involving formats, most authors have used schemas, although not explicitly. In my work, because of the need to give an account of how information is passed from action terms to process terms, these concerns are dealt with in a more explicit manner.

Notation In the following, I use x, y, … to denote variables of sort P, z, … subscripted with a sort to denote variables of sort \overline{P}. I also use X, Y, … to denote schema variables of sort P and Z, … subscripted with a sort to denote schema variables of sort \overline{P}.

6.3.1 CCS

Here I will look at expressing CCS in this format. Let A and Const be two disjoint sets, disjoint from the variables and schema-variables and any other function symbols. I will also use A as a sort name—this does not cause problems. Consider the algebra, Σ_{CCS}, ( A, Act, τAct, P;

{a}_{a∈A}, τ, nil, {Cn}_{Cn∈Const};

act, \overline{act}, pref, \overline{pref}, pref_{τ}, plus, par, rename, restrict )

with the sorts

a :→ A ∀a ∈ A  act : A → Act  plus : P, P → P
τ :→ τAct  \overline{act} : A → Act  par : P, P → P
nil :→ P  pref : A, P → P  rename : A, A, P → P
Cn :→ P ∀Cn ∈ Const  \overline{pref} : A, P → P  restrict : A, P → P
pref_{τ} : P → P

Also assume that there is a way in which closed terms are assigned to elements of Const, as in the standard CCS approach where the meaning of constant agent A is given by a process P, and this is described by a defining equation A =^{def} P. The rules and rules schemas are given in Tables 6.1 and 6.2. Let the rules from Table 6.1 and the rules generated by the rule schemas in Table 6.2 be denoted R_{CCS}, and the eTSS defined by Σ_{CCS} and R_{CCS} be E_{CCS}. I have used names for the operators, as opposed to symbols, for clarity. I have defined the signature so that the non-τ actions and τ actions have different sorts. This is not strictly necessary.

In most cases the rules are straightforward. There are three different prefix operators pref, \overline{pref} and pref_{τ}, and two label operators act and \overline{act} giving the correct form to the action depending on the prefix function. The choice and parallel operator rules in Table 6.1 are straightforward. The parallel communication rule schema in Table 6.2 requires that actions are matched, hence the form. Note that this rule schema could have been written as

\{ \frac{x ⟶^{act(Z_{A})} y x′ ⟶^{\overline{act}(Z_{A})} y′}{par(x, x′) ⟶^{τ} par(y, y′)} \}

This may look as though it is not in extended tyft/tyxt form because of the repeated variables in the labels of the premises; however since they are schema variables and by the argument above, it is clear that all rules generated by this schema are in extended tyft/tyxt format. pref(z_{A}, x) ⟶^{act(z_{A})} x \overline{pref}(z_{A}, x) ⟶^{\overline{act}(z_{A})} x

\overline{pref_{τ}(x) ⟶^{τ} x}
\frac{x ⟶^{z_{Act}} y}{plus(x, x′) ⟶^{z_{Act}} y}  \frac{x ⟶^{z_{Act}} y}{plus(x′, x) ⟶^{z_{Act}} y}
\frac{x ⟶^{τ} y}{plus(x, x′) ⟶^{τ} y}  \frac{x ⟶^{τ} y}{plus(x′, x) ⟶^{τ} y}
\frac{x ⟶^{z_{Act}} y}{par(x, x′) ⟶^{z_{Act}} par(y, x′)}  \frac{x ⟶^{z_{Act}} y}{par(x′, x) ⟶^{z_{Act}} par(x′, y)}
\frac{x ⟶^{τ} y}{par(x, x′) ⟶^{τ} par(y, x′)}  \frac{x ⟶^{τ} y}{par(x′, x) ⟶^{τ} par(x′, y)}
\frac{x ⟶^{τ} y}{rename(z_{A}, z′_{A}, x) ⟶^{τ} rename(z_{A}, z′_{A}, y)}  \frac{x ⟶^{τ} y}{restrict(z′_{A}, x) ⟶^{τ} restrict(z′_{A}, y)}

Table 6.1: Rules for CCS

\{ \frac{x ⟶^{act(Z_{A})} y x′ ⟶^{\overline{act}(Z′_{A})} y′}{par(x, x′) ⟶^{τ} par(y, y′)} | Z_{A} = Z′_{A} \}

\{ \frac{x ⟶^{act(Z_{A})} y x′ ⟶^{\overline{act}(Z′_{A})} y′}{par(x′, x) ⟶^{τ} par(y′, y)} | Z_{A} = Z′_{A} \}

\{ \frac{x ⟶^{act(Z_{A})} y}{rename(Z′_{A}, Z′′_{A}, x) ⟶^{act(Z′′_{A})} rename(Z′_{A}, Z′′_{A}, y)} | Z_{A} = Z′_{A} \}

\{ \frac{x ⟶^{\overline{act}(Z_{A})} y}{rename(Z′_{A}, Z′′_{A}, x) ⟶^{\overline{act}(Z′′_{A})} rename(Z′_{A}, Z′′_{A}, y)} | Z_{A} = Z′_{A} \}

\{ \frac{x ⟶^{act(Z_{A})} y}{rename(Z′_{A}, Z′′_{A}, x) ⟶^{act(Z_{A})} rename(Z′_{A}, Z′′_{A}, y)} | Z_{A} ≠ Z′_{A} \}

\{ \frac{x ⟶^{\overline{act}(Z_{A})} y}{rename(Z′_{A}, Z′′_{A}, x) ⟶^{\overline{act}(Z_{A})} rename(Z′_{A}, Z′′_{A}, y)} | Z_{A} ≠ Z′_{A} \}

\{ \frac{x ⟶^{act(Z_{A})} y}{restrict(Z′_{A}, x) ⟶^{act(Z_{A})} restrict(Z′_{A}, y)} | Z_{A} ≠ Z′_{A} \} \{ \frac{x ⟶^{\overline{act}(Z_{A})} y}{restrict(Z′_{A}, x) ⟶^{\overline{act}(Z_{A})} restrict(Z′_{A}, y)} | Z_{A} ≠ Z′_{A} \}

\{ \frac{X ⟶^{z_{Act}} y}{Cn ⟶^{z_{Act}} y} | Cn =^{def} X, Cn ∈ Const \}

\{ \frac{X ⟶^{τ} y}{Cn ⟶^{τ} y} | Cn =^{def} X, Cn ∈ Const \}

Table 6.2: Rule schemas for CCS

The τ-forms of the restriction and relabelling operators are straightforward and given in Table 6.1. The non-τ forms given as rule schemas are more complex and require some discussion. Because of the syntactic nature of the rules, and the need to do syntactic matching in the parallel communication rule, relabelling has been difficult to implement and what I have achieved here is a subset of CCS relabelling. The operator has three arguments—the action to be changed, the action that it should be changed to and the process, and the rules are defined in the obvious way. Hence for any finite subset of A, it is possible to define a function, by repeated (but only finite) use of the rename operator. However, in general, it is not possible to define a function on all of A, if A is infinite. There is an exception to this and that involves constant functions and can be done by introducing a new operator rename′ and the rules

\frac{x ⟶^{act(z_{A})} y}{rename′(z′_{A}, x) ⟶^{act(z′_{A})} rename(z′_{A}, y)} \frac{x ⟶^{\overline{act}(z_{A})} y}{rename′(z′_{A}, x) ⟶^{\overline{act}(z′_{A})} rename(z′_{A}, y)}

\frac{x ⟶^{τ} y}{rename′(z′_{A}, x) ⟶^{τ} rename(z′_{A}, y)}

The restriction rules have a similar limitation—restriction can only be done on a finite subset of A, by repeated use of the restriction operator which takes as arguments the action to be restricted on and the process term. There may be ways to get around these limitations and reasonably remain within the world of rules and rule schemas, but I have not yet seen how to do this.

The next step in the definition is to look for the algebra that will be used to represent the actual process algebra labels. In this case, there is no requirement for an equivalence relation between labels, and hence the term algebra and syntactic equivalence can be used.

In conclusion, it is clear that CCS is not simple to represent in this format, mainly because of the matching required in the communication rules. There is another approach to matching which involves the use of undefined transitions—I will demonstrate this in the next example.

Finally, since all rules in R_{CCS} are in extended tyft/tyxt format, ∼_{Id}^{E_{CCS}} is a congruence for nil, pref, \overline{pref}, pref_{τ}, plus, par, rename, rename′, restrict and \{Cn\}_{Cn∈Const}.

6.3.2 Variants of CCS

I now look at how one signature and rule set can be used to represent different process algebras by varying the algebra used to represent the labels.

Let A be a (countably infinite) set of labels (denoted a) disjoint from previously defined sets and let L be a (countably infinite) set of labels (denoted l) disjoint from previously defined sets. I also use A and L as sort names.

Consider the signature Σ_{CCSGen},

( A, L, Act, P; {a}_{a∈A}, τ, {l}_{l∈L}, nil, {Cn}_{Cn∈Const}, ⊥_{A}, ⊥_{Act}, ⊥_{L}; pref, \overline{pref}, pref_{τ}, plus, par, rename, restrict, loc act, \overline{act}, comb, app, ren, restr )

with the sorts

a :→ A ∀a ∈ A  nil :→ P
l :→ L ∀l ∈ L  Cn :→ P ∀Cn ∈ Const
τ :→ Act  pref_{τ} : P → P
act : A, L → Act  pref : A, P → P
\overline{act} : A, L → Act  \overline{pref} : A, P → P
app : L, Act → Act  loc : L, P → P
comb : Act, Act → Act  par : P, P → P
restr : A, Act → Act  restrict : A, P → P
ren : A, A, Act → Act  rename : A, A, P → P
⊥_{A} :→ A  plus : P, P → P

⊥_{L} :→ L ⊥_{Act} :→ Act

Also assume that there is a way in which closed terms are assigned to elements of Const. The rules are given in Table 6.3 and the rules schemas in Table 6.4. Let the rules given by these rules and rule schemas be denoted R_{CCSGen}, and the eTSS defined by Σ_{CCSGen} and R_{CCSGen} be E_{CCSGen}.

Note that I have introduced a ‘bottom’ element for each label sort. I carry this through to the carrier sets for the label algebra, and use these elements to pref(z_{A}, x) ⟶^{act(z_{A},new(z_{L} ))} loc(z_{L}, x) \overline{pref}(z_{A}, x) ⟶^{\overline{act}(z_{A},new(z_{L} ))} loc(z_{L}, x)

\overline{pref_{τ}(x) ⟶^{τ} x}

\frac{x ⟶^{z_{Act}} y}{plus(x, x′) ⟶^{z_{Act}} y}  \frac{x ⟶^{z_{Act}} y}{plus(x′, x) ⟶^{z_{Act}} y}
\frac{x ⟶^{z_{Act}} y}{par(x, x′) ⟶^{z_{Act}} par(y, x′)}  \frac{x ⟶^{z_{Act}} y}{par(x′, x) ⟶^{z_{Act}} par(x′, y)}

\frac{x ⟶^{z_{Act}} y}{rename(z_{A}, z′_{A}, x) ⟶^{ren(z_{A},z′_{A},z_{Act})} rename(z_{A}, z′_{A}, y)}

\frac{x ⟶^{z_{Act}} y}{restrict(z_{A}, x) ⟶^{restr(z_{A},z_{Act})} restrict(z_{A}, y)}

\frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb(z_{Act},z′_{Act})} par(y, y′)}

\frac{x ⟶^{z_{Act}} y}{loc(z_{L}, x) ⟶^{app(z_{L} ,z_{Act})} loc(z_{L}, y)}

Table 6.3: Rules for CCSGen \{ \frac{X ⟶^{z_{Act}} y}{Cn ⟶^{z_{Act}} y} | Cn =^{def} X, Cn ∈ Const \}

Table 6.4: Rule schemas for CCSGen

represent labels which are undefined. Any transition with a label term that is equivalent to an undefined constant is not considered in the bisimulation. This allows for a simpler definition of communication. Instead of requiring matching in the communication rule, there is now a term on the transition that is the combination of the two terms from the transitions of each premise. If the combination is meaningful (for example, in CCS, if one label is the complement of the other), then the transition will be considered in the bisimulation. This also permits use of the same signature and rule set for different process algebras.

6.3.2.1 CCS with locations

In CCS with locations, transitions are labelled with an additional string of atomic locations and a location prefixing operator is introduced. Each time an action is performed, a location is associated with it, and the location prefixing operator ensures that location information about past actions with similar locations are added to the transition of a new action. See page 10 for an example.

I need to define a Σ_{CCSGen}-algebra A_{L} to represent the actual process algebra labels of CCS with locations. For all the algebras in this section, I will assume that there is a set of actions A (with an action denoted a) such that there is an action in A for each a in A. I will also assume that there is a set of labels L (with a label denoted l) such that there is a label in L for each l in L. I need to define the carrier set for each sort (see Table 6.6), and each function of the algebra (see Table 6.5). The function comb^{A_{L}} illustrates how the labels for communication work.

τ^{A_{L}} = τ
a^{A_{L}} = a ∀a ∈ A
l^{A_{L}} = l ∀l ∈ L
act^{A_{L}}(ζ_{1}, ζ_{2}) = \begin{cases}(ζ_{1}, ζ_{2}) & if ζ_{1} ∈ A ∪ \overline{A} and ζ_{2} ∈ L^{+} \\ ⊥_{Act} & otherwise \end{cases}
\overline{act}^{A_{L}}(ζ_{1}, ζ_{2}) = \begin{cases}(\overline{ζ}_{1}, ζ_{2}) & if ζ_{1} ∈ A and ζ_{2} ∈ L^{+} \\ ⊥_{Act} & otherwise \end{cases}
app^{A_{L}}(ζ_{1}, ζ_{2}) = \begin{cases}(ζ_{2,1}, ζ_{1}ζ_{2,2}) & if ζ_{1} ∈ L and ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ & with ζ_{2,1} ∈ A and ζ_{2,2} ∈ L^{+} \\ ⊥_{Act} & otherwise \end{cases}
comb^{A_{L}}(ζ_{1}, ζ_{2}) = \begin{cases}τ & if for i = 1, 2, ζ_{i} = (ζ_{i,1}, ζ_{i,2}), ζ_{i,1} ∈ A ∪ \overline{A}, \\ & ζ_{i,2} ∈ L^{+} and ζ_{1,1} = \overline{ζ}_{2,1} \\ ⊥_{Act} & otherwise \end{cases}
ren^{A_{L}}(ζ_{1}, ζ_{2}, ζ_{3}) = \begin{cases}(ζ_{2}, ζ_{3,2}) & if ζ_{1}, ζ_{2} ∈ A, ζ_{3} = (ζ_{3,1}, ζ_{3,2}) with ζ_{3,1} ∈ A, \\ & ζ_{3,2} ∈ L^{+} and ζ_{1} = ζ_{3,1} \\ (\overline{ζ}_{2}, ζ_{3,2}) & if ζ_{1}, ζ_{2} ∈ A, ζ_{3} = (ζ_{3,1}, ζ_{3,2}) with ζ_{3,1} ∈ \overline{A}, \\ & ζ_{3,2} ∈ L^{+} and \overline{ζ}_{1} = ζ_{3,1} \\ ζ_{3} & if ζ_{1}, ζ_{2} ∈ A, ζ_{3} = (ζ_{3,1}, ζ_{3,2}) with ζ_{3,1} ∈ A ∪ \overline{A}, \\ & ζ_{3,2} ∈ L^{+}, ζ_{1} ≠ ζ_{3,1} and \overline{ζ}_{1} ≠ ζ_{3,1} \\ ⊥_{Act} & otherwise \end{cases}
restr^{A_{L}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{2} & if ζ_{1} ∈ A, ζ_{2} = (ζ_{2,1}, ζ_{2,2}) with ζ_{2,1} ∈ A ∪ \overline{A}, \\ & ζ_{2,2} ∈ L^{+}, ζ_{1} ≠ ζ_{2,1} and \overline{ζ}_{1} ≠ ζ_{2,1} \\ ⊥_{Act} & otherwise \end{cases}
⊥_{A}^{A_{L}} = ⊥_{A}
⊥_{L}^{A_{L}} = ⊥_{L}
⊥_{Act}^{A_{L}} = ⊥_{Act}

Table 6.5: Functions A_{L}

Sort Carrier set
A  A ∪ {⊥_{A}}
L  L ∪ {⊥_{L}}
Act ((A ∪ \overline{A}) × L^{+}) ∪ \{τ\} ∪ \{⊥_{Act}\}

Table 6.6: Carrier sets for A_{L}

Sort Carrier set
A  A ∪ {⊥_{A}}
L  L
Act ((A ∪ \overline{A}) × L^{+}) ∪ \{τ\} ∪ \{⊥_{Act}\}

Table 6.7: Carrier sets for A_{L_{n}}

6.3.2.2 CCS with n locations

A variant on CCS with locations is to only allow a finite set of locations. This can be done by defining a Σ_{CCSGen}-algebra A_{L_{n}} to represent the actual process algebra labels. Let num be a bijection from L to ℕ, and assume that n, the number of locations, is given. Denote l such that num(l) = k as l_{k}. The carrier sets and functions for A_{L_{n}} are given in Tables 6.7 and 6.8 respectively. Note that the only difference from A_{L} is in act^{A_{Ln}} and \overline{act}^{A_{Ln}}.

There are different choices that can be made for sorts and functions. For example, the carrier for L could be {l_{1}, …, l_{n}} ∪ {⊥_{L}} and the function l^{A_{Ln}} could be defined as

l^{A_{Ln}} = \begin{cases}l_{i} & if num(l) = i and 1 ⩽ i ⩽ n \\ ⊥_{L} & otherwise \end{cases}

or

l^{A_{Ln}} = \begin{cases}l_{i} & if num(l) = i and 1 ⩽ i ⩽ n \\ l_{n} & if num(l) = i and i ⩾ n \end{cases}

τ^{A_{Ln}} = τ
a^{A_{Ln}} = a ∀a ∈ A
l^{A_{Ln}} = l ∀l ∈ L
act^{A_{Ln}}(ζ_{1}, ζ_{2}) = \begin{cases}(ζ_{1}, ζ_{2}) & if ζ_{1} ∈ A ∪ \overline{A}, ζ_{2} ∈ L and num(l) ⩽ n \\ ⊥_{Act} & otherwise \end{cases}

\overline{act}^{A_{Ln}}(ζ_{1}, ζ_{2}) = \begin{cases}(\overline{ζ}_{1}, ζ_{2}) & if ζ_{1} ∈ A, ζ_{2} ∈ L and num(l) ⩽ n \\ ⊥_{Act} & otherwise \end{cases}

app^{A_{Ln}}(ζ_{1}, ζ_{2}) = \begin{cases}(ζ_{2,1}, ζ_{1}ζ_{2,2}) & if ζ_{1} ∈ L and ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ & with ζ_{2,1} ∈ A and ζ_{2,2} ∈ L^{+} \\ ⊥_{Act} & otherwise \end{cases}

comb^{A_{Ln}}(ζ_{1}, ζ_{2}) = \begin{cases}τ & if for i = 1, 2, ζ_{i} = (ζ_{i,1}, ζ_{i,2}), ζ_{i,1} ∈ A ∪ \overline{A}, \\ & ζ_{i,2} ∈ L^{+} and ζ_{1,1} = \overline{ζ}_{2,1} \\ ⊥_{Act} & otherwise \end{cases}

ren^{A_{Ln}}(ζ_{1}, ζ_{2}, ζ_{3}) = \begin{cases}(ζ_{2}, ζ_{3,2}) & if ζ_{1}, ζ_{2} ∈ A, ζ_{3} = (ζ_{3,1}, ζ_{3,2}) with ζ_{3,1} ∈ A, \\ & ζ_{3,2} ∈ L^{+} and ζ_{1} = ζ_{3,1} \\ (\overline{ζ}_{2}, ζ_{3,2}) & if ζ_{1}, ζ_{2} ∈ A, ζ_{3} = (ζ_{3,1}, ζ_{3,2}) with ζ_{3,1} ∈ \overline{A}, \\ & ζ_{3,2} ∈ L^{+} and \overline{ζ}_{1} = ζ_{3,1} \\ ζ_{3} & if ζ_{1}, ζ_{2} ∈ A, ζ_{3} = (ζ_{3,1}, ζ_{3,2}) with ζ_{3,1} ∈ A ∪ \overline{A}, \\ & ζ_{3,2} ∈ L^{+}, ζ_{1} ≠ ζ_{3,1} and \overline{ζ}_{1} ≠ ζ_{3,1} \\ ⊥_{Act} & otherwise \end{cases}

restr^{A_{Ln}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{2} & if ζ_{1} ∈ A, ζ_{2} = (ζ_{2,1}, ζ_{2,2}) with ζ_{2,1} ∈ A ∪ \overline{A}, \\ & ζ_{2,2} ∈ L^{+}, ζ_{1} ≠ ζ_{2,1} and \overline{ζ}_{1} ≠ ζ_{2,1} \\ ⊥_{Act} & otherwise \end{cases}

⊥_{A}^{A_{Ln}} = ⊥_{A}
⊥_{L}^{A_{Ln}} = ⊥_{L}
⊥_{Act}^{A_{Ln}} = ⊥_{Act}

Table 6.8: Functions for A_{L_{n}}

Sort Carrier set
A  A ∪ {⊥_{A}}
L  ℕ
Act A_{m} = (\underbrace{(A ∪ \overline{A} ∪ \{τ\} ∪ \{δ\}) × … × (A ∪ \overline{A} ∪ \{τ\} ∪ \{δ\})}_{m times} ∪\{⊥_{Act}\}

Table 6.9: Carrier sets for A_{m}

Note that in the second definition that the bottom element is not used. Instead all constants that would be mapped to an element outside the finite label set are mapped to l_{n}.

6.3.2.3 Multiprocessor CCS

Multiprocessor CCS has transition labels which are m-tuples and represent m processors upon which actions can occur. Each element of the tuple can either be idle (represented by δ) or be filled with an action or τ-action. See page 24 for an example. A formal definition of a subset of this process algebra is given in Section 6.4.

I now need to define a Σ_{CCSGen}-algebra A_{m} to represent the actual process algebra labels. The carrier sets and functions for A_{m} are given in Tables 6.9 and 6.10 respectively. Let (a_{1}, …, a_{m}) +_{m} (b_{1}, …, b_{m}) be defined as equal to (c_{1}, …, c_{m}) where for all 1 ⩽ i ⩽ n

c_{i} = \begin{cases}a_{i} & if b_{i} = δ \\ b_{i} & if a_{i} = δ \\ τ & if a_{i} = \overline{b}_{i} \end{cases}

This partial function is used in communication.

An important issue is whether these process algebras expressed in this format are actually the same as the original process algebras, or at least whether they result in bisimulations that are identical. For the location process algebras, I have used a slight modification whereby transitions with both actions and locations are

τ^{A_{m}} = τ
a^{A_{m}} = a ∀a ∈ A
l^{A_{m}} = num(l) ∀l ∈ L
act^{A_{m}}(ζ_{1}, ζ_{2}) = \begin{cases}\overbrace{(δ, …, ζ_{1}, …, δ)}^{m} & if ζ_{1} ∈ A ∪ \{τ\} and ζ_{2} ∈ ℕ^{+} where \\ & ζ_{1} is in the ζ_{2}-th position of the vector \\ ⊥_{Act} & otherwise \end{cases}
\overline{act}^{A_{m}}(ζ_{1}, ζ_{2}) = \begin{cases}\overbrace{(δ, …, \overline{ζ}_{1}, …, δ)}^{m} & if ζ_{1} ∈ A and ζ_{2} ∈ ℕ^{+} where \\ & ζ_{1} is the ζ_{2}-th position of the vector \\ ⊥_{Act} & otherwise \end{cases}
app^{A_{m}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{2} & if ζ_{1} ∈ ℕ^{+} and ζ_{2} ∈ A_{m} − \{⊥_{Act}\} \\ ⊥_{Act} & otherwise \end{cases}
comb^{A_{m}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} +_{m} ζ_{2} & if ζ_{1}, ζ_{2} ∈ A_{m} − \{⊥_{Act}\} and ζ_{1} +_{m} ζ_{2} defined \\ ⊥_{Act} & otherwise \end{cases}
ren^{A_{m}}(ζ_{1}, ζ_{2}, ζ_{3}) = {⊥_{Act} otherwise
restr^{A_{m}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{2} & if ζ_{1} ∈ A_{m} − \{⊥_{Act}\}, ζ_{2} = (ζ_{2,1}, …, ζ_{2,n}) \\ & with ζ_{1} ≠ ζ_{2,i} and \overline{ζ}_{1} ≠ ζ_{2,i} for all 1 ⩽ i ⩽ n \\ ⊥_{Act} & otherwise \end{cases}
⊥_{A}^{A_{m}} = ⊥_{A}
⊥_{L}^{A_{m}} = 0
⊥_{Act}^{A_{m}} = ⊥_{Act}

Table 6.10: Functions for A_{m} used in the communication rules, whereas in the original definition, transitions with τ-actions were derived from basic CCS rules. This does not result in a different transition system. For the case of multiprocessor CCS, it can be seen by inspection that when quotiented by the induced equivalence, the same transition system is obtained.

6.3.3 Discussion

In the previous section, I showed three different algebras for representing the labels of three different actual process algebras. Each of these algebras induce an equivalence over the ground terms of the signature, and this equivalence can then be used to define a bisimulation or semantic equivalence. Let the equivalence defined by the algebra A_{L} be denoted ∼_{L} (this is the bisimulation for standard CCS with locations). Let the equivalence defined by A_{L_{n}} be denoted ∼_{L_{n}} (this is the bisimulation for CCS with n locations). Finally, let the equivalence defined by A_{m} be denoted ∼_{m} (this is the bisimulation for CCS with m multiprocessors). Note that ∼_{1} is the same as Milner’s strong equivalence over CCS [Kri96].

It is clear that all of these equivalences are congruences with respect to the process operators, since they are all in extended tyft/tyxt format.

I next look at the relationships between these equivalences. First note that for m = 1, ∼_{L} ⊂ ∼_{1} = ∼. For m ⩾ 2, ∼_{L} ≠ ∼_{m}. The counter-examples are as follows.

Counter-example 6.3.1 (Location equivalence not comparable with multiprocessor equivalence)

(a.c | \overline{c})\\{c\} + (c | \overline{c}.a)\\{c\} \begin{matrix}∼_{L} \\ ≁ & m \end{matrix} a | τ
(a.c + b.d | \overline{c}.b + \overline{d}.a)\\{c, d\} \begin{matrix}∼_{m} \\ ≁ & L \end{matrix} (a.c + b.d | \overline{c}.b + \overline{d}.a)\\{c, d\} + a.τ.b

(I give the processes in slightly different notation to that used earlier in the chapter to aid readability.)

The second pair above would seem to indicate multiprocessor bisimulation may be the same as global cause bisimulation (causal bisimulation). However, the following counter-examples show that this is not the case.

Counter-example 6.3.2 (Global cause equivalence not comparable with multiprocessor equivalence)

(a.c | \overline{c})\\{c\} + (c | \overline{c}.a)\\{c\} \begin{matrix}∼_{c} \\ ≁ & m \end{matrix} a | τ
a | b \begin{matrix}∼_{m} \\ ≁ & c \end{matrix} a | b + a.b

(I give the processes in slightly different notation to that used earlier in the chapter to aid readability.)

I now look at ∼_{L} and ∼_{L_{n}}. First note that ∼_{L_{1}} ⊂ ∼ since a | b ≁_{L_{1}}a.b + b.a. Also ∼_{L} ⊂ ∼_{L_{1}}, for example

(a.c.b | d.\overline{c}.b)\\{c\} \begin{matrix}∼_{L_{1}} \\ ≁ & L \end{matrix} (a.c.(b | b) | d.\overline{c})\\{c\}

This example also shows that ∼_{L_{n}} ⊂ ∼_{L_{1}} for all n ⩾ 2.

An interesting question relates to how many locations are required to obtain full location equivalence. Intuitively, it seems that at least that two locations are needed to distinguish between different parallel components, and this is supported by the above processes. Because each action may occur at any location, and the greatest arity of any dynamic operator (namely the parallel operator) is two, it may be possible to show that at most two location are needed. This question cannot be answered by the results in Chapter 5 and is an issue for further work.

Finally, I need to consider ∼_{L_{n}} and ∼_{n}. For n = 1, ∼_{L_{1}} ⊂ ∼_{1} = ∼. For n ⩾ 2, the processes give in Counter-Example 6.3.1 can be used to show that ∼_{L_{n}} and ∼_{n} are not comparable.

Since these process algebras are not comparable for the most part, it is not possible to apply the results of Chapter 6. I will consider some different process algebras in the next section. In this section I have demonstrated that a number of process algebras can be expressed in this format. An obvious question relates to whether there are any process algebras which cannot be expressed. The global process algebra of Kiehn [Kie94] gives some problems. First, in the definition of the parallel operator for communication, syntactic substitution is used to take information from the transitions of the premises into the processes in the target of the conclusion, and this information then affects further transitions made by the target term. However, in this case (but perhaps not generally) it is possible to define a new operator to achieve the same effect. A more serious problem is the fact that the definition of the bisimulation requires that only transitions with fresh causes are to be considered in the bisimulation, and if this is weakened a different equivalence is obtained. It is not clear how this can be dealt with in the new format.

6.4 Comparing two semantic equivalences

In this section, I will compare the multiprocessor equivalence of Krishnan [Kri96] and the pomset bisimulation of Castellani [Cas88]. These equivalences have not been compared previously. The approach I will take involves results from the previous chapter, and is done in two distinct steps. The first step involves to showing that the extension is a refining one, and the second step involves showing two equivalences are the same.

I will work with a similar signature to that of the previous examples; however, it will be somewhat simplified to deal only with the operators for which pomset bisimulation is defined.

Let A be a set of actions disjoint from any collection of variables and let L be a set of labels disjoint from previously defined sets. Consider the signature Σ_{MP} with S_{MP} and F_{MP} as follows,

( A, L, Act, P; {a}_{a∈A}, {l}_{l∈L}, nil, {Cn}_{Cn∈Const}, ⊥_{A}, ⊥_{Act}, ⊥_{L}; pref, plus, par, act, comb, )

and

pref(z_{A}, x) ⟶^{act(z_{A},new(z_{L} ))} x

\frac{x ⟶^{z_{Act}} y}{plus(x, x′) ⟶^{z_{Act}} y}  \frac{x ⟶^{z_{Act}} y}{plus(x′, x) ⟶^{z_{Act}} y}

\frac{x ⟶^{z_{Act}} y}{par(x, x′) ⟶^{z_{Act}} par(y, x′)}  \frac{x ⟶^{z_{Act}} y}{par(x′, x) ⟶^{z_{Act}} par(x′, y)}

\frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb(z_{Act},z′_{Act})} par(y, y′)}

\{ \frac{X ⟶^{z_{Act}} y}{Cn ⟶^{z_{Act}} y} | Cn =^{def} X, Cn ∈ Const \}

Table 6.11: Rules and rule schemas for MP

a :→ A ∀a ∈ A  nil :→ P
l :→ L ∀l ∈ L  Cn :→ P ∀Cn ∈ Const
act : A, L → Act  pref : A, P → P
comb : Act, Act → Act  par : P, P → P
⊥_{A} :→ A  plus : P, P → P

⊥_{L} :→ L ⊥_{Act} :→ Act

Also assume that there is a way in which closed terms are assigned to elements of Const. The rules and rule schemas are given in Table 6.11. Let the rules given by these rules and rule schemas be denoted R_{MP}, and the eTSS defined by Σ_{MP} and R_{MP} be E_{MP}.

6.4.1 Multiprocessor CCS

Multiprocessor CCS was mentioned in the previous section, but here I give the rules for the subset with which I am dealing.

6.4.1.1 Definition of n multiprocessor equivalence

Let A be a set of actions and consider the grammar P

P ::= a.P | 0 | P + P | P |P

for a ∈ A. The elements of A are atomic actions.

Let O_{n} denote the set of n-tuples over A ∪ {δ}, and let Allocate(a) = {O ∈ O_{n} | ∃i, O(i) = a, ∀j ≠ i, O(j) = δ}. Also define the partial function +_{n} on O × O → O as O_{1} +_{n} O_{2} = O where

O(x) = \begin{cases}O_{1}(x) & if O_{2}(x) = δ \\ O_{2}(x) & if O_{1}(x) = δ \end{cases}

(Note that the notation used in this section does not follow the conventions used in the rest of the document.) The rules are given in Table 6.12. The bisimulation is defined in the standard manner.

An n multiprocessor bisimulation R is a binary relation such that for any (p, q) ∈ R and S ∈ O_{n}, the following holds

1. p ⟶^{S} p′ implies there exists q′ such that q ⟶^{S} q′ and (p′, q′) ∈ R.

2. q ⟶^{S} q′ implies there exists p′ such that p ⟶^{S} p′ and (p′, q′) ∈ R.

6.4.1.2 Expressing n multiprocessor equivalence

I now need to define a Σ_{MP}-algebra A_{n} to represent the actual process algebra labels for multiprocessor CCS. I assume that L is a infinite countable set and num is a bijection from L to ℕ, and moreover that n, the number of processors, is given.

Also let (a_{1}, …, a_{n}) +_{n} (b_{1}, …, b_{n}) be defined as equal to (c_{1}, …, c_{n}) where for all 1 ⩽ i ⩽ n

c_{i} = \begin{cases}a_{i} & if b_{i} = δ \\ b_{i} & if a_{i} = δ \end{cases}

\overline{a.p ⟶^{O} p} ∀O ∈ Allocate(a)

\begin{matrix}\frac{p ⟶^{S} p′}{p + q ⟶^{S} p′} & \frac{p ⟶^{S} p′}{q + p ⟶^{S} p′} \\ \frac{p ⟶^{S} p′}{p | q ⟶^{S} p′ | q} & \frac{p ⟶^{S} p′}{q | p ⟶^{S} q | p′} \end{matrix}

\frac{p ⟶^{S} p′ q ⟶^{S′} q′}{p | q ⟶^{S+_{n}S′} p′ | q′}

Table 6.12: Rules for n multiprocessor CCS

Sort Carrier set
A  A ∪ {⊥_{A}}
L  ℕ
Act A_{n} = (\underbrace{(A ∪ \{δ\}) × … × (A ∪ \{δ\})}_{n times} ∪\{⊥_{Act}\}

Table 6.13: Carrier sets for A_{n}

a^{A_{n}} = a ∀a ∈ A
l^{A_{n}} = num(l) ∀l ∈ L
act^{A_{n}}(ζ_{1}, ζ_{2}) = \begin{cases}(\overbrace{δ, …, δ}^{ζ_{2}−1}, ζ_{1}, \overbrace{δ, …, δ}^{n−ζ_{2}}) & if ζ_{1} ∈ A ∪ \{τ\} and ζ_{2} ∈ ℕ^{+} \\ & where ζ_{1} is in the ζ_{2}-th \\ & position of the vector \\ ⊥_{Act} & otherwise \end{cases}

comb^{A_{n}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} +_{n} ζ_{2} & if ζ_{1}, ζ_{2} ∈ A_{n} − \{⊥_{Act}\} and ζ_{1} +_{n} ζ_{2} defined \\ ⊥_{Act} & otherwise \end{cases}
⊥_{A}^{A_{n}} = ⊥_{A}
⊥_{L}^{A_{n}} = 0
⊥_{Act}^{A_{n}} = ⊥_{Act}

Table 6.14: Functions for A_{n}

The carrier sets and functions for A_{n} are given in Tables 6.13 and 6.14.

An important point to note is that the bisimulation equivalences that will be considered in this section will disregard transitions which are labeled with elements that are equivalent to undefined elements. Hence any transition label with sort s that is equivalent under the induced equivalence to ⊥_{s} will be ignored when defining semantic equivalence between process terms. However, I will use the same notation, namely ∼_{≡_{A}}^{E}.

6.4.2 An extension

I now wish to create a new process algebra to represent pomset CCS. I do this by giving an extension to E_{MP}. I first give the definition of pomset CCS.

6.4.2.1 Definition of pomset equivalence

Let A be a set of actions and consider the grammar P with a ∈ A

P ::= a : P | NIL | P + P | P |P

The elements of A are atomic actions. General actions come from the grammar B with a ∈ A

B ::= a : B | NIL | B|B.

These actions are referred to as Act. There are two axioms over Act

u | v = v | u
u | (v | w) = (u | v) | w

and they define an equivalence ≡ over Act (Note that the notation used in this section does not follow the conventions of the rest of the document.) The rules are given in Table 6.15. The bisimulation is defined with respect to ≡, but apart from that has the standard definition.

A pomset bisimulation R is a binary relation such that for any (p, q) ∈ R and u ∈ Act, the following holds

1. p ⟶^{u} p′ implies there exist q′ and v such that q ⟶^{v}q′, u ≡ v and (p′, q′) ∈ R.

2. q ⟶^{u} q′ implies there exist p′ and v such that p ⟶^{v}p′, u ≡ v and (p′, q′) ∈ R.

6.4.2.2 Expressing pomset equivalence as an extension

Consider the signature Σ_{MPExt} with S_{MPExt} and F_{MPExt} as follows,

( A, L, Act, Act_{new}, P; {a}_{a∈A}, {l}_{l∈L}, nil, {Cn}_{Cn∈Const}, ⊥_{A}, ⊥_{Act}, ⊥_{Act_{new}}, ⊥_{L}; pref, plus, par, act, comb, comb_{new}, concat )

and

\overline{a : p ⟶^{a:NIL} p} ; \frac{p ⟶^{u} p′}{a : p ⟶^{a:u} p′}

\begin{matrix}\frac{p ⟶^{u} p′}{p + q ⟶^{u} p′} & \frac{p ⟶^{u} p′}{q + p ⟶^{u} p′} \\ \frac{p ⟶^{u} p′}{p | q ⟶^{u} p′ | q} & \frac{p ⟶^{u} p′}{q | p ⟶^{u} q | p′} \end{matrix}

\frac{p ⟶^{u} p′ q ⟶^{v}q′}{p | q ⟶^{u|v} p′ | q′}

Table 6.15: Rules for pomset CCS

a :→ A ∀a ∈ A  nil :→ P
l :→ L ∀l ∈ L  Cn :→ P ∀Cn ∈ Const
act : A, L → Act  pref : A, P → P

concat : A, Act → Act_{new} concat : A, Act_{new} → Act_{new}

comb : Act, Act → Act  par : P, P → P

comb_{new} : Act, Act → Act_{new} comb_{new} : Act, Act_{new} → Act_{new} comb_{new} : Act_{new}, Act → Act_{new} comb_{new} : Act_{new}, Act_{new} → Act_{new}

⊥_{A} :→ A  plus : P, P → P

⊥_{L} :→ L ⊥_{Act} :→ Act ⊥_{Act_{new}} :→ Act_{new}

Notice the overloading of concat and comb_{new}. Also assume that there is a way in which closed terms are assigned to elements of Const. The rules and rule schemas are given in Table 6.16. Let the rules given by these rules and rule schemas be denoted R_{MPExt}, and the eTSS defined by Σ_{MPExt} and R_{MPExt} be E_{MPExt}. Since Σ_{MPExt} contains everything that Σ_{MP} contains, I will use Σ_{MPExt} for Σ_{MP}⊕>Σ_{MPExt}.

I now need to define a Σ_{MPExt}-algebra A_{pom} to represent the actual process algebra labels where C is defined as c ::= a | a : c | c|c for a ∈ A. Also let C′ be defined as c′ ::= a | c′|c′ for a ∈ A. Clearly A ⊂ C′ ⊂ C. I will assume there is an congruence ≡_{C} on C′ and C generated by the following axioms as in Castellani’s original definition [Cas88]

c | c′ = c′ | c and c | (c′ | c′′) = (c | c′) | c′′.

The carrier sets and functions for A_{pom} are given in Tables 6.17 and 6.18. Define ≡_{A_{p}} as follows: if α, β ∈ T(Σ_{MPExt})\overline{P}, then

α ≡_{A_{p}} β ⟺ \begin{cases}i_{A_{pom}}(α) = i_{A_{pom}}(β) \\ or \\ i_{A_{pom}}(α) ≡_{C} i_{A_{pom}}(β). \end{cases}

I would now like to show that E_{MP}⊕>E_{MPExt} together with the equivalence ≡_{A_{p}} provide a refining extension of E_{MP}. Consider the theorem statement

Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})_{P} and T(Σ_{1})_{P} respectively such that ≡_{0} ⊕ ≡_{1} is conservative with respect to ≡_{0}. If E_{0} is pure and label-pure, and E_{0}⊕>E_{1} is type-1, then E_{0}⊕>E_{1} is a refining extension.

However this is problematic since ≡_{A_{n}} ⊕ ≡_{A_{p}} is not conservative with respect to ≡_{A_{n}}. Conservativity requires that for α, β ∈ T(Σ_{MP})\overline{P},

α ≡_{A_{n}} ⊕ ≡_{A_{p}} β ⟺ α ≡_{A_{p}} β.

However act(a, l_{1}) ≡_{A_{n}} ⊕ ≡_{A_{p}} act(a, l_{2}) but act(a, l_{1}) ≢_{A_{n}} act(a, l_{2}).

\frac{x ⟶^{z_{Act}} y}{pref(z_{A}, x) ⟶^{concat(z_{A},z_{Act})} x} \frac{x ⟶^{z_{Actnew}} y}{pref(z_{A}, x) ⟶^{concat(z_{A},z_{Actnew} )} x}

\frac{x ⟶^{z_{Actnew}} y}{plus(x, x′) ⟶^{z_{Actnew}} y}  \frac{x ⟶^{z_{Actnew}} y}{plus(x′, x) ⟶^{z_{Actnew}} y}
\frac{x ⟶^{z_{Actnew}} y}{par(x, x′) ⟶^{z_{Actnew}} par(y, x′)}  \frac{x ⟶^{z_{Actnew}} y}{par(x′, x) ⟶^{z_{Actnew}} par(x′, y)}

\frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Act},z′_{Act})} par(y, y′)}

\frac{x ⟶^{z_{Actnew}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Actnew} ,z′_{Act})} par(y, y′)} \frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Actnew}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Act},z′_{Actnew} )} par(y, y′)} \frac{x ⟶^{z_{Actnew}} y x′ ⟶^{z′_{Actnew}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Actnew} ,z′_{Actnew} )} par(y, y′)} \{ \frac{X ⟶^{z_{Actnew}} y}{Cn ⟶^{z_{Actnew}} y} | Cn =^{def} X, Cn ∈ Const \}

Table 6.16: Rules and rule schemas for MPExt

Sort Carrier set
A  A ∪ {⊥_{A}}
L  ℕ
Act  C′ ∪ {⊥_{Act}}
Act_{new} C ∪ {⊥_{Act_{new}}}

Table 6.17: Carrier sets for A_{pom}

a^{A_{pom}} = a ∀a ∈ A
l^{A_{pom}} = num(l) ∀l ∈ L
act^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} & if ζ_{1} ∈ A and ζ_{2} ∈ ℕ^{+} \\ ⊥_{Act} & otherwise \end{cases}
comb^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} | ζ_{2} & if ζ_{1}, ζ_{2} ∈ C′ \\ ⊥_{Act} & otherwise \end{cases}
concat^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} : ζ_{2} & if ζ_{1} ∈ A, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
comb_{new}^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} | ζ_{2} & if ζ_{1}, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
⊥_{A}^{A_{pom}} = ⊥_{A}
⊥_{L}^{A_{pom}} = 0
⊥_{Act}^{A_{pom}} = ⊥_{Act}
⊥_{Act_{new}}^{A_{pom}} = ⊥_{Act_{new}}

Table 6.18: Functions for A_{pom}

Sort Carrier set
A  A ∪ {⊥_{A}}
L  ℕ
Act  D = ⋃_{j⩾1}^{n}{(c′, a_{1} … a_{j}) | c′ ∈ C′, acts(c′) = j,

a_{1}, …, a_{j} ∈ {1, …, j}, pairwise disjoint} ∪ {⊥_{Act}}

Act_{new} C ∪ {⊥_{Act_{new}}}

Table 6.19: Carrier sets for A_{pomn}

The solution is to work with a different algebra over the labels and show that this algebra generates an equivalence which will result in the same semantic equivalence as is obtained by using ≡_{A_{p}}. Notice that the new operators introduced work with a different label set. Clearly the different algebra can be the same on that sort, however on the sort Act, it should be the same as A_{n}.

I now want a slightly different algebra to represent the labels of a different process algebra based around pomset bisimulation but with some restriction on which processes can contribute to parallel computation for transitions with sort Act. I will call this Σ_{MPExt}-algebra A_{pomn}.

Let N and M be sequences of positive natural numbers without repetition, and let N ∩ M indicate the intersection of sequences. Then let (a, N) +^{n} (b, M) where a, b ∈ C′, be defined as equal to (a | b, NM) whenever N ∩ M = ∅. Also define a function acts : C′ → ℕ as

acts(c | c′) = acts(c) + acts(c′)
acts(a) = 1.

Extend ≡_{C} to D in the obvious manner. The carrier sets and functions for A_{pomn} are given in Tables 6.19 and 6.20.

a^{A_{pomn}} = a ∀a ∈ A
l^{A_{pomn}} = num(l) ∀l ∈ L
act^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}(ζ_{1}, ζ_{2}) & if ζ_{1} ∈ A and ζ_{2} ⩽ n \\ ⊥_{Act} & otherwise \end{cases}
comb^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} +^{n} ζ_{2} & if ζ_{1}, ζ_{2} ∈ D \\ & and ζ_{1} +^{n} ζ_{2} defined \\ ⊥_{Act} & otherwise \end{cases}
concat^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} : ζ_{2,1} & if ζ_{1} ∈ A, ζ_{2} ∈ D and \\ & ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ ζ_{1} : ζ_{2} & if ζ_{1} ∈ A, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
comb_{new}^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1,1} | ζ_{2,1} & if ζ_{1} ∈ D, \\ & ζ_{2} ∈ D and \\ & ζ_{1} = (ζ_{1,1}, ζ_{1,2}) \\ & ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ ζ_{1,1} | ζ_{2} & if ζ_{1} ∈ D, ζ_{2} ∈ C and \\ & ζ_{1} = (ζ_{1,1}, ζ_{1,2}) \\ ζ_{1} | ζ_{2,1} & if ζ_{1} ∈ C, ζ_{2} ∈ D and \\ & ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ ζ_{1} | ζ_{2} & if ζ_{1}, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
⊥_{A}^{A_{pomn}} = ⊥_{A}
⊥_{L}^{A_{pomn}} = 0
⊥_{Act}^{A_{pomn}} = ⊥_{Act}
⊥_{Act_{new}}^{A_{pomn}} = ⊥_{Act_{new}}

Table 6.20: Functions for A_{pomn} Define ≡_{A_{pn}} as follows: if α, β ∈ T(Σ_{MPExt})\overline{P}, then

α ≡_{A_{pn}} β ⟺ \begin{cases}i_{A_{pomn}}(α) = i_{A_{pomn}}(β) \\ or \\ i_{A_{pomn}}(α) ≡_{C} i_{A_{pomn}}(β). \end{cases}

I will first consider why this gives a refining extension to E_{MP}, then I will show that this defines an equivalence ∼_{≡_{Apn}} similar to ∼_{≡_{Ap}}.

6.4.3 A refining extension

First note that since E_{MP} is not label-pure (it is the axiom which is not label-pure), it is necessary to use Theorem 5.4.2

Let Σ_{i} = (S_{i} ∪ {P}, F_{i}) for i = 0, 1 be two signatures with Σ_{1} safe for S_{0}. Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{0} and ≡_{1} be congruences over T(Σ_{0})_{P} and T(Σ_{1})_{P} respectively such that ≡_{0} ⊕ ≡_{1} is conservative with respect to ≡_{0}. If E_{0} is pure, and E_{0}⊕>E_{1} is type-1, then E_{0}⊕>E_{1} is a refining extension.

Clearly Σ_{MPExt} is safe for S_{MP} since no function in F_{MPExt}−F_{MP} (the functions concat and comb_{new}) have a range with a sort from S_{MP}. E_{MP} and E_{MPExt} are both in extended tyft/tyxt format. E_{MP} is pure, and E_{MP}⊕>E_{MPExt} is type-1 since there is no extended tyft rule in R_{MPExt} containing a function symbol from F_{MP} with a conclusion label with a sort from S_{MP}; in other words, all extended tyft rules with a function symbol from F_{MP} have a conclusion transition label with sort act_{new}.

Finally I need to show that ≡_{A_{n}} ⊕ ≡_{A_{pn}} is conservative with respect to ≡_{A_{n}}. First note, that for all s ∈ {L, A}, α, β ∈ T(Σ_{MPExt})_{s}

α ≡_{A_{n}} ⊕ ≡_{A_{pn}} β ⟺ α ≡_{A_{n}} β

It is not necessary to consider terms with sort Act_{new} since these only occur in T(Σ_{MPExt}). Hence it is only necessary to consider terms with sort Act. See Appendix B for conservativity on Act. Note that it is not possible to use the results from Section 6.2.2 since the sum of the two algebras is not defined. This is the case because the algebras do not have the same carrier sets for sorts that appear in both signatures.

Hence by applying the above result, I can conclude that for t, u ∈ T(Σ_{MP})_{P}

t ∼_{≡_{An}⊕≡_{Apn}}^{E_{MP}⊕>E_{MPExt}}u ⟹ t ∼_{≡_{An}}^{E_{MP}}u

In other words, on the process terms of T(Σ_{MPExt}), the restricted version of pomset equivalence is a subset of n multiprocessor equivalence. This is a proper subset since for each n there exist processes which are identified by n multiprocessor equivalence, but not by restricted pomset equivalence.

Counter-example 6.4.1 (Restricted pomset equivalence and multiprocessor equivalence) For arbitrary n, with + and ∑ for plus, and | and ∏ for par,

∏_{k=1}^{n} pref(a_{k}, nil) + ∑_{i=1}^{n} ∑_{\begin{matrix}j=1 \\ j≠i \end{matrix}}^{n}(pref(a_{i}, pref(a_{j}, nil)) | ∏_{\begin{matrix}k=1 \\ k≠i \\ k≠j \end{matrix}}^{n} pref(a_{k}, nil))

∼_{≡_{A_{n−1}}}^{E_{MP}}  ∑_{i=1}^{n} ∑_{\begin{matrix}j=1 \\ j≠i \end{matrix}}^{n}(pref(a_{i}, pref(a_{j}, nil)) | ∏_{\begin{matrix}k=1 \\ k≠i \\ k≠j \end{matrix}}^{n} pref(a_{k}, nil))

However these processes are not equated by the other equivalence since the first process can perform an transition involving all possible actions, namely a transition whose label is mapped by i_{A_{pn}} to a_{1} | … | a_{n}, whereas the second process does not have a transition that consists of all n actions.

Consider this counter-example in light of Theorem 5.4.3. For the theorem to be applicable, compatibility is required, E_{MPExt} is required to be well-founded, and E_{MP}⊕>E_{MPExt} must be type-0. Clearly, compatibility is assured since all terms of sort \overline{P} that occur on the transitions of premises and in the source of the conclusion are variables. E_{MPExt} is clearly well-founded. Hence, the reason why the theorem is not applicable is because the sum is not type-0, namely there are rules in E_{MPExt} with functions from F_{MP} in the sources of the conclusions.

Note also that T(Σ_{MP})_{P} = T(Σ_{MP}⊕>Σ_{MPExt})_{P}, and hence no additional process terms have been introduced by the extension, only additional transitions.

I now need to show that ∼_{≡_{An}⊕≡_{Apn}}^{E_{MP}⊕>E_{MPExt}} and ∼_{≡_{An}⊕≡_{Ap}}^{E_{MP}⊕>E_{MPExt}} are the same. The details of this are given in Appendix B. Hence, I can conclude that for t, u ∈ T(Σ_{MP})_{P}

t ∼_{≡_{An}⊕≡_{Ap}}^{E_{MP}⊕>E_{MPExt}}u ⟹ t ∼_{≡_{An}}^{E_{MP}}u

In other words, on the process terms of T(Σ_{MP}), pomset equivalence equivalence is a proper subset of n multiprocessor equivalence.

6.5 Discussion

As has been shown in this chapter it is possible to express a number of process algebras with structured labels in the extended tyft/tyxt format, as well as use the results from Chapter 5 to compare equivalences. It has not been possible to use the abstracting extension result as it is very strong, and an issue for further work is to look for a weaker result. It has also been shown that the conditions required to achieve the results of Chapter 5 are reasonable.

In terms of the procedure for applying the results, I will describe which areas require work and which come out easily. There are number of decisions to be taken when choosing how to represent the process algebra labels and it may be the case that a few different approaches need to be tried. Usually the carrier sets can be chosen to be those used in the process algebra, but often there are choices about when to introduce terms to represent undefined transitions. Obviously, the rules must be in extended tyft/tyxt format, and it can take some time to understand how this can be achieved for a particular process algebra. If one dealing with sums, as in extension results, the results in Section 6.2.2 give conservativity and compatibility if sort-similarity holds and if the two algebras can form a sum; otherwise these need to be shown directly. Compatibility is often easy since most label terms on transitions of premises and in the source of the conclusion consist of a single variable. Sometimes, as in the example in this chapter, it is necessary to show that two algebras give the same equivalence. An area for further work is to find a simpler way to do this, particularly in the case where there are rules which only vary in the sort of the labels on the transitions as in the example here.

In this chapters, I have looked at some aspects of application of the results from earlier chapters, including the implications of some of the conditions required to obtain the results, and applications of the new format and related results to process algebras.

Conclusion and further work

In this chapter, I will give a summary of work presented in this thesis, and the conclusions that can be drawn from this research. Finally, I will discuss some items for further work.

7.1 Summary and conclusions

The focus of this thesis has been to look at ways to compare different equivalences for process algebras. This work is motivated by the large number of process algebras that are present in the literature, since to deepen understanding of the different process algebras it is necessary to compare and contrast them and their equivalences.

The second chapter of the thesis gave an overview of different process algebras which have been developed to demonstrate and distinguish different aspects of concurrent behaviour.

In the third chapter, I looked at two approaches to this comparison—one was based on comparing equivalences on CCS terms, and the other looked at the underlying process domains, namely the labelled transition systems, and investigated if it was possible to do the comparison at that level. Neither of these approaches was satisfactory. The first was too limited in that it relied on pure CCS terms and moreover, it required that the terms demonstrated the concurrent behaviour that the equivalence distinguished. The second approach extends existing work on bisimulation homomorphisms by considering label transitions systems with different label sets. As an approach to comparing equivalences, it was not satisfactory since it was unclear how to use the results of the theorem in comparison of equivalences. Issues not resolved include which states to compare, how to find a suitable mapping between label sets and how to compare equivalences over different labelled transitions systems with the same label set.

The rest of the thesis is devoted to looking at a new format and investigating how it can be used to compare equivalences. The approach taken was to extend the syntactic notions used in previous formats for process terms to label terms, and to use an equivalence over these terms to represent the semantics of the labels of the actual process algebras being expressed in the new format. I first showed that some standard results such as congruence and conservative extension hold. I then provided new definitions for extensions up to bisimulation and gave conditions under which they hold. The major results are two theorems relating to refining extensions up to bisimulation with respect to an equivalence and two theorems resulting to abstracting extensions up to bisimulation with respect to an equivalence

The material in Chapters 4 and 5 is presented in an abstract fashion, assuming an equivalence over the label terms. In Chapter 6, I look at how these results can be applied to actual process algebras, and investigate what impact the conditions required for the theorems of the previous chapters have on the process algebras that can be specified in the format. I show that a number of process algebras can be expressed in the new format—CCS, CCS with locations and multiprocessor CCS. Finally I use the results to show that pomset equivalence equivalence is a proper subset of n multiprocessor equivalence.

In conclusion, this research has successfully shown that by introducing a new format which caters for structured labels, equivalence comparison results can be obtained and applied to process algebras from the literature.

7.2 Further work

There are a number of issues for further work, a number of which lead automatically from the fact that I have developed a new format.

• The new format is only concerned with positive premises. An area of further research is negative premises and predicates.

• I have only looked at strong bisimulation. Weak bisimulation has been considered by Bloom [Blo95]. He categorises operators by the form of their rules and uses this to develop an understanding of congruence with respect to weak bisimulation. It may be possible to take a similar approach with the new format.

Another area for further work are some issues that have not been resolved in this thesis.

• An issue to consider is whether well-foundedness is required for the new format. This would involve taking the notion of proof and unification from the work of Fokkink and van Glabbeek [FvG96] and extending it to the new format.

• As yet, I do not know whether the label variables in the sources of premises need to be distinct from those in the terms on the transitions. As seen in Section 4.3.3, when proving congruence in a manner which requires wellfoundedness, it is clear that that the distinctness is required in the case where variables are shared across premises. However if the well-foundedness condition can be dropped, it may be possible to drop this condition as well. I also do not know whether a variable can be shared within a source and label of a premise or whether this conflicts with the use of compatibility.

• For the refining extension theorem, it is not clear that all the conditions of pureness and label-pureness are required. An area of further work is to attempt to prove the theorem without the use of the lemma.

Other areas of further work are as follows.

• I wish to see if the new format can be applied to other process algebras outside of those considered in this thesis.

• In this research, I have assumed that processes can only have one specific sort. However, a number of process algebras do not have ‘single level’ syntax, namely the processes may have more than one sort. An example of this is the way processes are constructed for Kiehn’s local/global cause process algebra [KH94] where the only terms that can appear within the scope of a prefix operator are pure CCS terms. An area of further work is to extend the format to take this into account. Operators with label sorts would still require the condition that no arguments can have a process sort.

Finally, there are some more results of interest that would be useful for comparing equivalences.

• As mentioned in Section 6.5, the abstracting extension result is very strong in that no transitions can be added from existing process—for an example of this, see Counter-Example 5.3.7. I wish to find a more applicable result. An approach to take here is obtain conditions that apply to all rules, and ensure that any transitions that are added are also added to equivalent terms. This would involve an understanding of which transitions are possible from the first eTSS. It may be the case that a general result cannot be found.

• In certain situations, such as expressing location CCS as an extension of CCS, it would be desirable to filter out terms of a certain sort. In the example, the τ transitions would be retained, but the non-τ transitions would be discarded. It may be possible to do this in a manner where it can be shown that the added transitions have a similar enough structure to the removed transitions to be able to derive a relationship between the equivalences. It may be possible to use bisimulation homomorphisms in gaining such a result.

In some labelled transition systems there are transitions which do not add any further information to the equivalence and hence it is possible to remove them. If it is possible to do this for a subset of terms that appear on these transitions, it may be possible to obtain a result about the equivalence of the labelled transition systems and hence about the equivalences. The proof in Section B.3 involves comparing two equivalences for equality, and takes some work. It would be useful to have a general result that permits this to be done more easily. Such a result could be based on the fact that the same rules are present for different sorts. Hence the labelled transition system has similar structure for different sorts, and it may be possible to use this information as well as information about the label equivalences to show that the equivalences are the same.

• Another question of interest look at the tags used in process algebras. By tags, I mean operators and constants (such as location prefixing) that are added to a process when an action occurs, and which appear on later transitions to shown which actions the current action is related to. This is the idea behind both local cause bisimulation and global cause bisimulation. As mentioned in Section 6.3.3, it may be possible to obtain a general results about the number of tags required to retain bisimulation. A number of issues to consider are arity of operators, characteristics of the label equivalences, pureness and label-pureness, and type of operator (static versus dynamic). Arity appears to be a key issue. The label-pureness issue relates to how new tags can be introduced.

Appendix A

Proof of Theorem 5.3.2

A.1 Proof of Theorem 5.3.2

Theorem A.1.1 (Abstracting extension up to bisimulation with respect to a congruence) Let E_{i} = (Σ_{i}, R_{i}) for i = 0, 1 be two eTSSs in extended tyft/tyxt format such that E_{0}⊕>E_{1} is defined. Moreover, let ≡_{i} be congruences over T(Σ_{i})\overline{P} for i = 0, 1 such that ≡_{0} ⊕ ≡_{1} is compatible with E_{0}⊕>E_{1}. If E_{0} is pure and label-pure, E_{1} is well-founded, and E_{0}⊕>E_{1} is type-0, then E_{0}⊕>E_{1} is an abstracting extension. Proof: Let t_{0}, u_{0} ∈ T(Σ_{0}) and let ≡ = ≡_{0} ⊕ ≡_{1}. I wish to show that E is an abstracting extension up to bisimulation with respect to ≡ so I need to show that t_{0} ∼_{≡_{0}}^{E_{0}} u_{0} ⇒ t_{0} ∼_{≡}^{E} u_{0}.

I will exhibit a bisimulation with respect to ≡ under E containing ∼_{≡_{0}}^{E_{0}}. Let R ⊆ T(Σ_{0})_{P} × T(Σ_{0})_{P} be the least relation satisfying

• ∼_{≡}^{E} ⊆ R,

• ∼_{≡_{0}}^{E_{0}} ⊆ R,

• for all f ∈ F such that f : s_{1} … s_{m}P … P → P, for all terms μ_{k}, ν_{k} ∈ T(Σ)\overline{P} (1 ⩽ k ⩽ m), and for all terms u_{i}, v_{i} ∈ T(Σ)_{P} (1 ⩽ i ⩽ n),

μ_{k} ≡ ν_{k} (1 ⩽ k ⩽ m) and u_{i} R v_{i} (1 ⩽ i ⩽ n) ⇒ f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) R f(ν_{1}, …, ν_{m}, v_{1}, … v_{n}).

It is enough to show R ⊆ ∼_{≡}^{E} since ∼_{≡}^{E} ⊆ R, hence I need to show that R is a bisimulation with respect to ≡ under E. Assume u R v. I have three cases—the first is simple since u ∼_{≡}^{E} v. The second requires us to show that:

∗ Whenever E ⊢ u ⟶^{α} u′ and u ∼_{≡_{0}}^{E_{0}} v then there is a v′ ∈ T(Σ)_{P} such that

E ⊢ v ⟶^{α′} v′ with α′ ≡ α and u′ R v′.

The third case requires us to show that:

∗∗ Whenever E ⊢ f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) ⟶^{α} u′, μ_{k} ≡ ν_{k} for 1 ⩽ k ⩽ m

and u_{i} R v_{i} for 1 ⩽ i ⩽ n then there is a v′ ∈ T(Σ)_{P} such that E ⊢

f(ν_{1}, …, ν_{m}, v_{1}, …, v_{n})) ⟶^{α′} v′ with α′ ≡ α and u′ R v′.

I need to consider these two cases together as the proof will proceed by induction on the length of the proof required to prove a transition.

In the second case, I have u ∼_{≡_{0}}^{E_{0}} v with u, v ∈ T(Σ_{0}). For a given u ∈ T(Σ_{0}), I can consider the transitions from it. Either they are the result of extended tyft/tyxt rules from R_{0} or they are the result of extended tyxt rules from R_{1}, since extended tyft rules from R_{1} cannot have functions from F_{0} in the source of the conclusion.

In the case of extended tyft/tyxt rules from R_{0}, I can apply Lemma 5.3.1 since E = E_{0}⊕>E_{1} is type-0 and hence type-1. Therefore, for any transition u ⟶^{α} u′ then α ∈ T(Σ_{0})\overline{P} and u′ ∈ T(Σ_{0})_{P}, since u ∈ T(Σ_{0})_{P}. Moreover, for any transition of the form u ⟶^{α} u′ with α ∈ T(Σ_{0})\overline{P} and u′ ∈ T(Σ_{0})_{P}, I can use the fact that

u ∼_{≡_{0}}^{E_{0}} v to find α′ ∈ T(Σ_{0})\overline{P} and v′ ∈ T(Σ_{0})_{P} such that v ⟶^{α′} v′ and u′ ∼_{≡_{0}}^{E_{0}} v′.

Hence u′ R v′, as required.

For the case of a transition from u being generated by a extended tyxt rule from R_{1}, I need to do induction on the proof of the transition. I need also to consider the third case in the induction, since I will need to consider the relationship between pairs of processes with the syntactic form of the third case. I will need the following throughout this proof. Fact Let p ∈ 𝕋(Σ)_{P} and let ρ, ρ′ : V → T(Σ) be substitutions such that for all x in Var_{P}(t), ρ(x) R ρ′(x) and for all z in Var\overline{P}(p), ρ(z) ≡ ρ′(z). Then ρ(p) R ρ′(p). Proof: I proceed by induction on the structure of p. If p = x then I have the result immediately. If p = f(η_{1}, …, η_{m}, p_{1}, …, p_{n}), then I know by the induction hypothesis that ρ(p_{i}) R ρ′(p_{i}) for 1 ⩽ i ⩽ n, and also that ρ(η_{k}) ≡ ρ′(η_{k}) for 1 ⩽ k ⩽ m (since ≡ is an equivalence), hence ρ(t) R ρ′(t) by the definition of R.

From Lemma 4.3.1, I know that there is a proof T of u ⟶^{α} u′ containing only closed transitions. Let r be the last rule used in proof T, in combination with a substitution σ. Assume first that the proof consists of only one step, then I have the following two cases.

• u ∼_{≡_{0}}^{E_{0}} v, and r ∈ R_{1} has the form x ⟶^{λ} p with σ(x) = u, σ(λ) = α and σ(p) = u′. Let σ′(x) = v, σ′(z) = σ(z) for all z ∈ Var\overline{P}(r), and σ′(y) = σ(y) for all y ∈ Var_{P}(p) − {x}. Then v ⟶^{σ′(λ)} σ′(p) with σ′(λ) ≡ α, and by the fact above σ(p) R σ′(p) as required.

• I have f(μ_{1}, …, μ_{m}, u_{1}, …, u_{n}) and f(ν_{1}, …, ν_{m}, v_{1}, … v_{n}) with μ_{i} ≡ ν_{i} for all 1 ⩽ k ⩽ m and u_{i} R v_{i} for all 1 ⩽ i ⩽ n. I have two cases:

– r ∈ R_{0} has the form x ⟶^{λ} p. (Since the terms are drawn from T(Σ_{0}) it is not possible that an extended tyft rule from R_{1} could be used.) This is done in a similar fashion to the case above.

– r ∈ R_{0}∪R_{1} has the form f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p with σ(η_{k}) = μ_{k}

for 1 ⩽ k ⩽ m, σ(x_{i}) = u_{i} for 1 ⩽ i ⩽ n, σ(p) = u′ and σ(λ) = α. Let σ′(x_{i}) = v_{i} for 1 ⩽ i ⩽ n, σ′(z) = σ(z) for all z ∈Var\overline{P}(r) − ⋃_{1⩽k⩽m} η_{k}, and σ′(y) = σ(y) for all y ∈Var_{P}(r) − ⋃_{1⩽i⩽n} x_{i}. I need to take more care with η_{k} (1 ⩽ k ⩽ m). Since for a given k such that 1 ⩽ k ⩽ m, σ(η_{k}) = μ_{k} ≡ ν_{k} and ≡ is compatible with R_{0} ∪ R_{1}, I know that there is a substitution σ′′ such that σ′′(η_{k}) = ν_{k} and for all z ∈ Var\overline{P}(η_{k}), σ(z) ≡ σ′′(z). Hence define σ′(z) = σ′′(z). I can do this for all 1 ⩽ k ⩽ m since there are no variables shared between the terms.

Then f(ν_{1}, …, ν_{m}, v_{1}, …, v_{n}) ⟶^{σ′(λ)} σ′(p) with σ′(λ) ≡ α and by the

fact above σ(p) R σ′(p) as required.

I next assume that the two statements (∗) and (∗∗) are true for proofs with n or fewer steps. I will now show that the statements are true for proofs with n + 1 steps. I will only give the details of the proof for the case of an extended tyft rule from R_{0} for (∗∗). The cases of an extended tyxt rule from R_{1} ∪ R_{0} for (∗∗) and of an extended tyxt rule from R_{1} for (∗) are proved in a similar manner—they are less complex to prove because they both deal with extended tyxt rules and hence there is only a single variable in the source of the conclusion. This makes the assignment of terms to label variables simpler. Note that when dealing with rules from R_{0} ∪R_{1} I treat them as arbitrary non-pure, non-label-pure rules, hence I do not use the fact that rules from R_{0} are pure and label-pure in this part of the proof.

Let r be the last rule used in the proof of u ⟶^{α} u′ in combination with a substitution σ. Assume r is equal to

\frac{\{p_{i} ⟶^{λ_{i}} y_{i} | i ∈ I\}}{f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p}.

Then I know that σ(η_{k}) = μ_{k} for 1 ⩽ k ⩽ m, σ(x_{i}) = u_{i} for 1 ⩽ i ⩽ n, σ(p) = u′ and σ(λ) = α. I want to find a substitution σ′ that I can use to show that v ⟶^{α} v′ with u′ R v′.

I proceed with an analysis of the variables that occur in r, and then I use an induction technique to define σ′. By considering the dependency graph G of the premises of r, depth(x) ∈ ℕ can be defined for all x ∈Var_{P}(r) in a similar fashion to the proof of Theorem 4.3.1. Define

• X = {x_{i} | 1 ⩽ i ⩽ n}

• Y = {y_{i} | i ∈ I}

• Y_{d} = {y ∈ Y | depth(y) = d} for n ⩾ 0.

• Y_{f} =Var_{P}(r) − (X ∪ Y).

Observe that for any variable x ∈ X, depth(x) = 0, and the sets Y_{d} form a partition of Y. Next I consider variables from V\overline{P}. These can be partitioned in four sets.

• Z = ⋃_{1⩽k⩽m} Var\overline{P}(η_{k})

• Z′ = ⋃_{i∈I} Var\overline{P}(λ_{i})

• Z′′ = ⋃_{i∈I} Var\overline{P}(p_{i}) − Z

• Z_{f} = (Var\overline{P}(λ) ∪ Var\overline{P}(p)) − (Z ∪ Z′ ∪ Z′′). I can partition Z′ into Z′_{0}, Z′_{1}, … by defining Z′_{d} = ⋃_{y_{i}∈Y_{d}}Var\overline{P}(λ_{i}) for each d ⩾ 0. This is possible because the variables that appear in the premise labels are disjoint.

I will define a substitution σ′ that satisfies the following properties on V_{P} and V\overline{P}

1. σ′(x_{i}) = v_{i} for 1 ⩽ i ⩽ n

2. σ(y) R σ′(y) for y ∈ X ∪ Y

3. E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) for i ∈ I

4. σ′(z) ≡ σ(z) for z ∈ Z ∪ Z′ ∪ Z′′ ∪ Z_{f}. Substitution σ′ will be constructed in stepwise fashion. To begin, let

• σ′(x_{i}) = v_{i} for 1 ⩽ i ⩽ n

• σ′(y) = σ(y) for y ∈ V_{P} − (X ∪ ⋃_{d⩾0} Y_{d})

• σ′(z) = σ(z) for z ∈ V\overline{P} − (Z ∪ ⋃_{d⩾0} Z′_{d} ∪ Z′′). Note therefore that for all variables z ∈ V\overline{P} −(Z ∪⋃_{d⩾0} Z′_{d} ∪Z′′), σ(z) ≡ σ′(z).

I still have to define σ′ on ⋃_{d⩾0} Y_{d}, ⋃_{d⩾0} Z′_{d}, Z and Z′′.

When σ′ is defined for y ∈ X ∪ Y_{0} ∪ … ∪ Y_{d} and z ∈ Z ∪ Z_{f} ∪ Z′_{0} ∪ … ∪ Z′_{d} (d ⩾ 0), I will show that β(d), γ(d) and δ(d) hold.

• β(d) : σ(y) R σ′(y) for y_{i} ∈ X ∪ Y_{f} ∪ Y_{0} ∪ … ∪ Y_{d}

• γ(d) : E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) for y_{i} ∈ Y_{0} ∪ … ∪ Y_{d}.

• δ(d) : σ′(z) ≡ σ(z) for z ∈ Z ∪ Z_{f} ∪ Z′_{0} ∪ … ∪ Z′_{d}.

If I can show that β(d), γ(d) and δ(d) hold for all d ⩾ 0, then I know that the second and third properties hold, and that the fourth property will hold for Z ∪ Z_{f} ∪ Z′. For z ∈ Z′′, when dealing with a particular transition p_{i} ⟶^{λ_{i}} y_{i}, I will simply define σ′(z) = σ(z) for any z ∈ Var\overline{P}(p_{i}) that has not yet been defined. Hence once I have shown β(d), γ(d) and δ(d) hold for all d ⩾ 0, I will have defined σ′ for all z ∈ Z′′ and moreover σ(z) ≡ σ′(z) for all z ∈ Z′′, so the fourth property will be satisfied. I know that property one holds by definition.

I first need to show that β(0), δ(0) and γ(0) hold. First note that for any x ∈ X then x = x_{i} for some 1 ⩽ i ⩽ n and since σ(x_{i}) = u_{i} and σ′(x_{i}) = v_{i}, and u_{i} R v_{i}, I have σ(x_{i}) R σ′(x_{i}). Also σ(y) R σ′(y) for y ∈ Y_{f} since σ(y) = σ′(y).

Then consider Z. Since for a given k such that 1 ⩽ k ⩽ m, σ(η_{k}) = μ_{k} ≡ ν_{k} and ≡ is compatible with R_{0} ∪ R_{1}, I know that there is a substitution σ′′ such that σ′′(η_{k}) = ν_{k} and for all z ∈ Var\overline{P}(η_{k}), σ(z) ≡ σ′′(z). So let σ′(z) = σ′′(z). I can do this for all 1 ⩽ k ⩽ m since there are no variables shared between the terms. Also σ(z) ≡ σ′(z) for z ∈ Z_{f} since σ(z) = σ′(z).

Next consider y^{∗} ∈ Y_{0}. There exists i ∈ I such that y^{∗} = y_{i}, so I can consider the transition p_{i} ⟶^{λ_{i}} y_{i}. If Var\overline{P}(p_{i}) ∩ Z = ∅, then the situation is straightforward. Let σ′(z) = σ(z) for z ∈ Var\overline{P}(p_{i})∪Var\overline{P}(λ_{i}) and let σ′(y_{i}) = σ(y_{i}). Then σ(y_{i}) R σ′(y_{i}), and for all z ∈ Var\overline{P}(p_{i})∪Var\overline{P}(λ_{i}), σ(z) ≡ σ′(z) since

σ′(z) = σ(z). Moreover, σ′(p_{i} ⟶^{λ_{i}} y_{i}) = σ′(p_{i}) ⟶^{σ′(λ_{i})} σ′(y_{i}) = σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}) =

σ(p_{i} ⟶^{λ_{i}} y_{i}) Therefore E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) since E ⊢ σ(p_{i} ⟶^{λ_{i}} y_{i}).

However, if Var\overline{P}(p_{i}) ∩ Z ≠ ∅ then I need to take more care. σ′ is already defined on z ∈ Var\overline{P}(p_{i})∩Z, and I can define σ′(z) = σ(z) for z ∈ Var\overline{P}(p_{i})−Z on which σ′ is not defined. Hence I know that σ(z) ≡ σ′(z) for z ∈ Var\overline{P}(p_{i}). Since Var_{P}(p_{i}) = ∅, I know from the fact above that σ(p_{i}) R σ′(p_{i}). I have three cases to consider:

• σ(p_{i}) ∼_{≡}^{E} σ′(p_{i}). Since E ⊢ σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}), I can find w ∈ T (Σ)_{P} and α_{i} ∈ T (Σ)\overline{P} such that E ⊢ σ′(p_{i}) ⟶^{α_{i}} w, σ(λ_{i}) ≡ α_{i} and σ(y_{i}) R w. So I can define σ′(y^{∗}) = σ′(y_{i}) = w. Moreover, since ≡ is compatible with R_{0}, I know there exists a substitution σ′′ such that α_{i} = σ′′(λ_{i}) and σ(z) ≡ σ′′(z) for all z ∈ Var\overline{P}(λ_{i}). Let σ′(z) = σ′′(z) whence α_{i} = σ′(λ_{i}). (Since Var\overline{P}(p_{i})∩ Var\overline{P}(λ_{i}) = ∅, it is clear that the use of σ′′ does not affect values assigned to Var\overline{P}(p_{i}).)

• σ(p_{i}) ∼_{≡_{0}}^{E_{0}} σ′(p_{i}). I have two cases depending on whether the transition is generated by an extended tyft/tyxt rule from R_{0} or an extended tyxt rule from R_{1}:

– If σ(λ_{i}) ∈ T(Σ_{0})\overline{P}, then since E_{0} ⊢ σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}), I can find w ∈ T(Σ_{0})_{P} and α_{i} ∈ T (Σ)\overline{P} such that E_{0} ⊢ σ(p_{i}) ⟶^{α_{i}} w with α_{i} ≡_{0} σ(λ_{i}) and σ(y_{i}) R w. So I can define σ′(y^{∗}) = σ′(y_{i}) = w. Since ≡ = ≡_{0} ⊕ ≡_{1}, α_{i} ≡ σ(λ_{i}). Moreover, since ≡ is compatible with R_{0} ∪ R_{1}, I know there exists a substitution σ′′ such that α_{i} = σ′′(λ_{i}) and σ(z) ≡ σ′′(z) for all z ∈ Var\overline{P}(λ_{i}). Again let σ′(z) = σ′′(z) whence α_{i} = σ′(λ_{i}).

– If σ(λ_{i}) ∉ T(Σ_{0})\overline{P}, then this means that this transition is generated by an extended tyxt rule from R_{1} and hence I can use the induction hypothesis for proofs of this form. To see why this is the case, consider that the proof of σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}) is a subproof of the proof of u ⟶^{α} u′. Therefore it must have fewer steps than the proof of u ⟶^{α} u′. But I have assumed that (∗) and (∗∗) are true for all proofs of fewer steps, hence I can apply the induction hypothesis. Since E ⊢ σ(p_{i}) ⟶^{σ(λ_{i})} σ(y_{i}), I can find w ∈ T (Σ)_{P} such that E ⊢ σ′(p_{i}) ⟶^{α_{i}} w with σ(λ_{i}) ≡ α_{i} and σ(y_{i}) R w. So I can define σ′(y^{∗}) = σ′(y_{i}) = w. Moreover, since ≡ is compatible with R_{0} ∪ R_{1}, I know there exists a substitution σ′′ such that α_{i} = σ′′(λ_{i}) and σ(z) ≡ σ′′(z) for all z ∈ Var\overline{P}(λ_{i}). Again let σ′(z) = σ′′(z) whence α_{i} = σ′(λ_{i}).

• there is a function symbol h ∈ F such that h : s′_{1} … s′_{m}P … P → P, and there are terms μ′_{k′}, ν′_{k′} ∈ T(Σ)\overline{P} for 1 ⩽ k′ ⩽ m′, w_{i′}, w′_{i′} ∈ T(Σ)_{P} for 1 ⩽ i′ ⩽ n′ such that

σ(p_{i}) = h(μ′_{1}, …, μ′_{m′}, w_{1}, …, w_{n′}) and and

σ′(p_{i}) = h(ν′_{1}, …, ν′_{m′}, w′_{1}, …, w′_{n′})

with μ′_{k′} ≡ ν′_{k′} (1 ⩽ k′ ⩽ m′) and w_{i′} Rw′_{i′} (1 ⩽ i′ ⩽ n′). Now I can apply the induction hypothesis. To see why this is the case, consider that the proof of

h(μ′_{1}, …, μ′_{m′}, w_{1}, …, w_{n′}) ⟶^{σ(λ_{i})} σ(y_{i}) is a subproof of the proof of u ⟶^{α} u′.

Therefore it must have fewer steps than the proof of u ⟶^{α} u′ and so I can apply the induction hypothesis. Since E ⊢ h(μ′_{1}, …, μ′_{m′}, w_{1}, …, w_{n′}) ⟶^{σ(λ_{i})}

σ(y_{i}), I can find a w, and α_{i} such that E ⊢ h(ν′_{1}, …, ν′_{m′}, w′_{1}, …, w′_{n′}) ⟶^{α_{i}} w,

σ(λ_{i}) ≡ α_{i}, and σ(y_{i}) R w. Again I can define σ′(y_{i}) = w.

Since ≡ is compatible with R_{0}, I know there exists a substitution σ′′ such that α_{i} = σ′′(λ_{i}) and σ(z) ≡ σ′′(z). Let σ′(z) = σ′′(z) for all z ∈ Var\overline{P}(λ_{i}) whence α_{i} = σ′(λ_{i}).

Hence I know for y^{∗} = y_{i}, that σ(y_{i}) R σ′(y_{i}), E ⊢ σ′(p_{i} ⟶^{λ_{i}} y_{i}) and σ(z) ≡ σ′(z) for all z ∈ Var\overline{P}(p_{i})∪Var\overline{P}(λ_{i}). I can do this for all y ∈ Y_{0} and thereby show that β(0), γ(0) and δ(0) hold.

Now let d > 0, and suppose that σ′ has been defined for all variables in X ∪Y_{f} ∪Y_{0} ∪… Y_{d−1} and Z ∪Z_{f} ∪Z′_{0} ∪…∪Z′_{d−1} such that β(d−1), γ(d−1) and δ(d − 1) hold. I now define σ′ on Y_{d} and Z′_{d} such that β(d), γ(d) and δ(d) hold. Consider y^{∗} ∈ Y_{d}. Then there exists i ∈ I such that y^{∗} = y_{i}, and so I can consider

the transition p_{i} ⟶^{λ_{i}} y_{i}. Since y_{i} ∈ Y_{d}, then Var_{P}(p_{i}) ⊆ X ∪ Y_{f} ∪ Y_{0} ∪ … ∪ Y_{d−1}

so σ(y) R σ′(y) for y ∈ Var_{P}(p_{i}). For z ∈ Var\overline{P}(p_{i}) such that σ′(z) is as yet undefined, let σ′(z) = σ(z). Hence I know that by the fact above σ′(p_{i}) R σ(p_{i}). I have three cases as before and the treatment is identical. From this it is easy to see that β(d), γ(d) and δ(d) hold for all d ⩾ 0, and hence I know that the four properties hold.

So I know that for all i ∈ I, E ⊢ σ′(p_{i}) ⟶^{σ′(λ_{i})} σ′(y_{i}) where σ′(z) ≡ σ(z) for all z ∈ ⋃_{i∈I}Var\overline{P}(λ_{i}). Hence I can conclude that

E ⊢ σ′(f(η_{1}, …, η_{m}, x_{1}, …, x_{n}) ⟶^{λ} p)

namely

E ⊢ f(ν_{1}, …, ν_{m}, v_{1}, …, v_{n}) ⟶^{σ′(λ)} σ′(p).

To see that σ′(λ) ≡ α, recall that α = σ(λ), and I know that for all z ∈ Var\overline{P}(λ), σ(z) ≡ σ′(z) and since ≡ is a congruence, I have the required result. To see that u R σ′(p), recall that u = σ(p), and for all x ∈ Var_{P}(p), σ(x) R σ′(x) and for all z ∈Var\overline{P}(p), σ(z) ≡ σ′(z), hence by the fact above, σ(p) R σ′(p).

Appendix B

Proofs for comparison example

B.1 Introduction

This appendix contains two results which are required for the comparison in Chapter 6.

B.2 Equivalence result required in Section 6.4.3

I wish to show that for α, β ∈ T(Σ_{MP})_{Act}

α ≡_{A_{n}} ⊕ ≡_{A_{pn}} β ⟺ α ≡_{A_{n}} β

Clearly α ≡_{A_{n}} β ⟹ α ≡_{A_{n}} ⊕ ≡_{A_{pn}} β. To prove the opposite implication, I will provide a homomorphism h from A_{pomn} to A_{n} for the sorts A, L and Act. I also need to show that h ∘ i_{A_{pomn}} = i_{A_{n}} since then

α  ≡_{A_{pomn}} β
i_{A_{pomn}}(α)  =  i_{A_{pomn}}(β)
h(i_{A_{pomn}}(α))  =  h(i_{A_{pomn}}(β))
i_{A_{n}}(α)  =  i_{A_{n}}(β)
α  ≡_{A_{n}} β

and hence α ≡_{A_{pomn}} β ⟹ α ≡_{A_{n}} β. I then need to show that α ≡_{A_{pn}} β ⟹ α ≡_{A_{n}} β and then I can conclude that α ≡_{A_{n}} ⊕ ≡_{A_{pn}} β ⟹ α ≡_{A_{n}} β, since ≡_{A_{pn}} can equate no more than ≡_{A_{n}}.

Consider the following functions

h(a) = a ∀a ∈ A
h(i) = i ∀0 ⩽ i ⩽ n
h(c′ | c′′, N′N′′) = h(c′, N′) +_{n} h(c′′, N′′)
for N′ ∩ N′′ = ∅ and
|N′| = acts(c′), |N′′| = acts(c′′)
h(a, \{i\}) = (\overbrace{δ, …, δ}^{i−1}, a, \overbrace{δ, …, δ}^{n−i})
h(⊥_{A}) = ⊥_{A}
h(⊥_{Act}) = ⊥_{Act}

I need to show that h is a homomorphism, hence I need to show that

h(act^{A_{pomn}}(ζ_{1}, ζ_{2})) = act^{A_{n}}(h(ζ_{1}), h(ζ_{2}))
h(comb^{A_{pomn}}(ζ_{1}, ζ_{2})) = comb^{A_{n}}(h(ζ_{1}), h(ζ_{2})).

This is straightforward for most cases. I only consider the case of comb when ζ_{1} = (c′, N′) and ζ_{2} = (c′′, N′′).

h(comb^{A_{pomn}}((c′, N′), (c′′, N′′)) = h((c′, N′) +^{n} (c′′, N′′))
= \begin{cases}⊥_{Act} & if N′ ∩ N′′ ≠ ∅ \\ h(c′ | c′′, N′N′′) \end{cases}
h(c′ | c′′, N′N′′) = h(c′, N′) +_{n} h(c′′, N′′)
comb^{A_{n}}(h(c′, N′), h(c′′, N′′)) = h(c′, N′) +_{n} h(c′′, N′′)

Note that if N′ ∩ N′′ ≠ ∅ then h(c′, N′) +_{n} h(c′′, N′′) is not defined since each operand will have an action at the shared position and hence +_{n} will not be defined for this case.

I now need to show that h ∘ i_{A_{pomn}} = i_{A_{n}}. Again this straightforward for most cases and proceeds by induction. I give the proof for comb.

h(i_{A_{pomn}}(comb(α_{1}, α_{2}))) = h(comb^{A_{pomn}}(i_{A_{pomn}}(α_{1}), i_{A_{pomn}}(α_{2}))
= h(i_{A_{pomn}}(α_{1}) +^{n} i_{A_{pomn}}(α_{2}))
= h(i_{A_{pomn}}(α_{1})) +_{n} h(i_{A_{pomn}}(α_{2}))

by the above proof

= (i_{A_{n}}(α_{1})) +_{n} i_{A_{n}}(α_{2}))

by induction

i_{A_{n}}(comb(α_{1}, α_{2})) = comb^{A_{n}}(i_{A_{n}}(α_{1}), i_{A_{n}}(α_{2}))
= (i_{A_{n}}(α_{1})) +_{n} i_{A_{n}}(α_{2}))

Finally I need to show that ≡_{A_{pn}} ⟹ ≡_{A_{n}} Recall the definition of ≡_{A_{pn}}.

α ≡_{A_{pn}} β ⟺ \begin{cases}i_{A_{pomn}}(α) = i_{A_{pomn}}(β) \\ or \\ i_{A_{pomn}}(α) ≡_{C} i_{A_{pomn}}(β) \end{cases}

Since ≡_{A_{pomn}} ⟹ ≡_{A_{n}}, I need only consider the case where i_{A_{pomn}}(α) ≡_{C} i_{A_{pomn}}(β). There are two cases:

• i_{A_{pomn}}(α) = ((c | c′) | c′′, N) and i_{A_{pomn}}(β) = (c | (c′ | c′′), N). Hence

h(((c | c′) | c′′, N)) = (h(c, M) +_{n} h(c′, M′′)) +_{n} h(c′′, M′′)

for suitable MM′M′′ = N

= h(c, M) +_{n} (h(c′, M′′) +_{n} h(c′′, M′′))

since +_{n} is assocative

= h((c | (c′ | c′′), N))

Therefore h(i_{A_{pomn}}(α)) = h(i_{A_{pomn}}(β)), Hence i_{A_{n}}(α) = i_{A_{n}}(β), and α ≡_{A_{n}} β as required.

• i_{A_{pomn}}(α) = (c | c′, N) and i_{A_{pomn}}(β) = (c′ | c, N). This is done in a similar manner to the above case, using the commutativity of +_{n}.

Hence I have shown conservativity as required to apply the refining extension theorem.

B.3 Semantic equivalence result required in Section 6.4.3

Consider the signature Σ_{MPExt},

( A, L, Act, Act_{new}, P; {a}_{a∈A}, {l}_{l∈L}, nil, {Cn}_{Cn∈Const}, ⊥_{A}, ⊥_{Act}, ⊥_{Act_{new}}, ⊥_{L}; pref, plus, par, act, comb, comb_{new}, concat )

with the sorts

a :→ A ∀a ∈ A  nil :→ P
l :→ L ∀l ∈ L  Cn :→ P ∀Cn ∈ Const
act : A, L → Act  pref : A, P → P

concat : A, Act → Act_{new} concat : A, Act_{new} → Act_{new}

comb : Act, Act → Act  par : P, P → P

comb_{new} : Act, Act → Act_{new} comb_{new} : Act, Act_{new} → Act_{new} comb_{new} : Act_{new}, Act → Act_{new} comb_{new} : Act_{new}, Act_{new} → Act_{new}

⊥_{A} :→ A  plus : P, P → P

⊥_{L} :→ L ⊥_{Act} :→ Act ⊥_{Act_{new}} :→ Act_{new}

Assume that there is a way in which closed terms are assigned to elements of Const. I give here rules for both E_{MP} and E_{MPExt}. The rules and rule schemas are given in Tables B.1 and B.2. Let the rules given by these rules and rule schemas be denoted R_{MPExt}, and the eTSS defined by Σ_{MPExt} and R_{MPExt} be E_{MPExt}. Since Σ_{MPExt} contains everything that Σ_{MP} contains, I will use Σ_{MPExt} for Σ_{MP}⊕>Σ_{MPExt}.

pref(z_{A}, x) ⟶^{act(z_{A},new(z_{L} ))} x

\frac{x ⟶^{z_{Act}} y}{plus(x, x′) ⟶^{z_{Act}} y}  \frac{x ⟶^{z_{Act}} y}{plus(x′, x) ⟶^{z_{Act}} y}
\frac{x ⟶^{z_{Act}} y}{par(x, x′) ⟶^{z_{Act}} par(y, x′)}  \frac{x ⟶^{z_{Act}} y}{par(x′, x) ⟶^{z_{Act}} par(x′, y)}

\frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb(z_{Act},z′_{Act})} par(y, y′)}

\{ \frac{X ⟶^{z_{Act}} y}{Cn ⟶^{z_{Act}} y} | Cn =^{def} X, Cn ∈ Const \} Table B.1: Rules and rule schemas for MP \frac{x ⟶^{z_{Act}} y}{pref(z_{A}, x) ⟶^{concat(z_{A},z_{Act})} x} \frac{x ⟶^{z_{Actnew}} y}{pref(z_{A}, x) ⟶^{concat(z_{A},z_{Actnew} )} x}

\frac{x ⟶^{z_{Actnew}} y}{plus(x, x′) ⟶^{z_{Actnew}} y}  \frac{x ⟶^{z_{Actnew}} y}{plus(x′, x) ⟶^{z_{Actnew}} y}
\frac{x ⟶^{z_{Actnew}} y}{par(x, x′) ⟶^{z_{Actnew}} par(y, x′)}  \frac{x ⟶^{z_{Actnew}} y}{par(x′, x) ⟶^{z_{Actnew}} par(x′, y)}

\frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Act},z′_{Act})} par(y, y′)}

\frac{x ⟶^{z_{Actnew}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Actnew} ,z′_{Act})} par(y, y′)} \frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Actnew}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Act},z′_{Actnew} )} par(y, y′)} \frac{x ⟶^{z_{Actnew}} y x′ ⟶^{z′_{Actnew}} y′}{par(x, x′) ⟶^{comb_{new}(z_{Actnew} ,z′_{Actnew} )} par(y, y′)} \{ \frac{X ⟶^{z_{Actnew}} y}{Cn ⟶^{z_{Actnew}} y} | Cn =^{def} X, Cn ∈ Const \}

Table B.2: Rules and rule schemas for MPExt

Sort Carrier set
A  A ∪ {⊥_{A}}
L  ℕ
Act  C′ ∪ {⊥_{Act}}
Act_{new} C ∪ {⊥_{Act_{new}}}

Table B.3: Carrier sets for A_{pom}

I define a Σ_{MPExt}-algebra A_{pom} to represent the actual process algebra labels of pomset CCS, where C is defined as follows c ::= a | a : c | c|c for a ∈ A. Also let C′ be defined as follows c′ ::= a | c′|c′ for a ∈ A. Clearly A ⊂ C′ ⊂ C.

I will also assume there is an congruence ≡_{C} on C′ and C generated by the following axioms as in Castellani’s original definition [Cas88]

c | c′ = c′ | c and c | (c′ | c′′) = (c | c′) | c′′.

Define ≡_{A_{p}} as follows: if α, β ∈ T(Σ_{MPExt})\overline{P}, then

α ≡_{A_{p}} β ⟺ \begin{cases}i_{A_{pom}}(α) = i_{A_{pom}}(β) \\ or \\ i_{A_{pom}}(α) ≡_{C} i_{A_{pom}}(β). \end{cases}

The carrier sets and functions for A_{pom} are given in Tables B.3 and B.4.

I now want a slightly different algebra to represent the labels of a different process algebra based around pomset bisimulation but with some restriction on which processes can contribute to parallel computation. I will call this Σ_{MPExt}- algebra A_{pomn}.

Let N and M be sequences of positive natural numbers without repetition, and let N ∩ M indicate the intersection of sequences. Then let (a, N) +^{n} (b, M) where a, b ∈ C′, be defined as equal to (a | b, NM) whenever N ∩ M = ∅.

a^{A_{pom}} = a ∀a ∈ A
l^{A_{pom}} = num(l) ∀l ∈ L
act^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} & if ζ_{1} ∈ A and ζ_{2} ∈ ℕ^{+} \\ ⊥_{Act} & otherwise \end{cases}
comb^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} | ζ_{2} & if ζ_{1}, ζ_{2} ∈ C′ \\ ⊥_{Act} & otherwise \end{cases}
concat^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} : ζ_{2} & if ζ_{1} ∈ A, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
comb_{new}^{A_{pom}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} | ζ_{2} & if ζ_{1}, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
⊥_{A}^{A_{pom}} = ⊥_{A}
⊥_{L}^{A_{pom}} = 0
⊥_{Act}^{A_{pom}} = ⊥_{Act}
⊥_{Act_{new}}^{A_{pom}} = ⊥_{Act_{new}}

Table B.4: Functions for A_{pom}

Sort Carrier set
A  A ∪ {⊥_{A}}
L  ℕ
Act  D = ⋃_{j⩾1}^{n}{(c′, a_{1} … a_{j}) | c′ ∈ C′, acts(c′) = j,

a_{1}, …, a_{j} ∈ {1, …, j}, pairwise disjoint} ∪ {⊥_{Act}}

Act_{new} C ∪ {⊥_{Act_{new}}}

Table B.5: Carrier sets for A_{pomn}

Also define a function acts : C′ → ℕ as

acts(c | c′) = acts(c) + acts(c′)
acts(a) = 1.

Extend ≡_{C} to D in the obvious manner. The carrier sets and functions for A_{pomn} are given in Tables B.5 and B.6.

Define ≡_{A_{pn}} as follows: if α, β ∈ T(Σ_{MPExt})\overline{P}, then

α ≡_{A_{pn}} β ⟺ \begin{cases}i_{A_{pomn}}(α) = i_{A_{pomn}}(β) \\ or \\ i_{A_{pomn}}(α) ≡_{C} i_{A_{pomn}}(β). \end{cases}

I want to show that for u, v ∈ T(Σ_{MPExt})_{P}

u ∼_{≡_{Apn}} v ⟺ u ∼_{≡_{Ap}} v.

Here I am working with a definition of bisimulation which does not consider the transitions that are labelled with terms indicating undefined—in this case the terms in the set {⊥_{A}, ⊥_{L}, ⊥_{Act}, ⊥_{Act_{new}}}.

If I can show that ≡_{A_{pn}} ⊆ ≡_{A_{p}} then it will follow that ∼_{≡_{Apn}} ⊆ ∼_{≡_{Ap}}. However, because some terms are equated to ⊥_{Act} by A_{pn} and not by A_{p}, this approach cannot be used.

a^{A_{pomn}} = a ∀a ∈ A
l^{A_{pomn}} = num(l) ∀l ∈ L
act^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}(ζ_{1}, ζ_{2}) & if ζ_{1} ∈ A and ζ_{2} ⩽ n \\ ⊥_{Act} & otherwise \end{cases}
comb^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} +^{n} ζ_{2} & if ζ_{1}, ζ_{2} ∈ D \\ & and ζ_{1} +^{n} ζ_{2} defined \\ ⊥_{Act} & otherwise \end{cases}
concat^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1} : ζ_{2,1} & if ζ_{1} ∈ A, ζ_{2} ∈ D and \\ & ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ ζ_{1} : ζ_{2} & if ζ_{1} ∈ A, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
comb_{new}^{A_{pomn}}(ζ_{1}, ζ_{2}) = \begin{cases}ζ_{1,1} | ζ_{2,1} & if ζ_{1} ∈ D, \\ & ζ_{2} ∈ D and \\ & ζ_{1} = (ζ_{1,1}, ζ_{1,2}) \\ & ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ ζ_{1,1} | ζ_{2} & if ζ_{1} ∈ D, ζ_{2} ∈ C and \\ & ζ_{1} = (ζ_{1,1}, ζ_{1,2}) \\ ζ_{1} | ζ_{2,1} & if ζ_{1} ∈ C, ζ_{2} ∈ D and \\ & ζ_{2} = (ζ_{2,1}, ζ_{2,2}) \\ ζ_{1} | ζ_{2} & if ζ_{1}, ζ_{2} ∈ C \\ ⊥_{Act_{new}} & otherwise \end{cases}
⊥_{A}^{A_{pomn}} = ⊥_{A}
⊥_{L}^{A_{pomn}} = 0
⊥_{Act}^{A_{pomn}} = ⊥_{Act}
⊥_{Act_{new}}^{A_{pomn}} = ⊥_{Act_{new}}

Table B.6: Functions for A_{pomn} It is possible though to show that for α, β≢_{A_{pn}}γ for γ ∈ {⊥_{A}, ⊥_{L}, ⊥_{Act}, ⊥_{Act_{new}}}

α ≡_{A_{pn}} β ⟹ α ≡_{A_{p}} β

Let α ≡_{A_{pn}}β then I need to consider the four possible sorts for these terms. Clearly α, β ∈ T(Σ_{MPExt})_{A} or T(Σ_{MPExt})_{L}, the implication holds since both algebras are the same for these terms.

If α, β ∈ T(Σ_{MPExt})_{Act} − {⊥_{Act}} then i_{A_{pomn}}(α) = (c, N) for some c ∈ C′ and N sequence of natural numbers with no repeats; and i_{A_{pom}}(α) = c. Similarly for β. Since i_{A_{pomn}}(α) = i_{A_{pomn}}(β), then i_{A_{pom}}(α) = i_{A_{pom}}(β). A similar argument can be used for i_{A_{pomn}}(α) ≡_{C} i_{A_{pomn}}(β).

If α, β ∈ T(Σ_{MPExt})_{Act_{new}} − {⊥_{Act_{new}}} then i_{A_{pomn}}(α) = c for some c ∈ C′, i_{A_{pom}}(α) = c and hence the implication holds. A similar argument can be used for i_{A_{pomn}}(α) ≡_{C} i_{A_{pomn}}(β).

In light of the above, I need to prove ∼_{≡_{Apn}} ⊆ ∼_{≡_{Ap}} by dealing directly with the eTSS and equivalences. Assume t ∼_{≡_{Apn}} u. I wish to show that t ∼_{≡_{Ap}} u. Consider a transition t ⟶^{α} t′ with α ≢_{A_{p}}⊥_{Act} and α ≢_{A_{p}}⊥_{Act_{new}}. It is not possible to use the argument that t ∼_{≡_{Apn}} u′ and hence a matching transition can be found, since it may be the case that α ≡_{A_{pn}} ⊥_{Act} or α ≡_{A_{pn}} ⊥_{Act_{new}}.

Hence I need to work with the proofs which are generated. I will refer to the following rule as the Act parallel rule.

\frac{x ⟶^{z_{Act}} y x′ ⟶^{z′_{Act}} y′}{par(x, x′) ⟶^{comb(z_{Act},z′_{Act})} par(y, y′)}

• First consider α ∈ T(Σ_{MPExt})_{Act}. Note that it is possible to show that

t ⟶^{α} t′, α ∈ T(Σ_{MPExt})_{Act} ⟺ t ⟶^{α′} t′, α′ ∈ T(Σ_{MPExt})_{Act_{new}}

with i_{A_{p}}(α) = i_{A_{p}}(α′). (Note that α and α′ cannot be equivalent because they have different sorts.) Moreover, it can be shown that there is a proof of t ⟶^{α′} t′ for α′ ∈ T(Σ_{MPExt})_{Act_{new}} which does not use the Act parallel rule, and such that no term of the form act(a, l) has an l such that l^{A_{pomn}} > n. Therefore α′ ≢_{A_{pn}}⊥_{Act_{new}} and t ⟶^{α′} t′ with α′ ∈ T(Σ_{MPExt})_{Act_{new}}. Since t ∼_{≡_{Apn}} u, there exist β′ and u′ such that u ⟶^{β′} u′ with α′ ≡_{A_{pn}} β′ and since neither α′ nor β′ are equivalent to ⊥_{Act_{new}}, α′ ≡_{A_{p}} β′. In other words, i_{A_{p}}(α′) = i_{A_{p}}(β′). By the above, I can find β ∈ T(Σ_{MPExt})_{Act} such that u ⟶^{β} u′ and i_{A_{p}}(β′) = i_{A_{p}}(β). Hence I have found a transition u ⟶^{β} u′ with α ≡_{A_{p}} β and t′ ∼_{≡_{Apn}} u′ as required.

• Next consider α ∈ T(Σ_{MPExt})_{Act_{new}}. By a similar argument it is possible to find t ⟶^{α′} t′ such that α ≡_{A_{p}} α′ and the proof of the new transition does not use the Act parallel rule, and where no term of the form act(a, l) has an l such that l^{A_{pomn}} > n. Hence α′ ≢_{A_{pn}}⊥_{Act_{new}}. Since t ∼_{≡_{Apn}} u, there exist β′ and u′ such that u ⟶^{β′} u′ with α′ ≡_{A_{pn}} β′ and since neither α nor β are equivalent to ⊥_{Act_{new}}, α′ ≡_{A_{p}} β′. In other words, α ≡_{A_{p}} β′ as required.

I also need to show the converse of this, namely that ∼_{≡_{Ap}} ⊆ ∼_{≡_{Apn}}. Consider t ∼_{≡_{Ap}} u. I wish to show that t ∼_{≡_{Apn}} u. Consider a transition t ⟶^{α} t′ with α ≢_{A_{pn}}⊥_{Act} and α ≢_{A_{pn}}⊥_{Act_{new}}. It is not possible to use the argument that t ∼_{≡_{Ap}} u′ since α ≡_{A_{p}} β ≠⇒ α ≡_{A_{pn}} β for α, β ∉ {⊥_{Act}, ⊥_{Act_{new}}}. Hence, a different approach is required.

• First consider α ∈ T(Σ_{MPExt})_{Act}. Since α ≢_{A_{pn}}⊥_{Act}, it can be argued that the term l_{i} appears in α at most n times and moreover all occurrences are distinct and for all i, l_{i}^{A_{pomn}} ⩽ n. Since t ∼_{≡_{Ap}} t′, there exist β and u′ such that u ∼_{≡_{Ap}} u′ and α ≡_{A_{p}} β. Moreover, it can be shown that there are the same number of occurrences of terms of the form l_{i} in β (otherwise it would not be equivalent to α). Hence it is possible (by suitable choice of which l_{i}’s appear in the term) to find a term β′ such that u ⟶^{β} u′ and β′ ≢_{A_{pn}}⊥_{Act} with β′ ≡_{A_{pn}} α as required.

• Next consider α ∈ T(Σ_{MPExt})_{Act_{new}}. Since t ∼_{≡_{Ap}} u, there exist β and u′ such that u ⟶^{β} u′ and α ≡_{A_{p}} β. As before it is possible to find an β′ such that u ⟶^{β′} u′ and such that the Act parallel rule is not used in the proof and no term of the form act(a, l) has an l such that l^{A_{pomn}} > n. Hence β′ ≢_{A_{pn}}⊥_{Act}. Moreover it can be shown (by suitable choice of which l_{i}’s appear in the term) that α ≡_{A_{pn}} β′ as required.

Hence I have shown that ∼_{≡_{Ap}} = ∼_{≡_{Apn}} as required.

Bibliography

[ABV94] L. Aceto, B. Bloom, and F. Vaandrager. Turning SOS rules into equations. Information and Computation, 111, 1–52, 1994. (p 30)

[AC96] A. Arnold and I. Castellani. An algebraic characterisation of observation equivalence. Theoretical Computer Science, 156, 289–299, 1996. (pp 28, 47)

[Ace94a] L. Aceto. Deriving complete inference systems for a class of GSOS languages generating regular behaviours. In Jonsson and Parrow [JP94], 449–464. (p 30)

[Ace94b] L. Aceto. GSOS and finite labelled transition systems. Theoretical Computer Science, 131, 181–195, 1994. (p 30)

[Ace94c] L. Aceto. A static view of localities. Formal Aspects of Computing, 6(2), 201– 222, 1994. (pp 9, 37)

[AD89] A. Arnold and A. Dicky. An algebraic characterisation of transition system equivalences. Information and Computation, 82, 198–229, 1989. (pp 27, 28,

50)

[ADCRDR89] G. Ausiello, M. Dezani-Ciancaglini, and S. Ronchi Della Rocca, (eds). ICALP 88, Lecture Notes in Computer Science 372. Springer-Verlag, 1989. (p 203)

[ADNF87] L. Aceto, R. De Nicola, and A. Fantechi. Testing equivalences for event structures. In Venturini Zilli [VZ87], 1–20. (p 7)

[AG92] E. Astesiano and Reggio G. Observational structures and their logic. Theoretical Computer Science, 96, 249–283, 1992. (p 31)

[AH93] L. Aceto and M. Hennessy. Towards action refinement in process algebras. Information and Computation, 103, 204–269, 1993. (pp 13, 26, 33, 37)

[AH94] L. Aceto and M. Hennessy. Adding action refinement to a finite process algebra. Information and Computation, 115, 179–247, 1994. (pp 13, 26, 33, 37)

[AI96] L. Aceto and A. Ingólfsdóttir. CPO models for compact GSOS languages. Information and Computation, 129, 107–141, 1996. (p 30)

[AJ95] L. Aceto and A. Jeffrey. A complete axiomatisation of timed bisimulation for a class of timed regular behaviours. Theoretical Computer Science, 152, 251–268,

1995. (p 17)

[AM91a] S. Abramsky and T.S.E. Maibaum, (eds). TAPSOFT ’91, Lecture Notes in Computer Science 493. Springer-Verlag, 1991. (p 204)

[AM91b] S. Abramsky and T.S.E. Maibaum, (eds). TAPSOFT ’91, Lecture Notes in Computer Science 494. Springer-Verlag, 1991. (p 204)

[AM96] L. Aceto and D. Murphy. Timing and causality in process algebra. Acta Informatica, 33, 317–350, 1996. (pp 13, 36)

[Apt84] K.R. Apt, (ed). Logics and models of concurrent systems, Volume F13 of Nato ASI Series. Springer-Verlag, 1984. (p 202)

[Arn90] A. Arnold, (ed). CAAP 90, Lecture Notes in Computer Science 431. Springer-Verlag, 1990. (p 204)

[Arn93] A. Arnold. Verification and comparison of transition systems. In Gaudel and Jouannaud [GJ93], 121–135. (pp 27, 28)

[AS92] C. Autant and Ph. Schnoebelen. Place bisimulations in Petri nets. In Jensen [Jen92], 45–61. (p 7)

[AS94] S. Abiteboul and E. Shamir, (eds). ICALP ’94, Lecture Notes in Computer Science 820. Springer-Verlag, 1994. (p 203)

[BB91a] J.C.M. Baeten and J.A. Bergstra. Real space process algebra. In Baeten and Groote [BG91], 96–110. (p 16)

[BB91b] J.C.M. Baeten and J.A. Bergstra. Real time process algebra. Formal Aspects of Computing, 3, 142–188, 1991. (p 16)

[BB93a] J.C.M. Baeten and J.A. Bergstra. Non interleaving process algebra. In Best [Bes93], 308–232. (p 22)

[BB93b] J.C.M. Baeten and J.A. Bergstra. Real space process algebra. Formal Aspects of Computing, 5, 481–529, 1993. (p 12)

[BB95] J.C.M. Baeten and J.A. Bergstra. Real time process algebra with infinitesimals. In Ponse et al. [PVvV95], 148–187. (p 16)

[BB96] J.C.M. Baeten and J.A. Bergstra. Discrete time process algebra. Formal Aspects of Computing, 8, 188–208, 1996. (p 17)

[BBK86] J.C.M. Baeten, J.A. Bergstra, and J.W. Klop. Syntax and defining equations for an interrupt mechanism in basic process algebra. Fundamenta Informatica, IX, 127–168, 1986. (p 18)

[BBS88] D.B. Benson and O. Ben-Shachar. Bisimulation of automata. Information and Computation, 79, 60–83, 1988. (p 28)

[BC88a] G. Boudol and I. Castellani. Concurrency and atomicity. Theoretical Computer Science, 59, 25–84, 1988. (p 7)

[BC88b] G. Boudol and I. Castellani. A non-interleaving semantics for CCS based on proved transitions. Fundamenta Informatica, XI, 433–452, 1988. (pp 19, 22)

[BC88c] G. Boudol and I. Castellani. Permutations of transitions: an event structure semantics for CCS and SCCS. In de Bakker et al. [dBdRR88], 411–427. (p 19)

[BC91] G. Boudol and I. Castellani. Observing localities. In Tarlecki [Tar91], 93–102.

(p 9)

[BC94] G. Boudol and I. Castellani. Flow models of distributed computations—three equivalent semantics for CCS. Information and Computation, 114, 247–314,

1994. (pp 7, 25)

[BCHK91a] G. Boudol, I. Castellani, M. Hennessy, and A. Kiehn. Observing localities. Technical Report 4/91, Computer Science, University of Sussex, 1991. (p 40)

[BCHK91b] G. Boudol, I. Castellani, M. Hennessy, and A. Kiehn. A theory of processes with localities. Technical Report 13/91, Computer Science, University of Sussex,

1991. (p 42)

[BCHK92] G. Boudol, I. Castellani, M. Hennessy, and A. Kiehn. A theory of processes with localities. In Cleaveland [Cle92], 108–122. (pp 8, 9, 22)

[BCHK93] G. Boudol, I. Castellani, M. Hennessy, and A. Kiehn. Observing localities. Theoretical Computer Science, 114, 31–61, 1993. (pp 9, 33, 35, 40, 42, 56, 59,

66)

[BCHK94] G. Boudol, I. Castellani, M. Hennessy, and A. Kiehn. A theory of processes with localities. Formal Aspects of Computing, 6(2), 165–200, 1994. (pp 8, 9, 33, 35,

36, 37, 41, 56, 57, 59, 66, 94)

[Bed87] M. Bednarczyk. Categories of asynchronous systems. Technical Report 3/87, PhD Thesis, Department of Computer Science, University of Sussex, 1987.

(p 22)

[Bes93] E. Best, (ed). CONCUR ’93, Lecture Notes in Computer Science 715. Springer-

Verlag, 1993. (pp 201, 202, 208, 209)

[BG91] J.C.M. Baeten and J.F. Groote, (eds). CONCUR ’91, Lecture Notes in Computer Science 527. Springer-Verlag, 1991. (pp 201, 202, 204, 205, 206, 207,

208)

[BG96] R. Bol and J.F. Groote. The meaning of negative premises in transition system specifications. Journal of the ACM, 43, 863–914, 1996. (p 29)

[BIM95] B. Bloom, S. Istrail, and A.R. Meyer. Bisimulation can’t be traced. Journal of the ACM, 42, 232–268, 1995. (p 29)

[BJKB^{+}93] E. Börger, G. Jäger, H. Kleine Büning, S. Martini, and M.M. Ritchter, (eds). CSL ’92, Lecture Notes in Computer Science 702. Springer-Verlag, 1993. (p 204)

[BK90] J.C.M. Baeten and J.W. Klop, (eds). CONCUR ’90, Lecture Notes in Computer Science 458. Springer-Verlag, 1990. (pp 206, 207, 209)

[BKLL95] E. Brinksma, J.-P. Katoen, R. Langerak, and D. Latella. A stochastic causalitybased process algebra. Computer Journal, 38, 552–565, 1995. (p 7)

[Blo95] B. Bloom. Structural operational semantics for weak bisimulations. Theoretical Computer Science, 146, 25–68, 1995. (pp 30, 175)

[BMC94] C. Baier and M.E. Majster-Cederbaum. The connection between event structure semantics and an operational semantics for TCSP. Acta Informatica, 31, 81–104, 1994. (p 7)

[Bou84] G. Boudol. Notes on algebraic calculi of processes. In Apt [Apt84], 261–303.

(p 5)

[BS93] A.M. Borzyszkowski and S. Sokolowski, (eds). MFCS ’93, Lecture Notes in Computer Science 711. Springer-Verlag, 1993. (pp 202, 206, 207)

[BV93] J.C.M. Baeten and C. Verhoef. A congruence theorem for structured operational semantics with predicates. In Best [Bes93], 477–492. (p 29)

[BVNW87] F.J. Brandenburg, G. Vidal-Naquet, and M. Wirsing, (eds). STACS ’87, Lecture Notes in Computer Science 247. Springer-Verlag, 1987. (p 209)

[Cam91] J. Camilleri. A conditional operator for CCS. In Baeten and Groote [BG91], 142–156. (p 18)

[Cas88] I. Castellani. Bisimulations for concurrency. Technical Report CST-51-88, PhD Thesis, Department of Computer Science, University of Edinburgh, 1988. (pp 8,

19, 28, 33, 35, 40, 157, 164, 193)

[Cas93] I. Castellani. Observing distribution in processes. In Borzyszkowski and Sokolowski [BS93], 321–331. (pp 35, 37, 41)

[Cas95] I. Castellani. Observing distribution in processes: static and dynamic localities. International Journal of Foundations of Computer Science, 6, 353–393, 1995.

(p 9)

[CdCC92] R.J. Coelha da Costa and J.-P. Courtiat. A causality-based semantics for CCS. In Purushothaman and Zwarico [PZ92]. (p 7)

[CDN94] A. Corradini and R. De Nicola. Distribution and locality of concurrent systems. In Abiteboul and Shamir [AS94], 154–165. (pp 9, 35, 41)

[CDN97] A. Corradini and R. De Nicola. Localitty based semantics for process algebras. Acta Informatica, 34, 291–324, 1997. (pp 8, 9, 35, 36, 40, 41)

[CFM90] A. Corradini, G.L. Ferrari, and U. Montanari. Transition systems with algebraic structure as models of computation. In Guessarian [Gue90], 185–222. (pp 19,

28)

[CH89] I. Castellani and M. Hennessy. Distributed bisimulations. Journal of the ACM, 36(4), 887–911, October 1989. (pp 8, 35)

[CH90] R. Cleaveland and M. Hennessy. Priorities in process algebra. Information and Computation, 87, 58–77, 1990. (p 18)

[Che92] L. Chen. An interleaving model for real-time systems. In Nerode and Taitslin [NT92], 81–92. (p 16)

[Che93] L. Chen. Timed processes: models, axioms and decidability. Technical Report CST-101-93, PhD Thesis, Department of Computer Science, University of Edinburgh, 1993. (p 16)

[Cle92] W.R. Cleaveland, (ed). CONCUR ’92, Lecture Notes in Computer Science 630.

Springer-Verlag, 1992. (pp 201, 204, 205, 206, 208)

[CLN96] R. Cleaveland, G. Lüttgen, and V. Natarajan. A process algebra with distributed priorities. [MS96], 34–49. (p 18)

[CW95] J. Camilleri and G. Winskel. CCS with priority choice. Information and Computation, 116, 26–37, 1995. (p 18)

[Dan91] M. Daniels. Modeling real-time behaviour with an interval time calculus. In Vytopil [Vyt91], 53–71. (p 16)

[dBdRR88] J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, (eds). Linear time, branching time and partial orders in logics and models for concurrency. Lecture Notes in Computer Science 354. Springer-Verlag, 1988. (pp 201, 203, 205, 206, 207)

[dBHdR92] J.W. de Bakker, C. HUizing, and G. de Roever, W.P. amd Rozenberg, (eds). Real-time: theory in practice, Lecture Notes in Computer Science 600. Springer-Verlag, 1992. (p 207)

[dBNT87] J.W. de Bakker, A.J. Nijman, and P.C. Treleaven, (eds). PARLE ’87, Lecture Notes in Computer Science 259. Springer-Verlag, 1987. (p 209)

[DD89] P. Darondeau and P. Degano. Causal trees. In Ausiello et al. [ADCRDR89],

234–248. (pp 7, 9, 35, 66)

[DD90] P. Darondeau and P. Degano. Causal trees, interleaving + causality. In Guessarian [Gue90], 239–255. (pp ix, 7, 8, 66)

[DDNM88a] P. Degano, R. De Nicola, and U. Montanari. A distributed operational semantics for CCS based on condition/event systems. Acta Informatica, 26, 59–91, 1988.

(pp 7, 28)

[DDNM88b] P. Degano, R. De Nicola, and U. Montanari. On the consistency of “truly concurrent” operational and denotational semantics. [LIC88], 133–141. (pp 7,

22)

[DDNM88c] P. Degano, R. De Nicola, and U. Montanari. Partial ordering descriptions and observations of nondeterministic concurrent processes. In de Bakker et al. [dBdRR88], 438–466. (p 7)

[DDNM90] P. Degano, R. De Nicola, and U. Montanari. A partial ordering semantics for CCS. Theoretical Computer Science, 75, 223–262, 1990. (p 22)

[DDNM92] P. Degano, R. De Nicola, and U. Montanari. Observation trees. In Purushothaman and Zwarico [PZ92]. (pp 21, 22, 26, 32)

[DDNM93] P. Degano, R. De Nicola, and U. Montanari. Universal axioms for bisimulations. Theoretical Computer Science, 114, 63–91, 1993. (pp 21, 22, 26, 32)

[DG93] P. Degano and R. Gorrieri. A causal operational semantics of action refinement. Information and Computation, 122, 97–119, 1993. (p 7)

[DM87a] P. Degano and U. Montanari. Concurrent histories: a basis for observing distributed systems. Journal of Computer and System Sciences, 34, 442–461, 1987.

(p 22)

[DM87b] P. Degano and U. Montanari. A model of distributed systems based on graph rewriting. Journal of the ACM, 34, 411–449, 1987. (p 7)

[DN87] R. De Nicola. Extensional equivalences for transition systems. Acta Informatica, 24, 211–237, 1987. (p 25)

[DP92] P. Degano and C. Priami. Proved trees. In Kuich [Kui92], 629–640. (pp 21, 22,

32)

[dS85] R. de Simone. Higher-level synchronising devices in Meije-SCCS. Theoretical Computer Science, 37, 245–267, 1985. (p 29)

[ES92] D. Etiemble and J.-C. Syre, (eds). PARLE ’92, Lecture Notes in Computer Science 605. Springer-Verlag, 1992. (p 204)

[Fan92] J. Fanchon. Dynamic concurrent processes. In Etiemble and Syre [ES92], 859–

874. (pp 12, 37)

[Fer93] T. Fernando. Comparative transition system semantics. In Börger et al. [BJKB^{+}93], 146–166. (p 25)

[FGM91] G.L. Ferrari, R. Gorrieri, and U. Montanari. An extended expansion theorem. In Abramsky and Maibaum [AM91a], 29–48. (p 19)

[FM90] G.L. Ferrari and U. Montanari. Toward the unification of models for concurrency. In Arnold [Arn90], 162–176. (pp 19, 28)

[FM91] G.L. Ferrari and U. Montanari. The observation algebra of spatial pomsets. In Baeten and Groote [BG91], 108–122. (p 19)

[FMM91] G.L. Ferrari, U. Montanari, and M. Mowbray. On causality observed incrementally, finally. In Abramsky and Maibaum [AM91b], 26–41. (p 28)

[FvG96] W. Fokkink and R. van Glabbeek. Ntyft/nyxt rules reduce to ntree rules. Information and Computation, 126, 1–10, 1996. (pp 31, 76, 92, 175)

[GJ93] M.-C. Gaudel and J.-P. Jouannaud, (eds). TAPSOFT ’93, Lecture Notes in Computer Science 668. Springer-Verlag, 1993. (p 201)

[GKP92] U. Goltz, R. Kuiper, and W. Peczek. Propositional temporal logics and eqivalences. In Cleaveland [Cle92], 222–236. (p 7)

[GL91] R. Gorrieri and C. Laneve. The limit of split_{n}-bisimulations for CCS agents. In

Tarlecki [Tar91], 170–180. (pp ix, 13, 26, 27, 28, 33, 38)

[GL94] R. Gerber and I. Lee. A resource-based prioritized bisimulation for real-time systems. Information and Computation, 113, 102–142, 1994. (p 18)

[GL95] R. Gorrieri and C. Laneve. Split and ST bisimulation semantics. Information and Computation, 118, 272–288, 1995. (p 7)

[GM84] U. Goltz and A. Mycroft. On the relationship of CCS and Petri nets. In Paredaens [Par84], 196–208. (p 7)

[Gol90] U. Goltz. CCS and Petri nets. In Guessarian [Gue90], 334–357. (p 7)

[Gro93] J.F. Groote. Transition systems specifications with negative premises. Theoretical Computer Science, 118, 263–299, 1993. (pp ix, 18, 29, 30)

[GRS95] R. Gorrieri, M. Roccetti, and E. Stancampiano. A theory of processes with durational actions. Theoretical Computer Science, 140, 73–94, 1995. (p 13)

[Gue90] I. Guessarian, (ed). Semantics of Systems of Concurrent Processes. Lecture Notes in Computer Science 469. Springer-Verlag, 1990. (pp 203, 205, 206,

209)

[GV92] J.F. Groote and F. Vaandrager. Structured operational semantics and bisimulation as a congruence. Information and Computation, 100, 202–260, 1992.

(pp 29, 72, 84, 97, 98)

[Hen88a] M. Hennessy. Axiomatising finite concurrent processes. SIAM Journal on Computing, 17(5), 997–1017, October 1988. (pp 13, 33)

[Hen88b] M. Hennessy. Observing processes. In de Bakker et al. [dBdRR88], 173–200.

(p 8)

[Hen91] M. Hennessy. A proof system for weak ST-bisimulation over a finite process algebra. Technical Report 6/91, Computer Science, University of Sussex, 1991.

(pp 13, 33, 35, 42)

[Hen95] M. Hennessy. Concurrent testing of processes. Acta Informatica, 32, 509–543,

1995. (p 13)

[Hil96] J. Hillston. A compositional approach to performance modelling. Cambridge University Press, 1996. (p 17)

[HR95] M. Hennessy and T. Regan. A process algebra for timed systems. Information and Computation, 117, 221–239, 1995. (p 17)

[HSZM93] C. Ho-Stuart, H.S.M. Zedan, and Fang. M. Congruent weak bisimulation with dense real-time. Information Processing Letters, 46, 55–61, 1993. (p 17)

[IPY93] P. Inverardi, C. Priami, and D. Yankelevich. Extended transition systems for parametric bisimulation. In Lingas et al. [LKC93], 558–569. (pp 22, 32)

[IPY94] P. Inverardi, C. Priami, and D. Yankelevich. Automatizing parametric reasoning on distributed concurrent systems. Formal Aspects of Computing, 6, 676–695,

1994. (pp 22, 26, 32)

[Jan94] T. Janowski. Fault-tolerant bisimulations and process transformations. In Langmaack et al. [LdRV94], 373–392. (p 24)

[Jef91a] A. Jeffrey. Abstract timed observation and process algebra. In Baeten and Groote [BG91], 332–345. (p 17)

[Jef91b] A. Jeffrey. Translating timed process algebra into prioritzed process algebra. In Vytopil [Vyt91], 493–506. (p 18)

[Jef92] A. Jeffrey. A linear time algebra. In Larsen and Skou [LS92a], 432–442. (p 16)

[Jen92] K. Jensen, (ed). 13th International Conference on Application and Theory of Petri Nets, Lecture Notes in Computer Science 616. Springer-Verlag, 1992.

(p 201)

[JM92] L. Jategaonkar and A. Meyer. Testing equivalence for Petri nets with action refinement. In Cleaveland [Cle92], 17–31. (p 7)

[JP94] B. Jonsson and J. Parrow, (eds). CONCUR ’94, Lecture Notes in Computer Science 836. Springer-Verlag, 1994. (pp 200, 206, 207)

[JS90] C.C. Jou and S.A. Smolka. Equivalences, congruences, and complete axiomatisations for probabilitics processes. In Baeten and Klop [BK90], 367–383. (pp 19,

26)

[KB92] B. Krieg-Brückner, (ed). ESOP ’92, Lecture Notes in Computer Science 582. Springer-Verlag, 1992. (p 206)

[KH94] A. Kiehn and M. Hennessy. On the decidability of non-interleaving process equivalences. In Jonsson and Parrow [JP94], 18–33. (pp 26, 176)

[Kie] A. Kiehn. Distributed bisimulation for finite CCS. Unpublished document. (p 8)

[Kie89] A. Kiehn. Distributed bisimulations for finite CCS. Technical Report 7/89, Computer Science, University of Sussex, 1989. (pp 8, 35)

[Kie93] A. Kiehn. Proof systems for cause based equivalences. In Borzyszkowski and Sokolowski [BS93], 547–556. (p 36)

[Kie94] A. Kiehn. Comparing locality and causality based equivalences. Acta Informat-

ica, 31(8), 697–718, 1994. (pp 7, 9, 26, 32, 33, 35, 41, 42, 57, 66, 157)

[KLP90] S. Kasangian, A. Labella, and A. Pettorossi. Observers, experiments and agents: a comprehensive approach to parallelism. In Guessarian [Gue90], 393–407. (p 25)

[Kri91] P. Krishnan. Distributed CCS. In Baeten and Groote [BG91], 393–407. (pp 11,

33, 36)

[Kri92] P. Krishnan. A semantics for multiprocessor systems. In Krieg-Brückner [KB92],

307–320. (pp 22, 33, 37)

[Kri94] P. Krishnan. A semantic characterisation for faults in replicated systems. Theoretical Computer Science, 128, 159–177, 1994. (pp 24, 33)

[Kri96] P. Krishnan. Architectural CCS. Formal Aspects of Computing, 162, 162–187,

1996. (pp 11, 22, 33, 36, 37, 155, 157)

[Kui92] W. Kuich, (ed). ICALP 92, Lecture Notes in Computer Science 623. Springer-Verlag, 1992. (pp 204, 207)

[LAMRA91] J. Leach Albert, B. Monien, and M. Rodríguez Artalejo, (eds). ICALP ’91, Lecture Notes in Computer Science 510. Springer-Verlag, 1991. (p 209)

[LdRV94] H. Langmaack, W.-P. de Roever, and J. Vytopil, (eds). Formal Techniques for Real-Time and Fault-Tolerant Systems, Lecture Notes in Computer Science 863. Springer-Verlag, 1994. (p 205)

[LIC88] LICS 88. Computer Science Press, 1988. (p 203)

[LIC92] LICS 92. IEEE Computer Society Press, 1992. (p 208)

[LKC93] A. Lingas, R. Karlsson, and S. Carlsson, (eds). ICALP ’93, Lecture Notes in Computer Science 700. Springer-Verlag, 1993. (p 205)

[LRT88] K. Lodaya, R. Ramanujam, and P.S. Thiagarajan. A logic from distributed transition systems. In de Bakker et al. [dBdRR88], 508–522. (p 24)

[LS92a] K.G. Larsen and A. Skou, (eds). CAV ’91, Lecture Notes in Computer Science 575. Springer-Verlag, 1992. (p 205)

[LS92b] K.G. Larsen and A. Skou. Compositional verificaton of probabilistic processes. In Cleaveland [Cle92], 456–471. (p 18)

[Lu93] R.Q. Lu. A true concurrency model of CCS semantics. Theoretical Computer Science, 113, 231–258, 1993. (p 7)

[Mes90] J. Meseguer. Rewriting as a unified model of concurrency. In Baeten and Klop [BK90], 384–400. (p 25)

[Mil89] R. Milner. Communication and concurrency. Prentice Hall, 1989. (pp 4, 5, 35)

[MN92] M. Mukund and M. Nielsen. CCC, locations and asynchronous transition systems. In Shyamasundar [Shy92], 328–341. (pp ix, 22, 23, 37)

[MS96] U. Montanari and V. Sassone, (eds). CONCUR ’96, Lecture Notes in Computer Science 1119. Springer-Verlag, 1996. (p 203)

[MT90] F. Moller and C. Tofts. A temporal calculus of communicating systems. In Baeten and Klop [BK90], 401–415. (pp 16, 17)

[Mur91] D. Murphy. Testing, betting and timed true concurrency. In Baeten and Groote [BG91], 439–454. (p 7)

[Mur93] D. Murphy. Observing located concurrency. In Borzyszkowski and Sokolowski [BS93], 473–484. (pp 7, 37)

[MY89] U. Montanari and D.N. Yankelevich. An algebraic view of interleaving and distributed operational semantics for CCS. In Pitt et al. [PRD^{+}89], 5–20. (p 25)

[MY92] U. Montanari and D.N. Yankelevich. A parametric approach to localities. In Kuich [Kui92], 617–628. (pp 21, 26, 35, 41)

[MY95] U. Montanari and D.N. Yankelevich. Location equivalence in a parametric setting. Theoretical Computer Science, 149, 299–332, 1995. (pp 21, 26)

[NC94] M. Nielsen and C. Clausen. Bisimulation for models in concurrency. In Jonsson and Parrow [JP94], 385–400. (p 22)

[NCCC94] V. Natarajan, I Christoff, L. Christoff, and R. Cleaveland. Priority and abstraction in process algebra. In Thiagarajan [Thi94], 217–230. (p 18)

[NRT92] M. Nielsen, G. Rozenburg, and P.S. Thiagarajan. Elementary transition systems. Theoretical Computer Science, 96, 3–33, 1992. (p 22)

[NS82] M. Nielsen and E.M. Schmidt, (eds). ICALP 82, Lecture Notes in Computer Science 140. Springer-Verlag, 1982. (p 209)

[NS92] X. Nicollin and J. Sifakis. An overview and synthesis on timed process algebras. In de Bakker et al. [dBHdR92], 526–548. (p 17)

[NS94] X. Nicollin and J. Sifakis. The algebra of timed processes, ATP—theory and application. Information and Computation, 114, 131–178, 1994. (p 17)

[NT92] A. Nerode and M. Taitslin, (eds). Symposuim on Logical Foundations of Computer Science, Lecture Notes in Computer Science 620. Springer-Verlag, 1992.

(p 203)

[OH86] E.-R. Olderog and C.A.R. Hoare. Specification-oriented semantics for communicating processes. Acta Informatica, 23, 9–66, 1986. (p 4)

[Old88] E.-R. Olderog. Strong bisimilarity on nets: a new concept for comparing net semantics. In de Bakker et al. [dBdRR88], 549–573. (p 7)

[Par84] J. Paredaens, (ed). ICALP 84, Lecture Notes in Computer Science 172. Springer-Verlag, 1984. (p 204)

[Plo88] G. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University, 1988. (p 4)

[Pom85] L. Pomello. Some equivalence notions for concurrent systems—an overview. In Rozenberg [Roz85], 381–400. (p 7)

[Pra95] K.V.S. Prasad. A calculus of broadcasting systems. Science of Computer Programming, 25, 285–327, 1995. (p 18)

[PRD^{+}89] D.H. Pitt, D.E. Rydeheard, P. Dybjer, A.M. Pitts, and A. Poigné, (eds). Category Theory and Computer Science. Lecture Notes in Computer Science 389. Springer-Verlag, 1989. (p 207)

[PRR94] I. Prívara, B. Rovan, and P. Ružička, (eds). NAPAW 92, Lecture Notes in Computer Science 841. Springer-Verlag, 1994. (p 208)

[PRS92] L. Pomello, G. Rozenberg, and C. Simone. A survey of equivalence notions for net based systems. In Rozenberg [Roz92], 410–472. (p 7)

[PVvV95] A. Ponse, C. Verhoef, and S.F.M. van Vlijmen, (eds). Algebra of Communicating Processes 94. Springer-Verlag, 1995. (p 201)

[PY94] C. Priami and D. Yankelvich. Read-write causality. In Prívara et al. [PRR94],

567–576. (pp 21, 35, 42)

[PZ92] S. Purushothaman and A. Zwarico, (eds). Participants’ proceedings of NAPAW 92. Technical Report 92-15, Department of Computer Science, John Hopkins University, 1992. (pp 202, 204)

[QdFA93] J. Quemada, D. de Frutos, and A. Azcorra. TIC: a timed calculus. Formal Aspects of Computing, 5, 224–252, 1993. (p 16)

[Roz85] G. Rozenberg, (ed). Advances in Petri nets 1985, Lecture Notes in Computer Science 222. Springer-Verlag, 1985. (p 207)

[Roz92] G. Rozenberg, (ed). Advances in Petri nets 1992, Lecture Notes in Computer Science 609. Springer-Verlag, 1992. (p 208)

[San96] D. Sangiorgi. Locality and interleaving semantics in calculi for mobile processes. Information and Computation, 155, 39–84, 1996. (p 9)

[Sch91] Ph. Schnoebelen. Experiments on processes with backtracking. In Baeten and Groote [BG91], 480–494. (p 25)

[Sch95] S. Schneider. An operational semantics for Timed CSP. Information and Computation, 116, 193–213, 1995. (p 16)

[Sha92] E. Shapiro. Embeddings among concurrent programming languages. In Cleaveland [Cle92], 486–504. (p 25)

[Shy92] R. Shyamasundar, (ed). FST&TCS 92, Lecture Notes in Computer Science 652. Springer-Verlag, 1992. (p 207)

[SNW93] V. Sassone, M. Neilsen, and G. Winskel. A classification of models for concurrency. In Best [Bes93], 308–232. (p 25)

[SS96] S. Smolka and B. Steffen. Priority as extremal probability. Formal Aspects of Computing, 8, 585–606, 1996. (p 19)

[Sta89] A. Stark. Concurrent transition systems. Theoretical Computer Science, 64, 221–269, 1989. (p 22)

[Tar91] A. Tarlecki, (ed). MFCS ’91, Lecture Notes in Computer Science 520. Springer-Verlag, 1991. (pp 201, 204)

[Tau90] D. Taubner. Representing CCS programs by finite predicate nets. Acta Informatica, 27, 533–565, 1990. (p 7)

[Thi94] P.S. Thiagarajan, (ed). Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computer Science 880. Springer-Verlag,

1994. (p 207)

[Tof94] C. Tofts. Processes with probabilities, priorities and time. Formal Aspects of Computing, 30, 536–564, 1994. (pp 6, 19)

[Uli92] I. Ulidowski. Equivalences on observable processes. [LIC92], 148–159. (p 30)

[Ver94] C. Verhoef. A general conservative extension theorem in process algebra. IFIP Transactions A, 56, 149–168, 1994. (pp 31, 97, 104)

[Ver95] C. Verhoef. A congruence theorem of structured operational semantics with predicates and negative premises. Nordic Journal of Computing, 2, 274–302,

1995. (p 29)

[vG87] R.J. van Glabbeek. Bounded nondeterminism and the approximation induction principle in process algebras. In Brandenburg et al. [BVNW87], 336–347. (p 4)

[vG90a] R.J. van Glabbeek. Comparative concurrency semantics and refinement of actions. PhD thesis, Free University, Amsterdam, 1990. (p 25)

[vG90b] R.J. van Glabbeek. The linear time—branching time spectrum. In Baeten and Klop [BK90], 278–297. (pp 25, 32, 56)

[vG93] R.J. van Glabbeek. The linear time—branching time spectrum II (the semantics of sequential systems with silent moves). In Best [Bes93], 66–81. (pp 25, 32)

[vGG90] R.J. van Glabbeek and U. Goltz. Equivalences and refinement. In Guessarian [Gue90], 309–333. (p 7)

[vGV87] R. van Glabbeek and F. Vaandrager. Petri net models for algebraic theories of concurrency. In de Bakker et al. [dBNT87], 224–242. (pp 7, 13)

[Vyt91] J Vytopil, (ed). Formal Techniques on Real-Time and Fault-Tolerant Systems, Lecture Notes in Computer Science 571. Springer-Verlag, 1991. (pp 203, 205)

[VZ87] M. Venturini Zilli, (ed). Proceedings of the Advanced School on Mathematical Models for the Semantics of Parallelism, Lecture Notes in Computer Science 280. Springer-Verlag, 1987. (p 200)

[Win82] G. Winskel. Event structures for CCS and related languages. In Nielsen and Schmidt [NS82], 561–576. (p 7)

[Yi90] Wang Yi. Real-time behaviour of asynchronous agents. In Baeten and Klop [BK90], 502–520. (pp 16, 17)

[Yi91] Wang Yi. CCS + time = an interleaving model for real-time systems. In Leach Albert et al. [LAMRA91], 217–228. (p 16)