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 . 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 validity-based 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 iff there exists a valid translation up to 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 , and a coarser choice (making less distinctions) yields a richer preorder of expressiveness inclusions.

Section 6 illustrates the framework on a well-known case study: the encoding of the synchronous in the asynchronous \(\pi \)-calculus.

Section 7 discusses the congruence closure of a semantic equivalence for a given language, and remarks that in the presence of operators with infinite arity it is not always a congruence. Section 8 states a useful congruence closure property for valid translations: if a translation between two languages exists that is valid up a semantic equivalence \(\sim \), then it is even valid up to an equivalence that

  • 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. 510 and 11.

Section 12 defines when a translation is compositional, and shows that any valid translation up to can be modified into a compositional translation valid up to . This requires restricting attention to languages and preorders 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 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 of a set of valid expressions in \(\mathcal{L}\) and a mapping from 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 .

In this paper, I consider single-sorted 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 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 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}'\!\).

Let \(\mathcal{L}\) and \(\mathcal{L}'\) be languages as considered above, with semantic mappings

In order to compare these languages w.r.t. their expressive power I need a semantic equivalence or preorder that is defined on a unifying domain of interpretation \(\mathbf{Z}\), with \(\mathbf{V},\mathbf{V}' \subseteq \mathbf{Z}\).Footnote 1 Intuitively, with and means that values and are sufficiently alike for our purposes, so that one can accept a translation of an expression with meaning into an expression with meaning . Below, target values of a translation (in \(\mathbf{V}'\)) are written on the left.

Correct and a valid translations up to a semantic equivalence or preorder 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 .

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 is correct w.r.t. a semantic translation \(\mathbf{R}\) if for all expressions 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 is correct up to iff is an equivalence, the restriction \(\mathbf{R}\) of 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 iff it is correct w.r.t. some semantic translation . Language \(\mathcal{L}'\) is at least as expressive as \(\mathcal{L}\) up to if a translation valid up to from \(\mathcal{L}\) into \(\mathcal{L}'\) exists.

Example 4 in [18] illustrates both notions and shows their difference.

3 Correct = Valid + Congruence

In [16] the concept of a correct translation up to \(\sim \) was defined, for \(\sim \) a semantic equivalence on \(\mathbf{Z}\). Here two valuations \(\eta ,\rho :\mathcal {X}\rightarrow \mathbf{Z}\) are called \(\sim \)-equivalent, \(\eta \sim \rho \), if \(\eta (X)\sim \rho (X)\) for each \(X\in \mathcal {X}\). In case there exists a for which there is no \(\sim \)-equivalent , there is no correct translation from \(\mathcal{L}\) into \(\mathcal{L}'\) up to \(\sim \). Namely, the semantics of \(\mathcal{L}\) describes, among others, how any \(\mathcal{L}\)-operator evaluates the argument value , and this aspect of the language has no counterpart in \(\mathcal{L}'\). Therefore, [16] requires

(1)

This implies that for any valuation \(\rho \,{:}\,\mathcal {X}\rightarrow \mathbf{V}\) there is an \(\eta \,{:}\,\mathcal {X}\rightarrow \mathbf{V}'\) with \(\eta \sim \rho \).

Definition 6

([16]). A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is correct up to \(\sim \) iff (1) holds and for all 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 for any \(\mathcal{L}\)-expression E and any valuations \(\nu ,\rho \!:\mathcal {X}\rightarrow \mathbf{V}\) with \(\nu \sim \rho \).Footnote 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 . In [16] this called a congruence for \(\mathcal{T}(\mathcal{L})\).

Definition 8

Let be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\). An equivalence \(\sim \) on \(\mathbf{V}'\) is a congruence for \(\mathcal{T}(\mathcal{L})\) if for any 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) 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 on a class \(\mathbf{Z}\) is said to be finer, stronger, or more discriminating than another equivalence or preorder on \(\mathbf{Z}\) if for all .

Observation 1

Let be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\), and let be finer than . If \(\mathcal{T}\) is valid up to , then it is also valid up to .

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 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 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 ” is a preorder on languages.

5 Closed-Term Languages

The languages considered in this paper feature variables, operators of arity , and/or other constructs. The set of \(\mathcal{L}\)-expressions is inductively defined by:

  • for each variable \(X\in \mathcal {X}\),

  • for each n-ary operator f and expressions ,

  • 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 semantics of such a language is given, in part, by a domain of values \(\mathbf{V}\), and an interpretation of each n-ary operator f of \(\mathcal{L}\) as an n-ary operation \(f^\mathbf{V}: \mathbf{V}^n\rightarrow \mathbf{V}\) on \(\mathbf{V}\). Using the equations

