A Theory of Encodings and Expressiveness (Extended Abstract)
Abstract
This paper proposes a definition of what it means for one system description language to encode another one, thereby enabling an ordering of system description languages with respect to expressive power. I compare the proposed definition with other definitions of encoding and expressiveness found in the literature, and illustrate it on a wellknown case study: the encoding of the synchronous in the asynchronous \(\pi \)calculus.
1 Introduction
This paper, like [16, 21], aims at answering the question what it means for one language to encode another one, and making the resulting definition applicable to order system description languages like CCS, CSP and the \(\pi \)calculus with respect to their expressive power.
To this end it proposes a unifying concept of valid translation between two languages up to a semantic equivalence or preorder. It applies to languages whose semantics interprets the operators and recursion constructs as operations on a set of values, called a domain. Languages can be partially ordered by their expressiveness up to the chosen equivalence or preorder according to the existence of valid translations between them.
The concept of a [valid] translation between system description languages (or process calculi) was first formally defined by Boudol [3]. There, and in most other related work in this area, the domain in which a system description language is interpreted consists of the closed expressions from the language itself. In [14] I have reformulated Boudol’s definition, while dropping the requirement that the domain of interpretation is the set of closed terms. This allows (but does not enforce) a clear separation of syntax and semantics, in the tradition of universal algebra. Nevertheless, the definition employed in [14] only deals with the case that all (relevant) elements in the domain are denotable as the interpretations of closed terms. In [16] situations are described where such a restriction is undesirable. In addition, both [3, 14] require the semantic equivalence \(\sim \) under which two languages are compared to be a congruence for both of them. This is too severe a restriction to capture many recent encodings [1, 2, 7, 30, 31, 33, 38, 43].
In [16] I alleviated these two restrictions by proposing two notions of encoding: correct and valid translations up to \(\sim \). Each of them generalises the proposals of [3, 14]. The former drops the restriction on denotability as well as \(\sim \) being a congruence for the whole target language, but it requires \(\sim \) to be a congruence for the source language, as well as for the source’s image within the target. The latter drops both congruence requirements (and allows \(\sim \) to be a preorder rather than an equivalence), but at the expense of requiring denotability by closed terms. In situations where \(\sim \) is a congruence for the source language’s image within the target language and all semantic values are denotable, the two notions agree.
The current paper further generalises the work of [16] by proposing a new notion of a valid translation that incorporates the correct and valid translations of [16] as special cases. It drops the congruence requirements as well as the restriction on denotability.
As in [16], my aim is to generalise the concept of a valid translation as much as possible, so that it is uniformly applicable in many situations, and not just in the world of process calculi. Also, it needs to be equally applicable to encodability and separation results, the latter saying that an encoding of one language in another does not exists. At the same time, I try to derive this concept from a unifying principle, rather than collecting a set of criteria that justify a number of known encodability and separation results that are intuitively justified.
Overview of the Paper. Section 2 defines my new concept of a valid translation up to a semantic equivalence or preorder Open image in new window . Roughly, a valid translation of one language into another is a mapping from the expressions in the first language to those in the second that preserves their meaning, i.e. such that the meaning of a translated expression is semantically equivalent to the meaning of the original.
Section 3 shows that this concept generalises the notion of a correct translation from [16]: a translation is correct up to a semantic equivalence \(\sim \) iff it is valid up to \(\sim \) and \(\sim \) is a congruence for the source language as well as for the image of the source language within the target language.
Likewise, [18]—the full version of this paper—establishes the coincidence of my validitybased notion of expressiveness with the one from [16] when applying both to languages for which all semantic values are denotable by closed terms.
One language is said to be at least as expressive as another up to Open image in new window iff there exists a valid translation up to Open image in new window of the latter language into the former. Section 4 shows that “being at least as expressive as” is a preorder on languages. This expressiveness preorder depends on the choice of Open image in new window , and a coarser choice (making less distinctions) yields a richer preorder of expressiveness inclusions.
Section 6 illustrates the framework on a wellknown case study: the encoding of the synchronous in the asynchronous \(\pi \)calculus.

on the source language coincides with the congruence closure of \(\sim \)

on the image of the source within the target language also coincides with the congruence closure of \(\sim \)