this allows an inductive definition of the meaning of an \(\mathcal{L}\)-expression \(E\). Moreover, only depends on the restriction of \(\rho \) to the set \({ fv}(E)\) of variables occurring free in \(E\).

The set of closed terms of \(\mathcal{L}\) consists of those \(\mathcal{L}\)-expressions with \({ fv}(E)=\emptyset \). If \(P\in \mathrm{T}_\mathcal{L}\) and \(\mathbf{V}\ne \emptyset \) then is independent of the choice of \(\rho :\mathcal {X}\rightarrow \mathbf{V}\), and therefore denoted .

Definition 9

A substitution in \(\mathcal{L}\) is a partial function from the variables to the \(\mathcal{L}\)-expressions. For a given \(\mathcal{L}\)-expression , 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 for 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 closed-term 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.

Given a set of names \(\mathcal{N}\), the set of process expressions or terms E of the calculus is given by

$$\begin{aligned} E \,\, {:}{:=}\,\, X ~~\mid ~~ \mathbf 0 ~~\mid ~~ \bar{x}y.E ~~\mid ~~ x(z).E ~~\mid ~~ E|E' ~~\mid ~~ (\nu z)E ~~\mid ~~ !E \end{aligned}$$

with xyz ranging over \(\mathcal{N}\), and X over \(\mathcal {X}\), the set of process variables. Process variables are not considered in [44], although they are common in languages like CCS [27] that feature a recursion construct. Since process variables form a central part of my notion of a valid or correct translation, here they have simply been added. This works generally. In Sect. 12 I show that for the purpose of accessing whether one language is as expressive as another, translations between them can be assumed to be compositional. This important result would be lost if process variables were dropped from the language. In that case compositionality would need to be stated as a separate requirement for valid translations.

Closed process expressions are called processes. The \(\pi \)-calculus is usually presented as a closed-term 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

An occurrence of a name z in \(\pi \)-calculus process \(P\in \mathrm{T}_\pi \) is bound if it occurs within a subexpression \(x(z).P'\) or \((\nu z)P'\) of P; otherwise it is free. Let \(\mathsf{n}(P)\) (resp. \(\mathsf{bn}(P)\)) be the set of names occurring (bound) in \(P\in \mathrm{T}_\pi \). Structural congruence, \(\equiv \), is the smallest congruence relation on processes satisfying

Here the rightmost column only holds when \(w\notin \mathsf{n}(P)\), and denotes the process obtained by replacing each free occurrence of z in P by w.

Definition 11

The reduction relation, \({\rightarrow }\subseteq \mathrm{T}_\pi \times \mathrm{T}_\pi \), is generated by the following rules.

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

Let \(x\in \mathcal{N}\). A process P has a strong output barb on x, notation \(P{\downarrow _{\bar{x}}}\), if P can perform an output action \(\bar{x}z\). This is defined inductively:

$$ (\bar{x}z.(P)){\downarrow _{\bar{x}}} \qquad \frac{P{\downarrow _{\bar{x}}}}{(P|Q){\downarrow _{\bar{x}}}} \qquad \frac{Q{\downarrow _{\bar{x}}}}{(P|Q){\downarrow _{\bar{x}}}} \qquad \frac{P{\downarrow _{\bar{x}}} \quad x\ne z}{((\nu z)P){\downarrow _{\bar{x}}}} \qquad \frac{P{\downarrow _{\bar{x}}}}{(!P){\downarrow _{\bar{x}}}} $$

A process P has a weak output barb on x, \(P{\Downarrow _{\bar{x}}}\), if there is a \(P'\) with \(P \Longrightarrow P'{\Downarrow _{\bar{x}}}\).

A common semantic equivalence applied in the \(\pi \)-calculus is weak barbed congruence [29, 44].

Definition 13

Weak (output) barbed bisimilarity is the largest symmetric relation such that

  • and \(P{\downarrow _{\bar{x}}}\) implies \(Q{\Downarrow _{\bar{x}}}\), and

  • and \(P \Longrightarrow P'\) implies \(Q \Longrightarrow Q'\) for some \(Q'\) with .

Weak barbed congruence, \(\cong ^c\), is the largest congruence included in .

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 .

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 . 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 )\).

Boudol [4] defined a translation \(\mathcal{T}\) from \(\pi \) to \(\mathrm a\pi \) inductively as follows:

Example 1 shows that \(\mathcal{T}\) is not valid up to \(\cong ^c\). In fact, it is not even valid up to \(\cong ^c_\mathrm{a}\). However, as shown in [25], it is valid up to . Since is not a congruence (for \(\pi \) or \(\mathrm a\pi \)) it is not correct up to .

7 Congruence Closure

Definition 14

An equivalence relation \(\sim \) is a 1-hole congruence for a language \(\mathcal{L}\) interpreted in a semantic domain \(\mathbf{V}\) if 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 n-hole congruence for any finite can be defined in the same vain, and it is well known and easy to check that a 1-hole congruence \(\sim \) is also an n-hole congruence, for any . However, in the presence of operators with infinitely many arguments, a 1-hole congruence need not be a congruence.

Example 2

Let \(\mathbf{V}\) be , with the well-order \(\le \) on \(\mathbf{V}\) inherited lexicographically from the default order on 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 well-order \(\le \). In case \(\sup \) is given finitely many arguments, it simply returns the largest. However .

Now let the equivalence relation \(\sim \) on \(\mathbf{V}\) be defined by \((n,m)\sim (n',m')\) iff \(n=n'\), leaving \(\infty \) in an equivalence class of its own. This relation is a 1-hole congruence on \(\mathcal{L}\). Hence, it is also a 2-hole congruence, so one has

$$\big ((n_1,m_1)\mathbin \sim (n_1',m_1') \mathrel \wedge (n_2,m_2)\mathbin \sim (n_2',m_2')\big ) \Rightarrow (n_1,m_1)+ (n_2,m_2) \sim (n'_1,m'_1)+ (n'_2,m'_2).$$

Yet it fails to be a congruence: \((n,i) \sim (n,0)\) for all , but

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 1-hole 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 1-hole congruence relations, the least equivalence relation that contains all elements of C (exists and) happens to be a 1-hole 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 1-hole congruence for \(\mathcal{L}\) contained in \(\sim \). I will denote this 1-hole congruence by \(\sim ^{1c}_\mathcal{L}\), and call it the congruence closure of \(\sim \) w.r.t. \(\mathcal{L}\). One has for iff for any \(\mathcal{L}\)-expression E and any valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with and 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 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 contains only finitely many variables, there is no difference between a congruence and a 1-hole 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 1-hole congruence contained in this relation, often called rooted weak bisimilarity, happens to be a congruence. In fact, when congruence-closing 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 for any expression and valuation \(\eta :\mathcal {X}\rightarrow \mathbf{W}\). An equivalence \(\sim \) on \(\mathbf{W}\) is a congruence (respectively 1-hole congruence) for \(\mathcal{T}(\mathcal{L})\) on \(\mathbf{W}\) if for any and \(\theta ,\eta :\mathcal {X}\rightarrow \mathbf{W}\) with \(\theta \sim \eta \) (respectively \(\theta \sim ^1\eta \)) one has .

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 . Then \(\mathord {\mathbf{R}}(\mathbf{V})\) is closed under \(\mathcal{T}(\mathcal{L})\).

Proof:

Let and \(\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\). Take \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\rho \mathbf{R}\eta \). Then . Since one has .    \(\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 (1-hole) congruence for \(\mathcal{L}\) iff it is a (1-hole) congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\).

Proof:

First suppose \(\sim \) is a congruence for \(\mathcal{L}\). Let and \(\theta ,\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\) with \(\theta \sim \eta \). By the definition of \(\mathord {\mathbf{R}}(\mathbf{V})\) there are valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\theta \,\, \mathbf{R}\,\, \nu \) and \(\eta \,\, \mathbf{R}\,\, \rho \). Now \(\nu \sim \theta \sim \eta \sim \rho \), so

and hence . The other direction proceeds in the same way.

Now suppose \(\sim \) is a 1-hole congruence for \(\mathcal{L}\). Let 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 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 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 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 and . 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 on \(\mathbf{V}\cup \mathbf{V}'\) extends to this copy by considering each copied element -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 1-hole congruence for \(\mathcal{L}\). ¶

By Proposition 4 \(\equiv _{\mathbf{R}}\) also is a 1-hole 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 , contained in \(\sim \), such that (1) the restriction of to \(\mathbf{V}\) is the largest 1-hole congruence for \(\mathcal{L}\) contained in \(\sim \), (2) the set is closed under \(\mathcal{T}(\mathcal{L})\), and (3) the restriction of to \(\mathbf{W}\) is the largest 1-hole congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathbf{W}\) that is contained in \(\sim \). ¶

Note that each equivalence class of on \(\mathbf{V}\cup \mathbf{W}\) melts an equivalence class of \(\sim ^{1c}_{\mathcal{L}\!,\mathbf{R}}\) on \(\mathbf{V}\) with one of on \(\mathbf{W}\). Moreover, on \(\mathbf{V}\) the relation is completely determined by \(\mathcal{L}\) and \(\sim \). However, in general the whole relation 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 described in Theorem 4. ¶