melts each equivalence class of the source with exactly one of the target.
Section 9 concludes that the framework established thus far is great for comparing the expressiveness of languages, but falls short for the purpose of combining language features. This requires a congruence reflection theorem, provided in Sect. 12, for languages satisfying postulates formulated in Sects. 5, 10 and 11.
Section 12 defines when a translation is compositional, and shows that any valid translation up to Open image in new window can be modified into a compositional translation valid up to Open image in new window . This requires restricting attention to languages and preorders Open image in new window that satisfy some mild sanity requirements—the postulates of Sects. 10 and 11. Hence, for the purpose of comparing the expressive power of languages, valid translations between them may be presumed compositional.
Section 13 compares my approach with the one of Gorla [21], and concludes. Omitted proofs and counterexamples (marked by ¶) can be found in [18].
2 Languages, Valid Translations, and Expressiveness
A language consists of syntax and semantics. The syntax determines the valid expressions in the language. The semantics is given by a mapping Open image in new window that associates with each valid expression its meaning, which can for instance be an object, concept or statement.
Following [16], I represent a language \(\mathcal{L}\) as a pair Open image in new window of a set Open image in new window of valid expressions in \(\mathcal{L}\) and a mapping Open image in new window from Open image in new window in some set of meanings \(\mathcal{D}_\mathcal{L}\).
Definition 1
([16]). A translation from a language \(\mathcal{L}\) into a language \(\mathcal{L}'\) is a mapping Open image in new window .
In this paper, I consider singlesorted languages \(\mathcal{L}\) in which expressions or terms are built from variables (taken from a set \(\mathcal {X}\)) by means of operators (including constants) and possibly recursion constructs. For such languages the meaning Open image in new window of an \(\mathcal{L}\)expression \(E\) is a function of type \((\mathcal {X}\mathbin {\rightarrow }\mathbf{V})\mathbin {\rightarrow }\mathbf{V}\) for a given sets of values \(\mathbf{V}\). It associates a value Open image in new window to E that depends on the choice of a valuation \(\rho \!:\mathcal {X}\!\!\!\rightarrow \!\mathbf{V}\). The valuation associates a value from \(\mathbf{V}\) with each variable.
Since normally the names of variables are irrelevant and the cardinality of the set of variables satisfies only the requirement that it is “sufficiently large”, no generality is lost by insisting that two (system description) languages whose expressiveness is being compared employ the same set of (process) variables. On the other hand, two languages \(\mathcal{L}\) and \(\mathcal{L}'\) may be interpreted in different domains of values \(\mathbf{V}\) and \(\mathbf{V}'\!\).
Correct and a valid translations up to a semantic equivalence or preorder Open image in new window were introduced in [16]. Here I redefine these concepts in terms of a new concept of correctness w.r.t. a semantic translation.
Definition 2
Let \(\mathbf{V}\) and \(\mathbf{V}'\) be domains of values in which two languages \(\mathcal{L}\) and \(\mathcal{L}'\) are interpreted. A semantic translation from \(\mathbf{V}\) into \(\mathbf{V}'\) is a relation \(\mathord {\mathbf{R}}\subseteq \mathbf{V}'\times \mathbf{V}\) such that Open image in new window .
Thus every semantic value in \(\mathbf{V}\) needs to have a counterpart in \(\mathbf{V}'\)—possibly multiple ones. For valuations \(\eta :\mathcal {X}\rightarrow \mathbf{V}'\), \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) I write \(\eta \, \mathbf{R}\, \rho \) iff \(\eta (X)\,\mathbf{R}\, \rho (X)\) for each \(X \in \mathcal {X}\).
Definition 3
A translation Open image in new window is correct w.r.t. a semantic translation \(\mathbf{R}\) if Open image in new window for all expressions Open image in new window and all valuations \(\eta :\mathcal {X}\rightarrow \mathbf{V}'\) and \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\eta \, \mathbf{R}\, \rho \).
Thus \(\mathcal{T}\) is correct iff the meaning of the translation of an expression E is a counterpart of the meaning of E, no matter what values are filled in for the variables, provided that the value filled in for a given variable X occurring in the translation \(\mathcal{T}(E)\) is a counterpart of the value filled in for X in E.
Definition 4
A translation Open image in new window is correct up to Open image in new window iff Open image in new window is an equivalence, the restriction \(\mathbf{R}\) of Open image in new window to \(\mathbf{V}'\times \mathbf{V}\) is a semantic translation, and \(\mathcal{T}\) is correct w.r.t. \(\mathbf{R}\).
Definition 5
A translation \(\mathcal{T}\) is valid up to Open image in new window iff it is correct w.r.t. some semantic translation Open image in new window . Language \(\mathcal{L}'\) is at least as expressive as \(\mathcal{L}\) up to Open image in new window if a translation valid up to Open image in new window from \(\mathcal{L}\) into \(\mathcal{L}'\) exists.
Example 4 in [18] illustrates both notions and shows their difference.
3 Correct = Valid + Congruence
Definition 6
([16]). A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is correct up to \(\sim \) iff (1) holds and Open image in new window for all Open image in new window and all valuations \(\eta :\mathcal {X}\rightarrow \mathbf{V}'\) and \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\eta \sim \rho \).
Note that this definition agrees completely with Definition 4. Requirement (1) above corresponds to \(\mathbf{R}\) being a semantic translation in Definition 4.
If a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\) exists, then \(\sim \) must be a congruence for \(\mathcal{L}\).
Definition 7
An equivalence relation \(\sim \) is a congruence for a language \(\mathcal{L}\) interpreted in a semantic domain \(\mathbf{V}\) if Open image in new window for any \(\mathcal{L}\)expression E and any valuations \(\nu ,\rho \!:\mathcal {X}\rightarrow \mathbf{V}\) with \(\nu \sim \rho \).^{2}
Proposition 1
([16]). If \(\mathcal{T}\!\!\) is a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\!\!\), then \(\sim \) is a congruence for \(\mathcal{L}\!\!\).
The existence of a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\) does not imply that \(\sim \) is a congruence for \(\mathcal{L}'\). However, \(\sim \) has the properties of a congruence for those expressions of \(\mathcal{L}'\) that arise as translations of expressions of \(\mathcal{L}\), when restricting attention to valuations into Open image in new window . In [16] this called a congruence for \(\mathcal{T}(\mathcal{L})\).
Definition 8
Let Open image in new window be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\). An equivalence \(\sim \) on \(\mathbf{V}'\) is a congruence for \(\mathcal{T}(\mathcal{L})\) if Open image in new window for any Open image in new window and \(\theta ,\eta \!:\!\mathcal {X}\!\!\!\rightarrow \!\mathbf{U}\) with \(\theta \mathbin \sim \eta \).
Proposition 2
([16]). If \(\mathcal{T}\) is a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\), then \(\sim \) is a congruence for \(\mathcal{T}(\mathcal{L})\).
The following theorem tells that the notion of validity proposed in Sect. 2 can be seen as a generalisation of the notion of correctness from [16] that applies to equivalences (and preorders) Open image in new window that need not be congruences for \(\mathcal{L}\) or \(\mathcal{T}(\mathcal{L})\).
Theorem 1
A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is correct up to a semantic equivalence \(\sim \) iff it is valid up to \(\sim \) and \(\sim \) is a congruence for \(\mathcal{T}(\mathcal{L})\). ¶
4 A Hierarchy of Expressiveness Preorders
An equivalence or preorder Open image in new window on a class \(\mathbf{Z}\) is said to be finer, stronger, or more discriminating than another equivalence or preorder Open image in new window on \(\mathbf{Z}\) if Open image in new window for all Open image in new window .
Observation 1
Let Open image in new window be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\), and let Open image in new window be finer than Open image in new window . If \(\mathcal{T}\) is valid up to Open image in new window , then it is also valid up to Open image in new window .
The quality of a translation depends on the choice of the equivalence or preorder up to which it is valid. Any two languages are equally expressive up to the universal equivalence, relating any two processes. Hence, the equivalence or preorder needs to be chosen carefully to match the intended applications of the languages under comparison. In general, as shown by Observation 1, using a finer equivalence or preorder yields a stronger claim that one language can be encoded in another. On the other hand, when separating two languages \(\mathcal{L}\) and \(\mathcal{L}'\) by showing that \(\mathcal{L}\) cannot be encoded in \(\mathcal{L}'\), a coarser equivalence yields a stronger claim.
Observation 2
The identity is a valid translation up to any preorder from any language into itself.
Theorem 2
If valid translations up to Open image in new window exists from \(\mathcal{L}_1\) into \(\mathcal{L}_2\) and from \(\mathcal{L}_2\) into \(\mathcal{L}_3\), then there is a valid translation up to Open image in new window from \(\mathcal{L}_1\) into \(\mathcal{L}_3\). ¶
Theorem 2 and Observation 2 show that the relation “being at least as expressive as up to Open image in new window ” is a preorder on languages.
5 ClosedTerm Languages

Open image in new window for each variable \(X\in \mathcal {X}\),

Open image in new window for each nary operator f and expressions Open image in new window ,

and clauses for the other constructs, if any.
Examples of other constructs are the infinite summation operator \(\sum _{i\in I}E_i\) of CCS, which takes arbitrary many arguments, or the recursion construct \(\mu X.E\), that has one argument, but binds all occurrences of X in that argument.
In general a construct has a number (possibly infinite) of argument expressions and it may bind certain variables within some of its arguments—the scope of the binding. An occurrence of a variable X in an expression is bound if it occurs within the scope of a construct that binds X, and free otherwise.
The set Open image in new window of closed terms of \(\mathcal{L}\) consists of those \(\mathcal{L}\)expressions Open image in new window with \({ fv}(E)=\emptyset \). If \(P\in \mathrm{T}_\mathcal{L}\) and \(\mathbf{V}\ne \emptyset \) then Open image in new window is independent of the choice of \(\rho :\mathcal {X}\rightarrow \mathbf{V}\), and therefore denoted Open image in new window .
Definition 9
A substitution in \(\mathcal{L}\) is a partial function Open image in new window from the variables to the \(\mathcal{L}\)expressions. For a given \(\mathcal{L}\)expression Open image in new window , Open image in new window denotes the \(\mathcal{L}\)expression E in which each free occurrence of a variable \(X\in { dom}(\sigma )\) is replaced by \(\sigma (X)\), while renaming bound variables in E so as to avoid a free variable Y occurring in an expression \(\sigma (X)\) ending up being bound in \(E[\sigma ]\). A substitution is closed if it has the form \(\sigma :\mathcal {X}\rightarrow \mathrm{T}_\mathcal{L}\).
An important class of languages used in concurrency theory are the ones where the distinction between syntax and semantic is effectively dropped by taking \(\mathbf{V}=\mathrm{T}_\mathcal{L}\), i.e. where the domain of values where the language is interpreted in consists of the closed terms of the language. Here a valuation is the same as a closed substitution, and Open image in new window for Open image in new window and \(\rho :\mathcal {X}\rightarrow \mathrm{T}_\mathcal{L}\) is defined to be \(E[\rho ]\in \mathrm{T}_\mathcal{L}\). I will call such languages closedterm languages.
6 Translating a Synchronous into an Asynchronous \(\pi \)
As an illustration of the concepts introduced above, consider the \(\pi \)calculus as presented in [28], i.e., the one of [44] without matching, \(\tau \)prefixing, and choice.
Closed process expressions are called processes. The \(\pi \)calculus is usually presented as a closedterm language, in that the semantic value associated with a closed term is simply itself. Yet, the real semantics is given by a reduction relation between processes, defined below.
Definition 10
Definition 11
Let \(\Longrightarrow \) be the reflexive and transitive closure of \(\rightarrow \). The observable behaviour of \(\pi \)calculus processes is often stated in terms of the outputs they can produce (abstracting from the value communicated on an output channel).
Definition 12
A common semantic equivalence applied in the \(\pi \)calculus is weak barbed congruence [29, 44].
Definition 13

Open image in new window and \(P{\downarrow _{\bar{x}}}\) implies \(Q{\Downarrow _{\bar{x}}}\), and