The languages \(\pi \) and \(\mathrm a\pi \) of Sect. 6 do not feature operators (or other constructs) of infinite arity. Hence the congruence closure \(\sim _\pi ^{1c}\) or \(\sim _\mathrm{a\pi }^{1c}\) of an equivalence \(\sim \) on \(\pi \) or \(\mathrm a\pi \) is always a congruence. So by Corollary 1 Boudol’s translation \(\mathcal{T}\) is correct up to an equivalence , defined on the disjoint union of the domains \(\mathrm{T}_\pi \) and \(\mathrm{T}_\mathrm{a\pi }\) on which the two languages are interpreted. This equivalence is contained in , and on the source domain \(\mathrm{T}_\pi \) coincides with \(\cong ^c\). By Theorem 4, the restriction of to a subdomain \(\mathbf{W}\subseteq \mathrm{T}_\mathrm{a\pi }\) is the largest congruence for \(\mathcal{T}(\pi )\) on \(\mathbf{W}\) that is contained in \(\sim \). As \(\cong ^c_\mathrm{a}\) is a congruence for all of \(\mathrm a\pi \) on all of \(\mathrm{T}_\mathrm{a\pi }\), and contained in , it is certainly a congruence for \(\mathcal{T}(\pi )\) on \(\mathbf{W}\), and thus contained in . This inclusion turns out to be strict. As an illustration of that, note that \(\bar{x} z.\mathbf 0 | \bar{x} z.\mathbf 0 \cong ^c \bar{x}z.\bar{x} z \mathbf 0 \). (This follows since these processes are strong (early) bisimilar [44] and thus strong full bisimilar by [44, Definition 2.2.2].) Consequently, their translations must be related by . So, for distinct \(u,v,y,w,x,z \in \mathcal{N}\),

Yet, these processes are not \(\cong ^c_\mathrm{a}\)-equivalent, as can be seen by putting them in a context \(x(y).x(y).\bar{r}(s) | X\). There, only the left-hand side has a weak barb \(\Downarrow _{\bar{r}}\).

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 closed-term language. ¶

10 A Unique Decomposition of Terms

The results of Sect. 12 apply only to languages satisfying two postulates, formulated below, and to preorders that “respect ”, 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 if expression E can be converted into F by acts of \(\alpha \)-conversion.

In languages where there are multiple types of bound variables, 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 .

A term f(cg(c)), for instance, can be written as \(H[\sigma ]\) where \(H=f(X_1,X_2)\) is a head, and 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 (recursion-like) 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 , with , iff there are terms with , and a valuation \(\zeta :\mathcal {X}\rightarrow \mathbf{V}\) such that and . This relation is reflexive and symmetric.

In [16] I limited attention to languages satisfying

(2)

This postulate says that the meaning of an expression is invariant under \(\alpha \)-conversion. It can be reformulated as the requirement that is the identity relation. This postulate is satisfied by all my intended applications, except for the important class of closed-term languages. Languages like CCS and the \(\pi \)-calculus can be regarded as falling in this class (although it is also possible to declare the meaning of a term under a valuation to be an -equivalence class of closed terms). To bring this type of application within the scope of my theory, here I weaken this postulate by requiring merely that is an equivalence.

Postulate 2

is an equivalence relation.

This postulate is needed in Sect. 12. I also need to restrict attention to preorders with . When that holds I say that the preorder respects . If (2) holds—which strengthens of Postulate 2—then any preorder respects .

12 Compositionality

An important property of translations, defined below, is compositionality. In this section show I that any valid translation up to a preorder 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 that respect .

Definition 18

A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is compositional if

  1. (1)

    for each and ,

  2. (2)

    implies for all ,

  3. (3)

    and moreover \(\mathcal{T}(X)=X\) for each \(X\in \mathcal {X}\).

In case \(E=f(t_1,\ldots ,t_n)\) for certain this amounts to , 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 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 is too demanding. ¶

Lemma 1

If and are compositional translations, then so is their composition , 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) for each and . Here the derivation of the first uses Property (2) of Definition 18—and this is the reason for requiring that property.

(2) implies and for all .

(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 a preorder that respects and . If any valid (or correct) translation from \(\mathcal{L}\) into \(\mathcal{L}'\) up to exists, then there exists a compositional translation that is valid (or correct) up to . ¶

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 .

Theorem 6

Let \(\mathcal{L}\) be a closed-term 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 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 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 divergence-preserving 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,34, 38,39,41, 43, 46]; see [20, 21] for an overview. Many of these results employ different and somewhat ad-hoc 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 name-substitution. It serves to partially undo the effect of making the compositionality requirement name-dependent. 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 . If one takes 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.