Open image in new window and \(P \Longrightarrow P'\) implies \(Q \Longrightarrow Q'\) for some \(Q'\) with Open image in new window .
Often input barbs, defined similarly, are included in the definition of weak barbed bisimilarity [44]. This is known to induce the same notion of weak barbed congruence [44]. Another technique for defining weak barbed congruence is to use a barb, or set of barbs, external to the language under investigation, that are added to the language as constants [21], similar to the theory of testing of [9]. This method is useful for languages with a reduction semantics that do not feature a clear notion of barb, or where there is ambiguity in which barbs should be counted and which not, or for comparing languages with different kinds of barb.
Example 1
\(\bar{x} z.\mathbf 0 \not \cong ^c (\nu u)(\bar{x} u .\mathbf 0  u(v). \bar{v} z. \mathbf 0 )\).
For let \(E := X  x(u).\bar{u} v.\mathbf 0 \) with \(\rho (X)=\bar{x} z.\mathbf 0 \) and \(\zeta (X)=(\nu u)(\bar{x} u.\mathbf 0  u(v). \bar{v} z. \mathbf 0 )\).
Then \(E[\zeta ] \rightarrow (\nu u)\big (u(v). \bar{v} z. \mathbf 0  \bar{u} v.\mathbf 0 \big ) \rightarrow (\bar{v} z. \mathbf 0 ){\downarrow _{\bar{v}}}\) but Open image in new window .
The asynchronous \(\pi \)calculus, as introduced by Honda and Tokoro in [24] and by Boudol in [4], is the sublanguage \(\mathrm a\pi \) of the fragment \(\pi \) of the \(\pi \)calculus presented above where all subexpressions \(\bar{x} y.E\) have the form \(\bar{x} y.\mathbf 0 \). Asynchronous barbed congruence, \(\cong ^c_\mathrm{a}\), is the largest congruence for the asynchronous \(\pi \)calculus included in Open image in new window . Since \(a\pi \) is a sublanguage of \(\pi \), \(\cong ^c_\mathrm{a}\) is at least as coarse an equivalence as \(\cong ^c\), i.e. \({\cong ^c} \subseteq {\cong ^c_\mathrm{a}}\). The inclusion is strict, since \(!x(z).\bar{x} z.\mathbf 0 \cong ^c_\mathrm{a} \mathbf 0 \), yet \(!x(z).\bar{x} z.\mathbf 0 \not \cong ^c \mathbf 0 \) [44]. Since all expressions used in Example 1 belong to \(\mathrm a\pi \), one even has \(\bar{x} z.\mathbf 0 \not \cong ^c_\mathrm{a} (\nu u)(\bar{x} u .\mathbf 0  u(v). \bar{v} z. \mathbf 0 )\).
7 Congruence Closure
Definition 14
An equivalence relation \(\sim \) is a 1hole congruence for a language \(\mathcal{L}\) interpreted in a semantic domain \(\mathbf{V}\) if Open image in new window for any \(\mathcal{L}\)expression E and any valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\nu \sim ^1 \rho \). Here \(\nu ,\rho \) are \(\sim ^1\)equivalent, \(\nu \mathbin \sim ^1\rho \), if \(\nu (X)\mathbin \sim \rho (X)\) for some \(X\mathbin \in \mathcal {X}\) and \(\nu (Y)\mathbin =\rho (Y)\) for all variables \(Y\mathbin {\ne } X\).
An nhole congruence for any finite Open image in new window can be defined in the same vain, and it is well known and easy to check that a 1hole congruence \(\sim \) is also an nhole congruence, for any Open image in new window . However, in the presence of operators with infinitely many arguments, a 1hole congruence need not be a congruence.
Example 2
Let \(\mathbf{V}\) be Open image in new window , with the wellorder \(\le \) on \(\mathbf{V}\) inherited lexicographically from the default order on Open image in new window and \(\infty \) the largest element. So \((n,m) \le (n',m')\) iff \(n\le n' \vee (n=m \wedge m\le m')\). Consider the language \(\mathcal{L}\) with constants 0, 1 and (1), interpreted in \(\mathbf{V}\) as (0, 0), (1, 0) and (0, 1), respectively, the binary operator \(+\), interpreted by \((n_1,m_1) +^{\!\mathbf{V}} (n_2,m_2) = (n_1\mathord +n_2,m_1\mathord +m_2)\) and \(\infty +E=E+\infty =\infty \), and the construct \(\sup (E_i)_{i\in I}\) that takes any number of arguments (dependent on the set of the index sets I). The interpretation of \(\sup \) in \(\mathbf{V}\) is to take the supremum of its arguments w.r.t. the wellorder \(\le \). In case \(\sup \) is given finitely many arguments, it simply returns the largest. However Open image in new window .
It is well known and easy to check that the collection of equivalence relations on any domain \(\mathbf{V}\), ordered by inclusion, forms a complete lattice—namely the intersection of arbitrary many equivalence relations is again an equivalence relation. Likewise, the collection of 1hole congruences for \(\mathcal{L}\) is also a complete lattice, and moreover a complete sublattice of the complete lattice of equivalence relations on \(\mathbf{V}\). The latter implies that for any collection C of 1hole congruence relations, the least equivalence relation that contains all elements of C (exists and) happens to be a 1hole congruence relation. Again, this is a property that is well known [22] and easy to prove. It follows that for any equivalence relation \(\sim \) there exists a largest 1hole congruence for \(\mathcal{L}\) contained in \(\sim \). I will denote this 1hole congruence by \(\sim ^{1c}_\mathcal{L}\), and call it the congruence closure of \(\sim \) w.r.t. \(\mathcal{L}\). One has Open image in new window for Open image in new window iff Open image in new window for any \(\mathcal{L}\)expression E and any valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with Open image in new window and Open image in new window for some \(X\in \mathcal {X}\) and \(\nu (Y)\mathbin =\rho (Y)\) for all \(Y\mathbin {\ne } X\). Such results do not generally hold for congruences.
Example 3
Continue Example 2, but skipping the operator \(+\). Let \(\sim _k\) be the equivalence on \(\mathbf{V}\) defined by \((n,m)\sim _k(n',m')\) iff \(n=n' \wedge (m=m' \vee m,m'\le k)\). It is easy to check that all \(\sim _k\) for Open image in new window are congruences on the reduced \(\mathcal{L}\), and contained in \(\sim \). Yet their least upper bound (in the lattice of equivalence relations on \(\mathbf{V}\)) is \(\sim \), which is not a congruence itself. In particular, there is no largest congruence contained in \(\sim \).
When dealing with languages \(\mathcal{L}\) in which all operators and other constructs have a finite arity, so that each Open image in new window contains only finitely many variables, there is no difference between a congruence and a 1hole congruence, and thus \(\sim ^{1c}_\mathcal{L}\) is a congruence relation for any equivalence \(\sim \). I will apply the theory of expressiveness presented in this paper also to languages like CCS that have operators (such as \(\sum _{i\in I}E_i\)) of infinite arity. However, in all such cases I’m currently aware of, the relevant choices of \(\mathcal{L}\) and \(\sim \) have the property that \(\sim ^{1c}_\mathcal{L}\) is in fact a congruence relation. As an example, consider weak bisimilarity [27]. This equivalence relation fails to be a congruence for \(\sum \). However, the coarsest 1hole congruence contained in this relation, often called rooted weak bisimilarity, happens to be a congruence. In fact, when congruenceclosing weak bisimilarity w.r.t. the binary sum, the result [15] is also a congruence for the infinitary sum, as well as for all other operators of CCS [27].
Definition 15
Let \(\mathcal{T}\) be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\). A subset \(\mathbf{W}\) of \(\mathbf{V}'\) is closed under \(\mathcal{T}(\mathcal{L})\) if Open image in new window for any expression Open image in new window and valuation \(\eta :\mathcal {X}\rightarrow \mathbf{W}\). An equivalence \(\sim \) on \(\mathbf{W}\) is a congruence (respectively 1hole congruence) for \(\mathcal{T}(\mathcal{L})\) on \(\mathbf{W}\) if for any Open image in new window and \(\theta ,\eta :\mathcal {X}\rightarrow \mathbf{W}\) with \(\theta \sim \eta \) (respectively \(\theta \sim ^1\eta \)) one has Open image in new window .
Proposition 3
Let \(\mathcal{T}\) be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\) that is correct w.r.t. a semantic translation \(\mathord {\mathbf{R}}\subseteq \mathbf{V}'\times \mathbf{V}\). Let Open image in new window . Then \(\mathord {\mathbf{R}}(\mathbf{V})\) is closed under \(\mathcal{T}(\mathcal{L})\).
Proof:
Let Open image in new window and \(\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\). Take \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\rho \mathbf{R}\eta \). Then Open image in new window . Since Open image in new window one has Open image in new window . \(\square \)
Proposition 4
Let the translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) be correct w.r.t. the semantic translation \(\mathord {\mathbf{R}}\subseteq \mathord {\sim }\). Then \(\sim \) is a (1hole) congruence for \(\mathcal{L}\) iff it is a (1hole) congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\).
Proof:
Now suppose \(\sim \) is a 1hole congruence for \(\mathcal{L}\). Let Open image in new window and \(\theta ,\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\) with \(\theta \sim ^1 \eta \). Then \(\theta (X)\sim \eta (X)\) for some \(X\in \mathcal {X}\) and \(\theta (Y)=\eta (Y)\) for all \(Y\ne X\). So there must be \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\theta \,\, \mathbf{R}\,\, \nu \), \(\eta \,\,\mathbf{R}\,\, \rho \) and \(\nu (Y)=\rho (Y)\) for all \(Y\ne X\). Since \(\nu (X)\sim \theta (X)\sim \eta (X)\sim \rho (X)\) it follows that \(\nu \sim ^1\rho \). The conclusion proceeds as above, and the other direction goes likewise. \(\square \)
The requirement of being a congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\) is slightly weaker than that of being a congruence for \(\mathcal{T}(\mathcal{L})\)—cf. Definition 8—for it proceeds by restricting attention to valuations into \(\mathord {\mathbf{R}}(\mathbf{V})\subseteq \mathbf{U}\). ¶
8 A Congruence Closure Property for Valid Translations
In many applications, semantic values in the domain of interpretation of a language \(\mathcal{L}\) are only meaningful up to a semantic equivalence \(\sim ^c\), and the intended semantic domain could just as well be seen as the set of \(\sim ^c\)equivalence classes of values. For this purpose it is essential that \(\sim ^c\) is a congruence for \(\mathcal{L}\). Often \(\sim ^c\) is the congruence closure of a coarser semantic equivalence \(\sim \), so that two values end up being identified iff they are \(\sim \)equivalent in every context. An example of this occurred in Sect. 6, with Open image in new window in the rôle of \(\sim \) and \(\cong ^c\) in the rôle of \(\sim ^c\). Now Theorem 4, contributed in this section, says that if a translation from \(\mathcal{L}\) into \(\mathcal{L}'\) is valid up to \(\sim \), then it is even valid up to an equivalence Open image in new window that extends \(\sim ^c\) from \(\mathbf{V}\) to a subdomain \(\mathbf{W}\) of \(\mathbf{V}'\) that suffices for the interpretation of translated expressions from \(\mathcal{L}\). This equivalence Open image in new window coincides with the congruence closure of \(\sim \) on \(\mathcal{L}\), as well as on \(\mathcal{T}(\mathcal{L})\), and melts each equivalence class of \(\mathbf{V}\) with exactly one of \(\mathbf{W}\), and vice versa.
Let \(\mathcal{L}\) and \(\mathcal{L}'\) be languages with Open image in new window and Open image in new window . In this section I assume that \(\mathbf{V}\cap \mathbf{V}'=\emptyset \). To apply the results to the general case, just adapt \(\mathcal{L}'\) by using a copy of \(\mathbf{V}'\)—any preorder Open image in new window on \(\mathbf{V}\cup \mathbf{V}'\) extends to this copy by considering each copied element Open image in new window equivalent to the original.
Definition 16
Given any semantic translation \(\mathbf{R}\), let \(\mathord {\equiv _{\mathbf{R}}} \subseteq (\mathbf{V}\cup \mathbf{V}')^2\) be the smallest equivalence relation on \(\mathbf{V}\cup \mathbf{V}'\) containing \(\mathbf{R}\).
Theorem 3
If a translation \(\mathcal{T}\) is correct w.r.t. the semantic translation \(\mathbf{R}\), then \(\equiv _{\mathbf{R}}\) is a 1hole congruence for \(\mathcal{L}\). ¶
By Proposition 4 \(\equiv _{\mathbf{R}}\) also is a 1hole congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\). Only the subset \(\mathord {\mathbf{R}}(\mathbf{V})\) of \(\mathbf{V}'\) matters for the purpose of translating \(\mathcal{L}\) into \(\mathcal{L}'\). On \(\mathbf{V}'\setminus \mathord {\mathbf{R}}(\mathbf{V})\) the equivalence \(\equiv _{\mathbf{R}}\) is the identity.
Theorem 4
Let \(\mathcal{T}\) be a translation from a language \(\mathcal{L}\), with semantic domain \(\mathbf{V}\), into a language \(\mathcal{L}'\), with domain \(\mathbf{V}'\), that is valid up to a semantic equivalence \(\sim \). Then \(\mathcal{T}\) is even valid up to a semantic equivalence Open image in new window , contained in \(\sim \), such that (1) the restriction of Open image in new window to \(\mathbf{V}\) is the largest 1hole congruence for \(\mathcal{L}\) contained in \(\sim \), (2) the set Open image in new window is closed under \(\mathcal{T}(\mathcal{L})\), and (3) the restriction of Open image in new window to \(\mathbf{W}\) is the largest 1hole congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathbf{W}\) that is contained in \(\sim \). ¶
Note that each equivalence class of Open image in new window on \(\mathbf{V}\cup \mathbf{W}\) melts an equivalence class of \(\sim ^{1c}_{\mathcal{L}\!,\mathbf{R}}\) on \(\mathbf{V}\) with one of Open image in new window on \(\mathbf{W}\). Moreover, on \(\mathbf{V}\) the relation is completely determined by \(\mathcal{L}\) and \(\sim \). However, in general the whole relation Open image in new window is not completely determined by \(\mathcal{L}\) and \(\sim \). ¶
Corollary 1
Let \(\mathcal{T}\) be a translation from a language \(\mathcal{L}\), with semantic domain \(\mathbf{V}\), into a language \(\mathcal{L}'\), with domain \(\mathbf{V}'\), valid up to a semantic equivalence \(\sim \), and suppose the congruence closure \(\sim _\mathcal{L}^1\) of \(\sim \) w.r.t. \(\mathcal{L}\) is in fact a congruence. Then \(\mathcal{T}\) is correct up to the equivalence Open image in new window described in Theorem 4. ¶
9 Integrating Language Features Through Translations
The results of the previous section show how valid translations are satisfactory for comparing the expressiveness of languages. If there is a valid translation \(\mathcal{T}\) from \(\mathcal{L}\) to \(\mathcal{L}'\) up to \(\sim \), and (as usual) \(\sim ^{1c}_\mathcal{L}\) is a congruence, then all truths that can be expressed in terms of \(\mathcal{L}\) can be mimicked in \(\mathcal{L}'\). For the congruence classes of \(\sim ^{1c}_\mathcal{L}\) translate bijectively to congruence classes of an induced equivalence relation on the domain of \(\mathcal{T}(\mathcal{L})\) (within the domain of \(\mathcal{L}'\)), and all operations on those congruence classes that can be performed by contexts of \(\mathcal{L}\) have a perfect counterpart in terms of contexts of \(\mathcal{T}(\mathcal{L})\). This state of affairs was illustrated on Boudol’s translation from a synchronous to an asynchronous \(\pi \)calculus.
There is however one desirable property of translations between languages that has not yet been achieved, namely to combine the powers of two languages into one unified language. If both languages \(\mathcal{L}_1\) and \(\mathcal{L}_2\) have valid translations into a language \(\mathcal{L}'\), then all that can be done with \(\mathcal{L}_1\) can be mimicked in a fragment of \(\mathcal{L}'\), and all that can be done with \(\mathcal{L}_2\) can be mimicked in another fragment of \(\mathcal{L}'\). In order for these two fragments to combine, one would like to employ a single congruence relation on \(\mathcal{L}'\) that specialises to congruence relations for \(\mathcal{T}_1(\mathcal{L}_1)\) and \(\mathcal{T}_2(\mathcal{L}_2)\), which form the counterparts of relevant congruence relations for the source languages \(\mathcal{L}_1\) and \(\mathcal{L}_2\).
In terms of the translation \(\mathcal{T}\) from \(\pi \) to \(\mathrm a\pi \), the equivalence \(\cong ^c_\mathrm{a}\) on \(\mathrm{T}_\mathrm{a\pi }\) would be the right congruence relation to consider for \(\mathrm a\pi \). Ideally, this congruence would extend to an equivalence \(\cong ^c_{\pi ,\mathrm a\pi }\) on the disjoint union \(\mathrm{T}_\pi \uplus \mathrm{T}_{a\pi }\), such that the restriction of \(\cong ^c_{\pi ,\mathrm a\pi }\) to \(\mathrm{T}_\pi \) is a congruence for \(\pi \). Necessarily, this congruence on \(\mathrm{T}_\pi \) would have to distinguish the terms \(\bar{x} z.\mathbf 0  \bar{x} z.\mathbf 0 \) and \(\bar{x}z.\bar{x} z \mathbf 0 \), since their translations are distinguished by \(\cong ^c_\mathrm{a}\). One therefore expects \(\cong ^c_{\pi ,\mathrm a\pi }\) on \(\mathrm{T}_\pi \) to be strictly finer than \(\cong ^c\). Here it is important that the union of \(\mathrm{T}_\pi \) and \(\mathrm{T}_{a\pi }\) on which this congruence is defined is required to be disjoint. For if one considers \(\mathrm{T}_{a\pi }\) as a subset of \(\mathrm{T}_\pi \), then we obtain that the restriction of \(\cong ^c_{\pi ,\mathrm a\pi }\) to that subset (1) coincides with \(\cong ^c_\mathrm{a}\) and (2) is strictly finer than \(\cong ^c\). This contradicts the fact that \(\cong ^c\) is strictly finer than \(\cong ^c_\mathrm{a}\).
In Sect. 12 I will show that such a congruence \(\cong ^c_{\pi ,\mathrm a\pi }\) indeed exists. In fact, under a few very mild conditions this result holds generally, provided that the source language \(\mathcal{L}\) is a closedterm language. ¶
10 A Unique Decomposition of Terms
The results of Sect. 12 apply only to languages satisfying two postulates, formulated below, and to preorders Open image in new window that “respect Open image in new window ”, defined in Sect. 11.
Definition 17
\(\alpha \)conversion is the act of renaming all occurrences of a bound variable X within the scope of its binding into another variable, say Y, while avoiding capture of free variables. Here one speaks of capture when a free occurrence of Y turns into a bound one.
Write Open image in new window if expression E can be converted into F by acts of \(\alpha \)conversion.
In languages where there are multiple types of bound variables, Open image in new window allows conversion of all of them. In a \(\pi \)calculus with recursion, for instance, there could be bound process variables \(X\mathbin \in \mathcal {X}\) as well as bound names \(x\mathbin \in \mathcal{N}\). The last two conversions in the right column of Definition 10 define \(\alpha \)conversion for names.
Postulate 1
([16], paraphrased). There exists a class of expressions called standard heads, and a class of substitutions called standard substitutions, such that for each expression E, if not a variable, there are unique standard heads H and substitutions \(\sigma \) such that Open image in new window .
A term f(c, g(c)), for instance, can be written as \(H[\sigma ]\) where \(H=f(X_1,X_2)\) is a head, and Open image in new window is given by \(\sigma (X_1)=c\) and \(\sigma (X_2)=g(c)\). The head H is standardised by means of a particular (arbitrary) choice for its argument variables \(X_1\) and \(X_2\). \(\sigma \) is standardised through a particular choice of the bound variables that may occur in the expressions \(\sigma (X)\). A head for a recursive expression \(\mu X.f(g(c),g(g(X)))\) is \(\mu X.f(Y,g(g(X)))\). See [16] for further detail.
This postulate is easy to show for each common type of system description language, and I am not aware of any counterexamples. However, while striving for maximal generality, I consider languages with (recursionlike) constructs that are yet to be invented, and in view of those, this principle has to be postulated rather than derived.
11 Invariance of Meaning Under \(\alpha \)conversion
Write Open image in new window , with Open image in new window , iff there are terms Open image in new window with Open image in new window , and a valuation \(\zeta :\mathcal {X}\rightarrow \mathbf{V}\) such that Open image in new window and Open image in new window . This relation is reflexive and symmetric.
Postulate 2
Open image in new window is an equivalence relation.
This postulate is needed in Sect. 12. I also need to restrict attention to preorders Open image in new window with Open image in new window . When that holds I say that the preorder Open image in new window respects Open image in new window . If (2) holds—which strengthens of Postulate 2—then any preorder respects Open image in new window .
12 Compositionality
An important property of translations, defined below, is compositionality. In this section show I that any valid translation up to a preorder Open image in new window can be modified into such a translation that moreover is compositional, provided one restricts attention to languages that satisfy Postulates 1 and 2, and preorders Open image in new window that respect Open image in new window .
Definition 18
 (1)
 (2)
Open image in new window implies Open image in new window for all Open image in new window ,
 (3)
and moreover \(\mathcal{T}(X)=X\) for each \(X\in \mathcal {X}\).
In case \(E=f(t_1,\ldots ,t_n)\) for certain Open image in new window this amounts to Open image in new window , where \(E_f:=\mathcal{T}(f(X_1,\ldots ,X_n))\) and \(E_f(u_1,\ldots ,u_n)\) denotes the result of the simultaneous substitution in this expression of the terms Open image in new window for the free variables \(X_i\), for \(i=1,\ldots ,n\). The first requirement of Definition 18 is more general and covers language constructs other than functions, such as recursion. Requiring equality rather than Open image in new window is too demanding. ¶
Lemma 1
If Open image in new window and Open image in new window are compositional translations, then so is their composition Open image in new window , defined by \(\mathcal{T}_2\circ \mathcal{T}_1(E):=\mathcal{T}_2(\mathcal{T}_1(E))\) for all \(E\in \mathcal{L}_1\).
Proof:
(1) Open image in new window for each Open image in new window and Open image in new window . Here the derivation of the first Open image in new window uses Property (2) of Definition 18—and this is the reason for requiring that property.
(2) Open image in new window implies Open image in new window and Open image in new window for all Open image in new window .
(3) \(\mathcal{T}_2(\mathcal{T}_1(X)) = \mathcal{T}_2(X)=X\) for each \(X\in \mathcal {X}\). \(\square \)
Theorem 5
Let \(\mathcal{L}\) and \(\mathcal{L}'\) be languages that satisfy Postulates 1 and 2, and Open image in new window a preorder that respects Open image in new window and Open image in new window . If any valid (or correct) translation from \(\mathcal{L}\) into \(\mathcal{L}'\) up to Open image in new window exists, then there exists a compositional translation that is valid (or correct) up to Open image in new window . ¶
Hence, for the purpose of comparing the expressive power of languages, valid translations between them can be assumed to be compositional. For correct translations this was already established in [16], but assuming (2), a stronger version of Postulate 2.
I can now establish the theorem promised in Sect. 9. In view of Theorem 5, no great sacrifices are made by assuming that the translation \(\mathcal{T}\) is compositional. Other “mild conditions” needed are Postulate 2 for \(\mathcal{L}'\) and \(\approx \) respecting Open image in new window .
Theorem 6
Let \(\mathcal{L}\) be a closedterm language and \(\mathcal{L}'\) a language that satisfies Postulate 2. Let \(\mathcal{T}\) be a compositional translation from \(\mathcal{L}\) into \(\mathcal{L}'\) that is valid up to \(\sim \). Let \(\approx \) be any congruence for \(\mathcal{L}'\) containing Open image in new window and contained in \(\sim \). Then \(\mathcal{T}\) is correct up to an equivalence \(\approx _{\mathcal{T}}\) on \(\mathbf{V}\cup \mathbf{V}'\), contained in \(\sim \), that on \(\mathbf{V}'\) coincides with \(\approx \). ¶
13 Related Work
The concept of full abstraction stems from Milner [26]. It indicates a satisfactory connection between a denotational and an operational semantics of a language. Riecke [42] and Shapiro [45] adapt this notion to translations between languages.
Definition 19
A translation Open image in new window is fully abstract w.r.t. the equivalences \( {\sim _\mathrm{S}} \mathbin \subseteq \mathrm{T}_{\mathcal{L}_\mathrm{S}}^2 \) and \( {\sim _\mathrm{T}} \mathbin \subseteq \mathrm{T}_{\mathcal{L}_\mathrm{T}}^2 \) if, for all \( P, Q \in \mathrm{T}_{\mathcal{L}_\mathrm{S}} \), \( P\sim _\mathrm{S}Q \Leftrightarrow \mathcal{T}(P) \sim _\mathrm{T}\mathcal{T}(Q).\)
In [42, 45], \(\sim _\mathrm{S}\) and \(\sim _\mathrm{T}\) are required to be congruence closures—see [18] for more detail. The simplified definition above was used in [1, 30, 31]. Fu [10] bases a theory of expressiveness on full abstraction, with a divergencepreserving form of barbed branching bisimilarity [19] in the rôle of \(\sim _\mathrm{S}\) and \(\sim _\mathrm{T}\). A comparison of full abstraction with the approach of the present paper appears in [18].
In the last twenty years, a great number of encodability and separation results have appeared, comparing CCS, Mobile Ambients, and several versions of the \(\pi \)calculus (with and without recursion; with mixed choice, separated choice or asynchronous) [1, 2, 5, 6, 7, 8, 11, 12, 13, 23, 30, 31, 32, 33, 34, 38, 39, 40, 41, 43, 46]; see [20, 21] for an overview. Many of these results employ different and somewhat adhoc criteria on what constitutes a valid encoding, and thus are hard to compare with each other. Several of these criteria are discussed and compared in [35, 36]. Gorla [21] collected some essential features of these approaches and integrated them in a proposal for a valid encoding that justifies most encodings and some separation results from the literature.
Like Boudol [3] and the present paper, Gorla requires a compositionality condition for encodings. However, his criterion is weaker than mine (cf. Definition 18) in that the expression \(E_f\) encoding an operator f may be dependent on the set of names occurring freely in the expressions given as arguments of f. This issue is further discussed in [16]. It is an interesting topic for future research to see if there are any valid encodability results à la [21] that suffer from my proposed strengthening of compositionality.
The second criterion of [21] is a form of invariance under namesubstitution. It serves to partially undo the effect of making the compositionality requirement namedependent. In my setting I have not yet found the need for such a condition. In [16] I argue that this criterion as formalised in [21] is too restrictive.
The remaining three requirements of Gorla (the ‘semantic’ requirements) are very close to an instantiation of mine with a particular preorder Open image in new window . If one takes Open image in new window to be weak barbed bisimilarity with explicit divergence (i.e. relating divergent states with divergent states only), using barbs external to the language, as discussed in Sect. 6, then an valid translation in my sense satisfies Gorla’s semantic criteria, provided that the equivalence \(\equiv \) on the target language that acts as a parameter in Gorla’s third criterion is also taken to be weak barbed bisimilarity with explicit divergence. The precise relationships between the proposals of [16, 21] are further discussed in [37].
Further work is needed to sort out to what extent the two approaches have relevant differences when evaluating encoding and separation results from the literature. Another topic for future work is to sort out how dependent known encoding and separation results are on the chosen equivalence or preorder.
Footnotes
 1.
I will be chiefly interested in the case that Open image in new window is an equivalence—hence the choice of a symbol that looks like \(\sim \). However, to establish Observation 2 and Theorem 2 below, it suffices to know that Open image in new window is reflexive and transitive. My convention is that the dotted end of Open image in new window points to a translation and the other end to an original—without offering an intuition for the possible asymmetry.
 2.
This is called a lean congruence in [17]; in the presence of recursion, stricter congruence requirements are common. Those are not needed in this paper.
References
 1.Baldamus, M., Parrow, J., Victor, B.: A fully abstract encoding of the picalculus with data terms. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 1202–1213. Springer, Heidelberg (2005). https://doi.org/10.1007/11523468_97CrossRefGoogle Scholar
 2.Boreale, M.: On the expressiveness of internal mobility in namepassing calculi. TCS 195(2), 205–226 (1998). https://doi.org/10.1016/S03043975(97)00220XMathSciNetCrossRefGoogle Scholar
 3.Boudol, G.: Notes on algebraic calculi of processes. In: Apt, K. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series, vol. 13, pp. 261–303. Springer, Heidelberg (1985). https://doi.org/10.1007/9783642824531_9CrossRefGoogle Scholar
 4.Boudol, G.: Asynchrony and the \(\pi \)calculus (Note). Technical report 1702, INRIA (1992)Google Scholar
 5.Busi, N., Gabbrielli, M., Zavattaro, G.: On the expressive power of recursion, replication and iteration in process calculi. Math. Struct. Comput. Sci. 19(6), 1191–1222 (2009). https://doi.org/10.1017/S096012950999017XMathSciNetCrossRefGoogle Scholar
 6.Cacciagrano, D., Corradini, F., Aranda, J., Valencia, F.D.: Linearity, persistence and testing semantics in the asynchronous picalculus. ENTCS 194(2), 59–84 (2008). https://doi.org/10.1016/j.entcs.2007.11.006MathSciNetzbMATHGoogle Scholar
 7.Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in picalculus. Nord. J. Comput. 10(2), 70–98 (2003)zbMATHGoogle Scholar
 8.Cardelli, L., Gordon, A.D.: Mobile ambients. TCS 240(1), 177–213 (2000). https://doi.org/10.1016/S03043975(99)00231–5MathSciNetCrossRefGoogle Scholar
 9.De Nicola, R., Hennessy, M.: Testing equivalences for processes. TCS 34, 83–133 (1984). https://doi.org/10.1016/03043975(84)901130MathSciNetCrossRefGoogle Scholar
 10.Fu, Y.: Theory of interaction. Theor. Comput. Sci. 611, 1–49 (2016). https://doi.org/10.1016/j.tcs.2015.07.043MathSciNetCrossRefGoogle Scholar
 11.GivenWilson, T.: Expressiveness via intensionality and concurrency. In: Ciobanu, G., Méry, D. (eds.) ICTAC 2014. LNCS, vol. 8687, pp. 206–223. Springer, Cham (2014). https://doi.org/10.1007/9783319108827_13CrossRefGoogle Scholar
 12.GivenWilson, T.: On the expressiveness of intensional communication. In: Proceedings of EXPRESS/SOS 2014. EPTCS, vol. 160, pp. 30–46 (2014). https://doi.org/10.4204/EPTCS.160.4MathSciNetCrossRefGoogle Scholar
 13.GivenWilson, T., Legay, A.: On the expressiveness of joining. In: Proceedings of ICE 2015. EPTCS, vol. 189, pp. 99–113 (2015). https://doi.org/10.4204/EPTCS.189.9MathSciNetCrossRefGoogle Scholar
 14.van Glabbeek, R.J.: On the expressiveness of ACP (extended abstract). In: Ponse, A., Verhoef, C., van Vlijmen, S.F.M. (eds.) ACP 1994. Workshops in Computing, pp. 188–217. Springer, London (1994). https://doi.org/10.1007/9781447121206_8. http://theory.stanford.edu/~rvg/abstracts.html#31CrossRefGoogle Scholar
 15.Glabbeek, R.J.: A characterisation of weak bisimulation congruence. In: Middeldorp, A., van Oostrom, V., van Raamsdonk, F., de Vrijer, R. (eds.) Processes, Terms and Cycles: Steps on the Road to Infinity. LNCS, vol. 3838, pp. 26–39. Springer, Heidelberg (2005). https://doi.org/10.1007/11601548_4CrossRefGoogle Scholar
 16.van Glabbeek, R.J.: Musings on encodings and expressiveness. In: Proceedings of EXPRESS/SOS 2012. EPTCS, vol. 89, pp. 81–98 (2012). https://doi.org/10.4204/EPTCS.89.7
 17.van Glabbeek, R.J.: Lean and full congruence formats for recursion. In: Proceedings of LICS 2017 (2017). https://doi.org/10.1109/LICS.2017.8005142
 18.van Glabbeek, R.J.: A theory of encodings and expressiveness (2018). http://theory.stanford.edu/~rvg/abstracts.html#tra. Full version of current paper
 19.van Glabbeek, R.J., Luttik, B., Trčka, N.: Branching bisimilarity with explicit divergence. Fund. Inform. 93(4), 371–392 (2009). https://doi.org/10.3233/FI2009109MathSciNetzbMATHGoogle Scholar
 20.Gorla, D.: A taxonomy of process calculi for distribution and mobility. Distrib. Comput. 23(4), 273–299 (2010). https://doi.org/10.1007/s0044601001206MathSciNetCrossRefGoogle Scholar
 21.Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. I&C 208(9), 1031–1053 (2010). https://doi.org/10.1016/j.ic.2010.05.002MathSciNetzbMATHGoogle Scholar
 22.Grätzer, G.: Lattice theory: foundation (2010). https://doi.org/10.1007/9783034800181
 23.Hatzel, M., Wagner, C., Peters, K., Nestmann, U.: Encoding CSP into CCS. In: Proceedings of EXPRESS/SOS 2015. EPTCS, vol. 190, pp. 61–75 (2015). https://doi.org/10.4204/EPTCS.190.5MathSciNetCrossRefGoogle Scholar
 24.Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991). https://doi.org/10.1007/BFb0057019CrossRefGoogle Scholar
 25.Lippert, C., Mennicke, S., van Glabbeek, R.J., Goltz, U.: A case study on evaluating encodings between process calculi. Technical report (2018). http://theory.stanford.edu/~rvg/abstracts.html#129
 26.Milner, R.: Processes: a mathematical model for computing agents. Stud. Log. Found. Math. 80, 157–173 (1975). https://doi.org/10.1016/S0049237X(08)719487. Logic Colloquium 1973MathSciNetCrossRefzbMATHGoogle Scholar
 27.Milner, R.: Operational and algebraic semantics of concurrent processes. In: Handbook of Theoretical Computer Science, Chap. 19, pp. 1201–1242 (1990)zbMATHGoogle Scholar
 28.Milner, R.: Functions as processes. Math. Struct. Comput. Sci. 2(2), 119–141 (1992). https://doi.org/10.1017/S0960129500001407MathSciNetCrossRefzbMATHGoogle Scholar
 29.Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 685–695. Springer, Heidelberg (1992). https://doi.org/10.1007/3540557199_114CrossRefGoogle Scholar
 30.Nestmann, U.: What is a “Good” encoding of guarded choice? I&C 156(1–2), 287–319 (2000). https://doi.org/10.1006/inco.1999.2822MathSciNetCrossRefzbMATHGoogle Scholar
 31.Nestmann, U., Pierce, B.C.: Decoding choice encodings. I&C 163(1), 1–59 (2000). https://doi.org/10.1006/inco.2000.2868. An earlier version appeared in Proc. CONCUR ’96MathSciNetCrossRefzbMATHGoogle Scholar
 32.Palamidessi, C.: Comparing the expressive power of the synchronous and asynchronous picalculi. Math. Struct. Comput. Sci. 13(5), 685–719 (2003). https://doi.org/10.1017/S0960129503004043CrossRefGoogle Scholar
 33.Palamidessi, C., Saraswat, V.A., Valencia, F.D., Victor, B.: On the expressiveness of linearity vs persistence in the asychronous picalculus. In: Proceedings of LICS 2006, pp. 59–68. IEEE Computer Society Press (2006). https://doi.org/10.1109/LICS.2006.39
 34.Parrow, J.: Trios in concert. In: Proof, Language, and Interaction, Essays in Honour of Robin Milner, pp. 623–638. The MIT Press (2000)Google Scholar
 35.Parrow, J.: Expressiveness of process algebras. In: ENTCS, vol. 209, pp. 173–186 (2008). https://doi.org/10.1016/j.entcs.2008.04.011MathSciNetCrossRefGoogle Scholar
 36.Peters, K.: Translational expressiveness. Comparing process calculi using encodings. Ph.D. thesis, TU Berlin (2012). https://doi.org/10.14279/depositonce3416
 37.Peters, K., van Glabbeek, R.J.: Analysing and comparing encodability criteria. In: EXPRESS/SOS 2015. EPTCS, vol. 190, pp. 46–60 (2015). https://doi.org/10.4204/EPTCS.190.4MathSciNetCrossRefGoogle Scholar
 38.Peters, K., Nestmann, U.: Is it a “Good” encoding of mixed choice? In: Birkedal, L. (ed.) FoSSaCS 2012, vol. 7213, pp. 210–224. Springer, Heidelberg (2012). https://doi.org/10.1007/9783642287299_14CrossRefzbMATHGoogle Scholar
 39.Peters, K., Nestmann, U.: Breaking symmetries. Math. Struct. Comput. Sci. 26(6), 1054–1106 (2016). https://doi.org/10.1017/S0960129514000346MathSciNetCrossRefzbMATHGoogle Scholar
 40.Peters, K., Nestmann, U., Goltz, U.: On distributability in process calculi. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 310–329. Springer, Heidelberg (2013). https://doi.org/10.1007/9783642370366_18CrossRefGoogle Scholar
 41.Phillips, I., Vigliotti, M.G.: Leader election in rings of ambient processes. TCS 356(3), 468–494 (2006). https://doi.org/10.1016/j.tcs.2006.02.004MathSciNetCrossRefzbMATHGoogle Scholar
 42.Riecke, J.G.: Fully abstract translations between functional languages. In: Proceedings of POPL 1991, pp. 245–254. ACM Press (1991). https://doi.org/10.1145/99583.99617
 43.Sangiorgi, D.: From \(\pi \)calculus to higherorder \(\pi \)calculus — and back. In: Gaudel, M.C., Jouannaud, J.P. (eds.) CAAP 1993. LNCS, vol. 668, pp. 151–166. Springer, Heidelberg (1993). https://doi.org/10.1007/3540566104_62CrossRefGoogle Scholar
 44.Sangiorgi, D., Walker, D.: The \(\pi \)calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
 45.Shapiro, E.Y.: Separating concurrent languages with categories of language embeddings. In: STOC 1991, pp. 198–208. ACM (1991). https://doi.org/10.1145/103418.103423
 46.Vigliotti, M.G., Phillips, I., Palamidessi, C.: Tutorial on separation results in process calculi via leader election problems. TCS 388(1–3), 267–289 (2007). https://doi.org/10.1016/j.tcs.2007.09.001MathSciNetCrossRefzbMATHGoogle Scholar
Copyright information
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this book are included in the book's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the book's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.