A Theory of Encodings and Expressiveness

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 well-known case study: the encoding of the synchronous in the asynchronous $\pi$-calculus.


Introduction
This paper, like [39,32], 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 π-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 [9]. 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 [30] 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 [30] only deals with the case that all (relevant) elements in the domain are denotable as the interpretations of closed terms. In [32] situations are described where such a restriction is undesirable. In addition, both [9] and [30] require the semantic equivalence ∼ 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 [8,54,56,15,4,5,58,65].
In [32] I alleviated these two restrictions by proposing two notions of encoding: correct and valid translations up to ∼. Each of them generalises the proposals of [9] and [30]. The former drops the restriction on denotability as well as ∼ being a congruence for the whole target language, but it requires ∼ 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 ∼ to be a preorder rather than an equivalence), but at the expense of requiring denotability by closed terms. In situations where ∼ 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 [32] by proposing a new notion of a valid translation that incorporates the correct and valid translations of [32] as special cases. It drops the congruence requirements as well as the restriction on denotability.
As in [32], 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 up to • ∼ 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 the translation of an expression is semantically equivalent to the meaning of the expression being translated.
Section 3 shows that this concept generalises the notion of a correct translation from [32]: a translation is correct up to a semantic equivalence ∼ iff it is valid up to ∼ and ∼ is a congruence for the source language as well as for the image of the source language within the target language.
Likewise, Section 14 shows that my new concept of validity generalises the one of [32], and Section 15 establishes the coincidence of my new validity-based notion of expressiveness with the one from [32] 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 the relation "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 semantic distinctions) yields a richer preorder of expressiveness inclusions.
Section 5 presents the widely used class of closed-term languages, in which the distinction between syntax and semantic is effectively dropped by taking the domain of values where the language is interpreted in to consist of the closed terms of the language. Section 6 illustrates my approach on a wellknown case study: the encoding of the synchronous in the asynchronous π-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 ∼, then it is even valid up to an equivalence that • on the source language coincides with the congruence closure of ∼ • on the image of the source within the target language also coincides with the congruence closure of ∼ • melts each equivalence class of the source with exactly one of the target, and vice versa. Section 9 concludes that the framework established thus far is very suitable for comparing the expressiveness of languages, but falls short for the purpose of combining language features. This requires a congruence reflection theorem, provided in Section 13, for closed-term languages and preorders • ∼ that satisfy some mild sanity requirements: the postulates formulated in Sections 10 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 • ∼, provided the languages and preorders • ∼ satisfy the sanity requirements of Sections 10 and 11. Hence, for the purpose of comparing the expressive power of languages, valid translations between them may be presumed compositional.
Section 16 contemplates a more general, and arguably also simpler, concept of a valid translation, than the one of Section 2. However, it lacks appealing properties of the latter.
Section 17 speculates on suitable choices for • ∼ when comparing the expressiveness of process calculi. Sections 18-19 compare my approach with full abstraction, and with the approach of Gorla [39].
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 Z, with V, V ′ ⊆ Z. 1 Intuitively, v ′ • ∼ v with v ∈ V and v ′ ∈ V ′ means that values v and v ′ are sufficiently alike for our purposes, so that one can accept a translation of an expression with meaning v into an expression with meaning v ′ .
Correct and a valid translations up to a semantic equivalence or preorder • ∼ were introduced in [32]. Here I redefine these concepts in terms of a new concept of correctness w.r.t. a semantic translation.
Definition 2 Let V and V ′ be domains of values in which two languages L and L ′ are interpreted.
Thus every semantic value in V needs to have a counterpart in V ′ -possibly multiple ones. For valuations η : X → V ′ , ρ : X → V I write η R ρ iff η(X ) R ρ(X ) for each X ∈ X .
Definition 3 A translation T : Ì L → Ì L ′ is correct w.r.t. a semantic translation R if T (E)℄ L ′ (η) R E℄ L (ρ) for all expressions E ∈ Ì L and all valuations η : X → V ′ and ρ : X → V with η R ρ.
Thus 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 T (E) is a counterpart of the value filled in for X in E.
∼ is an equivalence, the restriction R of • ∼ to V ′ × V is a semantic translation, and T is correct w.r.t. R.
1 I will be chiefly interested in the case that • ∼ is an equivalence-hence the choice of a symbol that looks like ∼. However, to establish Observation 2 and Theorem 2 below, it suffices to know that • ∼ is reflexive and transitive. My convention is that the dotted end of • ∼ points to a translation and the other end to an original-without offering an intuition for the possible asymmetry.

Correct = valid + congruence
In [32] the concept of a correct translation up to ∼ was defined, for ∼ a semantic equivalence on Z.
Here two valuations η, ρ : In case there exists a v ∈ V for which there is no ∼-equivalent v ′ ∈ V ′ , there is no correct translation from L into L ′ up to ∼. Namely, the semantics of L describes, among others, how any L -operator evaluates the argument value v , and this aspect of the language has no counterpart in L ′ . Therefore, [32] requires This implies that for any valuation ρ : Note that this definition agrees completely with Definition 4. Requirement (1) above corresponds to R being a semantic translation in Definition 4. If a correct translation up to ∼ from L into L ′ exists, then ∼ must be a congruence for L .
Definition 7 An equivalence relation ∼ is a congruence for a language L interpreted in a semantic domain V if E℄ L (ν) ∼ E℄ L (ρ) for any L -expression E and any valuations ν, ρ : The existence of a correct translation up to ∼ from L into L ′ does not imply that ∼ is a congruence for L ′ . However, ∼ has the properties of a congruence for those expressions of L ′ that arise as translations of expressions of L , when restricting attention to valuations into U : In [32] this called a congruence for T (L ).

Proposition 2 ([32])
If T is a correct translation up to ∼ from L into L ′ , then ∼ is a congruence for T (L ).
The following theorem tells that the notion of validity proposed in Section 2 can be seen as a generalisation of the notion of correctness from [32] that applies to equivalences (and preorders) • ∼ that are not necessarily congruences for L or T (L ).
Theorem 1 A translation T from L into L ′ is correct up to a semantic equivalence ∼ iff it is valid up to ∼ and ∼ is a congruence for T (L ).
Proof: By Definitions 4 and 5 any translation that is correct up to ∼ is surely valid up to ∼.
Suppose T is valid up to ∼ and ∼ is a congruence for T (L ). Then there is a semantic translation To establish that T is correct up to ∼, let E ∈ Ì L and let η : X → V ′ and ρ : X → V be valuations with η ∼ ρ. Let θ : X → V ′ be a valuation with θ R ρ-it exists since R is a semantic translation. Now θ ∼ ρ ∼ η, using that R ⊆ ∼, so θ , η : , using that ∼ is a congruence for T (L ) and that T is correct w.r.t. R. ✷

A hierarchy of expressiveness preorders
An equivalence or preorder • ∼ on a class Z is said to be finer, stronger, or more discriminating than another equivalence or preorder Observation 1 Let T : Ì L → Ì L ′ be a translation from L into L ′ , and let • ∼ be finer than • ≈. If 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 L and L ′ by showing that L cannot be encoded in L ′ , a coarser equivalence or preorder 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 L 1 into L 2 and from L 2 into L 3 , then there is a valid translation up to • ∼ from L 1 into L 3 . Proof: Theorem 2 and Observation 2 show that the relation "being at least as expressive as up to • ∼" is a preorder on languages.

Closed-term languages
The languages considered in this paper feature variables, operators of arity n ∈ AE, and/or other constructs. The set Ì L of L -expressions is inductively defined by: • X ∈ Ì L for each variable X ∈ X , • f (E 1 , . . . , E n ) ∈ Ì L for each n-ary operator f and expressions E i ∈ Ì L for i = 1, . . . , n, • and clauses for the other constructs, if any.
Examples of other constructs are the infinite summation operator ∑ i∈I E i of CCS, which takes arbitrary many arguments, or the recursion construct µ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 V, and an interpretation of each n-ary operator f of L as an n-ary operation f V : V n → V on V. Using the equations this allows an inductive definition of the meaning E℄ L of an L -expression E. Moreover, E℄ L (ρ) only depends on the restriction of ρ to the set fv(E) of variables occurring free in E.
The set T L ⊆ Ì L of closed terms of L consists of those L -expressions E ∈ Ì L with fv(E) = / 0. If P ∈ T L and V = / 0 then P℄ L (ρ) is independent of the choice of ρ :X → V, and hence written P℄ L .
Definition 9 A substitution in L is a partial function σ : X ⇀ Ì L from the variables to the Lexpressions. For a given L -expression E ∈ Ì L , E[σ ] ∈ Ì L denotes the L -expression E in which each free occurrence of a variable X ∈ dom(σ ) is replaced by σ (X ), while renaming bound variables in E so as to avoid a free variable Y occurring in an expression σ (X ) ending up being bound in E[σ ]. 3 A substitution is closed if it has the form σ : X → T 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 V = T 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 E℄ L (ρ) for E ∈ Ì L and ρ : X → T L is defined to be E[ρ] ∈ T L . I will call such languages closed-term languages.
6 Example: translating a synchronous into an asynchronous π-calculus As an illustration of the concepts introduced above, consider the π-calculus as presented by Milner in [51], i.e., the one of Sangiorgi and Walker [76] without matching, τ-prefixing, and choice.
Given a set of names N , the set Ì π of process expressions or terms E of the calculus is given by with x, y, z ranging over N , and X over X , the set of process variables. Process variables are not considered in [76], although they are common in languages like CCS [50] 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 Section 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 π-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 An occurrence of a name z in π-calculus process P ∈ T π is bound if it occurs within a subexpression x(z).P ′ or (νz)P ′ of P; otherwise it is free. Let n(P) (resp. bn(P)) be the set of names occurring (bound) in P ∈ T π .
Structural congruence, ≡, is the smallest congruence relation on processes satisfying Here P{ w /z} denotes the process obtained by replacing each free occurrence of z in P by w.

Definition 11
The reduction relation, → ⊆ T π × T π , is generated by the following rules.
Let =⇒ be the reflexive and transitive closure of →. The observable behaviour of π-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 ∈ N . A process P has a strong output barb on x, notation P↓x, if P can perform an output actionxz. This is defined inductively: A process P has a weak output barb on x, notation P⇓x, if there is a P ′ with P =⇒ P ′ ⇓x.
A common semantic equivalence applied in the π-calculus is weak barbed congruence [52,75,76]. Definition 13 Weak (output) barbed bisimilarity is the largest symmetric relation Often input barbs, defined similarly, are included in the definition of weak barbed bisimilarity [76]. This is known to induce the same notion of weak barbed congruence [76]. 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, similar to the theory of testing of Hennessy and De Nicola [19]see Section 17 for details. 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. The asynchronous π-calculus, as introduced by Honda & Tokoro in [44] and by Boudol in [10], is the sublanguage aπ of the fragment π of the π-calculus presented above where all subexpressionsxy.E have the formxy.0. Asynchronous barbed congruence, ∼ = c a , is the largest congruence for the asynchronous π-calculus included in • ≈. Since aπ is a sublanguage of π, ∼ = c a is at least as coarse an equivalence as ∼ = c , i.e. ∼ = c ⊆ ∼ = c a . The inclusion is strict, since !x(z).xz.0 ∼ = c a 0, yet !x(z).xz.0 ∼ = c 0 [76]. Since all expressions used in Example 1 belong to aπ, one even hasxz.0 ∼ = c a (νu)(xu.0|u(v).vz.0). Boudol [10] defined a translation T from π to aπ inductively as follows: Example 1 shows that T is not valid up to ∼ = c . In fact, it is not even valid up to ∼ = c a . However, as shown in [47], it is valid up to • ≈. Since • ≈ is not a congruence (for π or aπ) it is not correct up to • ≈.

Congruence closure
Definition 14 An equivalence relation ∼ is a 1-hole congruence for a language L interpreted in a semantic domain V if E℄ L (ν) ∼ E℄ L (ρ) for any L -expression E and any valuations ν, ρ : An n-hole congruence for any finite n ∈ AE can be defined in the same vain, and it is well known and easy to check that a 1-hole congruence ∼ is also an n-hole congruence, for any n ∈ AE. However, in the presence of operators with infinitely many arguments, a 1-hole congruence need not be a congruence.
The interpretation of sup in V is to take the supremum of its arguments w.r.t. the well-order ≤. In case sup is given finitely many arguments, it simply returns the largest. However sup((n, i)) i∈AE = (n+1, 0). Now let the equivalence relation ∼ on V be defined by (n, m) ∼ (n ′ , m ′ ) iff n = n ′ , leaving ∞ in an equivalence class of its own. This relation is a 1-hole congruence on L . Hence, it is also a 2-hole congruence, so one has Yet it fails to be a congruence: (n, i) ∼ (n, 0) for all i ∈ AE, but (n+1, 0) = sup((n, i)) i∈AE ∼ sup((n, 0)) i∈AE = (n, 0).
It is well known and easy to check that the collection of equivalence relations on any domain 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 L is also a complete lattice, and moreover a complete sublattice of the complete lattice of equivalence relations on 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 [41] and easy to prove. It follows that for any equivalence relation ∼ there exists a largest 1-hole congruence for L contained in ∼. I will denote this 1-hole congruence by ∼ 1c L , and call it the congruence closure of ∼ w.r.t. L . One has v 1 ∼ 1c for any L -expression E and any valuations ν, ρ : X → V with ν(X ) = v 1 and ρ(X ) = v 2 for some X ∈ X and ν(Y ) = ρ(Y ) for all variables Y = X . Such results do not generally hold for congruences. Example 3 Continue Example 2, but skipping the operator +. Let ∼ k be the equivalence on V defined by It is easy to check that all ∼ k for k ∈ AE are congruences on the reduced L , and contained in ∼. Yet their least upper bound (in the lattice of equivalence relations on V) is ∼, which is not a congruence itself. In particular, there is no largest congruence contained in ∼. When dealing with languages L in which all operators and other constructs have a finite arity, so that each E ∈ Ì L contains only finitely many variables, there is no difference between a congruence and a 1-hole congruence, and thus ∼ 1c L is a congruence relation for any equivalence ∼. I will apply the theory of expressiveness presented in this paper also to languages like CCS that have operators (such as ∑ i∈I E i ) of infinite arity. However, in all such cases I'm currently aware of, the relevant choices of L and ∼ have the property that ∼ 1c L is in fact a congruence relation. As an example, consider weak bisimilarity [50]. This equivalence relation fails to be a congruence for ∑. 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 [31] is also a congruence for the infinitary sum, as well as for all other operators of CCS [50].
The other direction proceeds in the same way.
The conclusion proceeds as above, and the other direction goes likewise. ✷ The requirement of being a congruence for T (L ) on R(V) is slightly weaker than that of being a congruence for T (L )-cf. Definition 8-for it proceeds by restricting attention to valuations into R(V) ⊆ U.
Example 4 Let L be a language with two constants Yes and No and a unary operator ¬. Its semantics is given by Then the identity function I is a translation from L into L ′ that is valid up to ∼. This is witnessed by the semantic translation R : The relation ∼ is a congruence for L . In line with Proposition 4 it also is a congruence for I (L ) on R(V) = {0, 1}. However it fails to be a congruence for I (L ) (on U = {0, 1, ⊤}). So by Proposition 2 the transition I is not correct up to ∼. Indeed, for ρ : X → V a valuation that sends X ∈ X to 1 and

A congruence closure property for valid translations
In many applications, semantic values in the domain of interpretation of a language L are only meaningful up to a semantic equivalence ∼ c , and the intended semantic domain could just as well be seen as the set of ∼ c -equivalence classes of values. For this purpose it is essential that ∼ c is a congruence for L .
Often ∼ c is the congruence closure of a coarser semantic equivalence ∼, so that two values end up being identified iff they are ∼-equivalent in every context. An example of this occurred in Section 6, with • ≈ in the rôle of ∼ and ∼ = c in the rôle of ∼ c . Now Theorem 4, contributed in this section, says that if a translation from L into L ′ is valid up to ∼, then it is even valid up to an equivalence ∼ 1c L,R that extends ∼ c from V to a subdomain W of V ′ that suffices for the interpretation of translated expressions from L . This equivalence ∼ 1c L,R coincides with the congruence closure of ∼ on L , as well as on T (L ), and melts each equivalence class of V with exactly one of W, and vice versa.
In this section I assume that V ∩ V ′ = / 0. To apply the results to the general case, just adapt L ′ by using a copy of V ′ -any preorder • ∼ on V ∪ V ′ extends to this copy by considering each copied element • ∼-equivalent to the original.

Definition 16 Given any semantic translation
Theorem 4 Let T be a translation from a language L , with semantic domain V, into a language L ′ , with domain V ′ , that is valid up to a semantic equivalence ∼. Then T is even valid up to a semantic equivalence ∼ 1c L,R , contained in ∼, such that (1) the restriction of ∼ 1c L,R to V is the largest 1-hole congruence for L contained in ∼, (2) the set W : L,R to W is the largest 1-hole congruence for T (L ) on W that is contained in ∼. Proof: By assumption the translation T from L into L ′ is correct w.r.t. a semantic translation R ⊆ ∼. Let ∼ 1c L,R , the congruence closure of ∼ w.r.t. L and R, be the binary relation on V ∪ V ′ defined by L,R is transitive. As ≡ R and ∼ 1c L are reflexive and symmetric, so is ∼ 1c L,R . Thus, ∼ 1c L,R is an equivalence relation. Since ∼ 1c L and R, and hence also ≡ R , are contained in ∼, so is ∼ 1c Let E ∈ Ì L be an L -expression and ν, ρ : X → V be valuations with ν ∼ 1 ρ. Then there are L,R is a 1-hole congruence for L on V. Since ∼ 1c L is the largest 1-hole congruence for L contained in ∼, it follows that, restricted to V, ∼ 1c L,R ⊆ ∼ 1c L . By the reflexivity of ≡ R one moreover has ∼ 1c and let ≈ * R be its transitive closure. Then ≈ * R is an equivalence relation on V ∪ W. Since ≡ R and ≈ are 1-hole congruences for T (L ) on W, by the same reasoning as above also ≈ * R is a 1-hole congruence for T (L ) on W.
L,R on W. Moreover, on V the relation is completely determined by L and ∼. The following example shows that in general the whole relation ∼ 1c L,R is not completely determined by L and ∼. Example 5 Let L be a language with two constants Yes and No and a binary operator same. Its semantics is given by The semantic values ⊤ and ⊥ are not denotable as the interpretation of closed terms. Let L ′ be an exact copy of L , except that the semantic values are primed. Let ∼ be the seman- Then the identity function I is a translation from L into L ′ that is valid up to ∼. This is witnessed by the semantic Upon taking the congruence closure ∼ 1 L , the four semantic values of V become inequivalent. Yet, there are two candidates for ∼ 1c L,R , namely R † and R. Corollary 1 Let T be a translation from a language L , with semantic domain V, into a language L ′ , with domain V ′ , valid up to a semantic equivalence ∼, and suppose the congruence closure ∼ 1 L of ∼ w.r.t. L is in fact a congruence. Then T is correct up to the equivalence ∼ 1c L,R described in Theorem 4. Proof: By the proof of Theorem 4 T is correct w.r.t. the semantic translation R ⊆ ∼ 1c L,R , the restriction of ∼ 1c L,R to V equals ∼ 1 L , and R(V) = W. Using that ∼ 1 L is a congruence for L , by Proposition 4 ∼ 1c L,R is a congruence for T (L ). So by Theorem 1, T is correct up to ∼ 1c L,R . ✷ The languages π and aπ of Section 6 do not feature operators (or other constructs) of infinite arity. Hence the congruence closure ∼ 1c π or ∼ 1c aπ of an equivalence ∼ on π or aπ is always a congruence. So by Corollary 1 Boudol's translation T is correct up to an equivalence • ≈ c π,R , defined on the disjoint union of the domains T π and T aπ on which the two languages are interpreted. This equivalence is contained in • ≈, and on the source domain T π coincides with ∼ = c . By Theorem 4, the restriction of a is a congruence for all of aπ on all of T aπ , and contained in • ≈, it is certainly a congruence for T (π) on W, and thus contained in • ≈ c π,R . This inclusion turns out to be strict. As an illustration of that, note thatxz.0|xz.0 ∼ = cx z.xz0. (This follows since these processes are strong (early) bisimilar [76] and thus strong full bisimilar by [76,Def. 2.2.2].) Consequently, their translations must be related by ).
Yet, these processes are not ∼ = c a -equivalent, as can be seen by putting them in a context x(y).x(y).r(s)|X . In this context, only the left-hand side has a weak barb ⇓r.

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 T from L to L ′ up to ∼, and (as usual) ∼ 1c L is a congruence, then all truths that can be expressed in terms of L can be mimicked in L ′ . For the congruence classes of ∼ 1c L translate bijectively to congruence classes of an induced equivalence relation on the domain of T (L ) (within the domain of L ′ ), and all operations on those congruence classes that can be performed by contexts of L have a perfect counterpart in terms of contexts of T (L ). This state of affairs was illustrated on Boudol's translation from a synchronous to an asynchronous π-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 L 1 and L 2 have valid translations into a language L ′ , then all that can be done with L 1 can be mimicked in a fragment of L ′ , and all that can be done with L 2 can be mimicked in another fragment of L ′ . In order for these two fragments to combine, one would like to employ a single congruence relation on L ′ that specialises to congruence relations for T 1 (L 1 ) and T 2 (L 2 ), which form the counterparts of relevant congruence relations for the source languages L 1 and L 2 .
In terms of the translation T from π to aπ, the equivalence ∼ = c a on T aπ would be the right congruence relation to consider for aπ. Ideally, this congruence would extend to an equivalence ∼ = c π,aπ on the disjoint union T π ⊎ T aπ , such that the restriction of ∼ = c π,aπ to T π is a congruence for π. Necessarily, this congruence on T π would have to distinguish the termsxz.0|xz.0 andxz.xz0, since their translations are distinguished by ∼ = c a . One therefore expects ∼ = c π,aπ on T π to be strictly finer than ∼ = c . Here it is important that the union of T π and T aπ on which this congruence is defined is required to be disjoint. For if one considers T aπ as a subset of T π , then we obtain that the restriction of ∼ = c π,aπ to that subset (1) coincides with ∼ = c a and (2) is strictly finer than ∼ = c . This contradicts the fact that ∼ = c is strictly finer than ∼ = c a . In Section 13 I will show that such a congruence ∼ = c π,aπ indeed exists. In fact, under a few very mild conditions this result holds generally, provided that the source language L is a closed-term language. The following example illustrated why that restriction needs to be imposed.
Example 6 Let L be a language with three constants ⊤, Yes and No. Its semantics is given by V = {+, −}, ⊤ V = Yes V = + and No V = −. Let L ′ be a language with the same three constants and a unary operator next. Its semantics is given by Then the identity function I is a translation from L into L ′ that is valid up to ∼. This is witnessed by the semantic translation R := {(0, −), (1, +), (2, +)} ⊆ ∼. The congruence closure of ∼ on V ′ is the identity relation. This relation cannot be extended to V ∪ V ′ in such a way that T remains valid. For 1 and 2 need to be different; yet to make T valid both need to be related to +.

A unique decomposition of terms
The results of Sections 12-16 apply only to languages that satisfy two postulates, and to preorders • ∼ that "respect α =" (defined in Section 11). Below and in Section 11 I formulate these postulates.
Definition 17 α-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 E α = F if expression E can be converted into F by multiple acts of α-conversion.
In languages where there are multiple types of bound variables, α = allows conversion of all of them. In a π-calculus with recursion, for instance, there could be bound process variables X ∈ X as well as bound names x ∈ N . The last two conversions in the right column of Definition 10 define α-conversion for π-calculus names.
The following notation and observation is used below and in Section 12.1. .
An expression E of the form f (E 1 , . . . , E n ) can be written as Here H and σ are completely determined by E, except for the choice of the variables X 1 , . . . , X n . The term H is called a head of E. In this paper, for the proofs of Section 12, I propose a unique decomposition of expressions E into H and σ , by making an arbitrary choice for the variables X 1 , . . . , X n . Moreover, I extend this decomposition to all terms E that are not variables. This requires a postulate that says, in essence, that such a decomposition is always possible, and restricting attention to languages satisfying this postulate.
by Observation 3. It follows that ≤ is reflexive and transitive, and hence a preorder. Example 7 Let c be a constant, g a unary operator, f a binary operator, and µX .E the recursion construct of CCS. Then f (X ,Y ) is a head of the term f (c, g(c)), and µX . f (Y, g(g(X ))) is a head of µX . f (g(c), g(g(X ))). See [32] for further detail.

Postulate 1 ([32])
Each expression E, if not a variable, has a head, which is unique up to ≡. This 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. This means that in this section I consider only languages that satisfy this postulate.
Pick a representative from each ≡-equivalence class of heads, and call the chosen representatives standard heads. Likewise, pick a representative from each α =-class of terms, and call a substitution σ where σ (X ) is such a representative for each X ∈ dom(σ ) a standard substitution. Now each expression E / ∈ X can uniquely be written as E , with H a standard head and σ a standard substitution with dom(σ ) = fv(E). I will refer to the pair H, σ as the standard decomposition of E.

Invariance of meaning under α-conversion
Write v α = L w , with v , w ∈ V, iff there are terms E, F ∈ Ì L with E α = F, and a valuation ζ : X → V such that E℄ L (ζ ) = v and F℄ L (ζ ) = w . This relation is reflexive and symmetric.
In [32] I limited attention to languages satisfying This postulate says that the meaning of an expression is invariant under α-conversion. It can be reformulated as the requirement that α = L 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 π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

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 α =.
and moreover T (X ) = X for each X ∈ X .
In case E = f (t 1 , . . . ,t n ) for certain t i ∈ Ì L this amounts to T ( f (t 1 , . . . ,t n )) α = E f (T (t 1 ), . . . , T (t n )), where E f := T ( f (X 1 , . . . , X n )) and E f (u 1 , . . . , u n ) denotes the result of the simultaneous substitution in this expression of the terms u i ∈ Ì L ′ for the free variables X i , for i = 1, . . . , n. The first requirement of Definition 21 is more general and covers language constructs other than functions, such as recursion. Requiring equality rather than α = is too demanding, as the following example illustrates. Example 8 Take a source language L that features an unary replication operator !, as in the π-calculus, and a target language L ′ that instead has a recursion construct µX .E, as in CCS; both languages have a constant 0. A suitable translation T satisfies T (!X 1 ) = µX .(X |X 1 ) and T (0) = 0. Applying Definition 21 with σ (X 1 ) = 0 gives T (!0) α = µX .(X |0), whereas applying it with σ (X 1 ) = X gives T (!X ) Here the bound variable X needed to be renamed (into Y ) to avoid capture of the free variable X that is substituted for X 1 . Furthermore, applying Definition 21 on T (!X ) . Since X = Y , this shows that α = cannot consistently be replaced by =.
Lemma 1 If T 1 : Ì L 1 → Ì L 2 and T 2 : Ì L 2 → Ì L 3 are compositional translations, then so is their composition Here the derivation of the first α = uses Property (2) of Definition 21-and this is the reason for requiring that property. ( (3) T 2 (T 1 (X )) = T 2 (X ) = X for each X ∈ X . ✷

Translations that are compositional by construction
The following proposition shows that when verifying that a translation is compositional it suffices to check requirement (1) of Definition 21 for the case that the term E is a (standard) head only. In most applications (including the one of Section 6) a translation is defined inductively, in such a way that (1) for E a head, as well as (2) and (3), hold by definition; in such cases compositionality follows.
Proposition 5 Let L be a language satisfying Postulate 1. Any translation T from L into L ′ satisfying T (X ) = X for X ∈ X , and T (E) with H, σ the standard decomposition of E. is compositional.

The denotation of a substitution
To obtain the compositionality of valid translations, I need the concept of the denotation of a substitution as a transformation of valuations. The semantic mapping ℄ L : Ì L → ((X → V) → V) extends to substitutions σ by σ ℄ L (ρ)(X ) := σ (X )℄ L (ρ) for all X ∈ X and ρ : X → V-here σ is extended to a total function by σ ( a map from valuations to valuations. The inductive nature of the semantic mapping ℄ L ensures that for each expression E ∈ Ì L , substitution σ : X ⇀ Ì L and valuation ρ : In case E is f (X 1 , . . . , X n ) this amounts to f (E 1 , . . . , E n )℄ L (ρ) = f V ( E 1 ℄ L (ρ), . . . , E n ℄ L (ρ)), but the above is more general and anticipates language constructs other than functions, such as recursion.

Closing a semantic translation under α-conversion
The following lemma (assuming Postulate 2) says that α = L is a congruence.
Proof: Suppose ν α = L ρ. Then, for each X ∈ X , ν(X ) α = L ρ(X ), so there are terms E X , F X ∈ Ì L with E X α = F X and a valuation ζ X : X → V such that E X ℄ L (ζ X ) = ν(X ) and F X ℄ L (ζ X ) = ρ(X ). By renaming of variables one can assure that fv(E X ) ∩ fv(E Y ) = / 0 for any different X ,Y ∈ fv(E). Here I assume that the set X of variables is sufficiently large. Note that fv(F X ) = fv(E X ) for all X ∈ fv(E). Let ζ : X → V be a valuation satisfying ζ (Z) = ζ X (Z) for any Z ∈ fv(E X ) with X ∈ fv(E). Define the substitutions σ , ξ : fv(E) → Ì L by σ (X ) = E X and ξ (X ) = F X for all X ∈ fv(E). Then σ (X )℄ L (ζ ) = ν(X ) and ξ (X )℄ L (ζ ) = ρ(X ) for all X ∈ fv(E). Hence, using (3), Lemma 3 If a translation T between languages L and L ′ that satisfy Postulate 2 is correct w.r.t. a semantic translation R, then it is also correct w.r.t. R α .
Proof: Let R ⊆ V ′ ×V be a semantic translation, and T a translation that is correct w.r.t. R. Let E ∈ Ì L , η : X → V ′ and ρ : X → V, with η R α ρ. Then there must be valuations θ : X → V ′ and ν :

Only the effect on standard heads matters
Proposition 6 Let L and L ′ be languages that satisfy Postulates 1 and 2, and R ⊆ V ′ × V a seman- for all standard heads H ∈ Ì L and all valuations η : X → V ′ and ρ : X → V with η R α ρ.

Correct and valid transitions can be made compositional
Theorem 5 Let L and L ′ be languages satisfying Postulates 1 and 2. If any correct translation from L into L ′ w.r.t. R α exists, then there is a compositional translation from L into L ′ that is correct w.r.t. R α .
Proof: Given a translation T 0 that is correct w.r.t. R α , define the translation T inductively by 13 Translations from closed-term languages reflect target congruences I can now establish the theorem promised in Section 9. In view of Corollary 2, no great sacrifices are made by assuming that the translation T is compositional. Additional "mild conditions" needed here are Postulate 2 for L ′ and ≈ respecting α = L ′ .
Theorem 6 Let L be a closed-term language and L ′ a language that satisfies Postulate 2. Let T be a compositional translation from L into L ′ that is valid up to ∼. Let ≈ be any congruence for L ′ containing α = L ′ and contained in ∼. Then T is correct up to an equivalence ≈ T on V ∪ V ′ , contained in ∼, that on V ′ coincides with ≈.
Proof: If V = / 0, the statement is trivial. Otherwise, pick a valuation ζ : X → V. By assumption, T is correct w.r.t. a semantic translation R ⊆ ∼. Now pick a valuation θ : Since L is a closed-term language, for each v ∈ V there is exactly one P ∈ T L with P℄ L = v , namely P = v . Hence, each ≡ T -equivalence class on V ∪ V ′ contains exactly one element of V ′ . It follows that ≈ T is transitive, and hence an equivalence relation. Moreover, on V ′ it coincides with ≈. It remains to show that T is valid up to ≈ T . For then Theorem 1 implies that T is correct up to ≈ T . Let Then R T is a semantic translation with R T ⊆ ≈ T , using that α = L ′ ⊆ ≈. To show validity of T up to ≈ T it suffices to establish that T is correct w.r.t. R T . So let E ∈ Ì L and let η : X → V ′ and ρ : X → V be valuations with η R T ρ. I have to show that T (E)℄ L ′ (η) R T E℄ L (ρ). Since L is a closed-term language, ρ also is a closed substitution, and E℄ L (ρ) := E[ρ] =: E[ρ]℄ L . Let T •ρ : X → T L ′ be the substitution with (T •ρ)(X ) = T (ρ(X )) for all X . Then-filling in (η(X ), ρ(X )) for (w , v ) in the definition of R T -η(X ) for all X ∈ X , i.e., η α = L ′ T • ρ℄ L ′ (θ ). So, using Lemma 2, (3) and compositionality, It follows that T (E)℄ L ′ (η) R T E℄ L (ρ) using Postulate 2. ✷ Since by Theorem 6 T is correct up to ≈ T , by Proposition 1 ≈ T is a congruence for L , contained in ∼.
Consequently, on V, ≈ T is contained in ∼ c L , the coarsest 1-hole congruence for L contained in ∼. As remarked in Section 9, for the example of Section 6 this inclusion is strict.
14 Comparison with the definition of validity from [32] An earlier definition of validity occurs in [32]. A shortcoming of that notion was that it only applied to languages for which all values in the domain of interpretation are denotable by closed terms. Here I show that the current notion of validity, which does not suffer from this limitation, generalises the one of [32].
Let L and L ′ be languages with ℄ L : The property of a language that all values in the domain of interpretation are denotable by closed terms can be stated as In case V = / 0, then U = / 0, so by lack of any η : X → U each translation T from L into L ′ respects • ∼. When V = / 0 the valuation η is needed because T (P) need not be a closed term, even if P is.

Definition 23
In [32], a translation from L into L ′ is called valid up to • ∼ if it is compositional and respects • ∼, while L satisfies (4).
Whereas (4) is an unwanted limitation, Example 2 in [32] shows that simply skipping requirement (4) in Definition 23 would yield a criterion that is too weak. The solution proposed by the current paper is to skip (4), while simultaneously strengthening or replacing the requirement of respecting • ∼ by the one of being valid up to • ∼ (Section 2). The following result state that, for languages L and L ′ that satisfy Postulate 2, and preorders • ∼ that respects α = L and α = L ′ , any translation that is valid up to • ∼ according to [32] is certainly valid according to Definition 5 of the current paper. Proof: In case V = / 0, there is a unique semantic transition R ⊆ V ′ × V, namely / 0 ⊆ • ∼. Since there are no valuations ρ : X → V, T is correct w.r.t. R, and thus valid up to • ∼. Otherwise, let θ : Hence it suffices to show that T is correct w.r.t. R α . So let E ∈ Ì L , ρ : X → V and η : X → V ′ with η R α ρ. I need to show that T (E)℄ L ′ (η) R α E℄ L (ρ).
Pickρ : X → V andη : X → V ′ such that η α = L ′η Rρ α = L ρ. Then there is a closed substitution σ : X → T L such thatρ(X ) = σ (X )℄ L andη(X ) = T (σ (X ))℄ L ′ (θ ) for all X ∈ X , i.e.,ρ = σ ℄ L and The case where all semantic values are denotable by closed terms Here I show that the notion of validity from the current paper agrees with the one of [32] when applied to languages for which all values are denotable by closed terms.
Usually one employs translations T with the property that for any E ∈ Ì L any free variable of T (E) is also a free variable of E-I call these free-variable respecting translations, or fvr-translations [32]. If T 0 in the proof of Theorem 5 is an fvr-translation, then so is T . Hence, replaying the proof of Corollary 2, one obtains: Observation 4 Let L and L ′ be languages that satisfy Postulates 1 and 2, and • ∼ a preorder that respects α = L and α = L ′ . If any valid (or correct) fvr-translation from L into L ′ up to • ∼ exists, then there exists a compositional fvr-translation that is valid (or correct) up to • ∼.
An fvr-translation T from L into L ′ respects • ∼ iff either V = / 0, or (1) holds and T (P)℄ L ′ • ∼ P℄ L for all closed L -expressions P ∈ T L .

Observation 5 Any fvr-translation that is valid up to
Lemma 4 Let L ′ satisfy (4) and V = / 0. If there is a translation from L into L ′ that is valid up to a preorder • ∼, then there is a fvr-translation from L into L ′ that is valid up to • ∼.
Proof: Let T be a translation from L into L ′ that is valid up to • ∼. Let R ⊆ • ∼ be a semantic translation such that T is correct w.r.t. R. Let P ∈ T L ′ be a closed L ′ -term with P℄ L ′ R v for some v ∈ V-such a P exists by (4). Let the translation T ′ be obtained from T by defining T ′ (E) := T (E)[σ E ] for all E ∈ Ì L -here σ E is the substitution that (only) substitutes P for all variables X that occur in T (E) but not in E. Then T ′ is a fvr-translation. It remains to show that T ′ is correct w.r.t. R.
The following result states that in case both L and L ′ satisfy (4), as well as Postulates 1 and 2, and • ∼ respects α = L and α = L ′ , the validity-based notion of expressiveness from [32] coincides with the one here. Proof: Suppose a valid translation up to • ∼ exists. In case V = / 0, by Corollary 2 there exists a compositional translation T that is valid up to ∼, and by the remark following Definition 22 T respects • ∼. In case V = / 0, by Lemma 4 there exists an fvr-translation that is valid up to • ∼. By Observation 4, there exists a compositional fvr-translation T that is valid up to ∼. By Observation 5, T respects • ∼. The converse direction follows from Theorem 7. ✷

A potential generalisation of the concept of a valid translation
In this section I consider a potentially more liberal concept of a valid transition up to a preorder • ∼, namely a translation that is compositional and preserves • ∼, as in Definition 24 below. Like correctness w.r.t. a semantic translation (Definition 3) and consequently also correctness and validity up to • ∼ (Definitions 4, 5 and 6), the requirement of Definition 24 is that the translation preserves the meaning of expressions: the meaning of the translation of an expression E should be semantically equivalent to the meaning of E -see [32] for an elaboration. In fact, this should hold under any valuation of the variables occurring in E. The difference between Definitions 6 and 24 is that the former is based on universal quantification of all matching valuations in the target language, whereas the latter associates with any valuation in the source language a single matching valuation in the target language. This requires a translation T : Ì L → Ì L ′ to have a semantic counterpart T : V → V ′ that maps the possible meanings of L -expressions into the possible meanings of L ′ -expressions.
Note that the existence of T implies (1) in Section 3.
Proposition 7 Any valid translation up to a preorder • ∼ preserves • ∼.
Proof: Let T be correct w.r.t. the semantic translation R ⊆ • ∼. Take any T : V → V ′ with T ⊆ R. Then T•ρ R ρ for any valuation ρ : X → V. Hence T preserves • ∼ using the semantic counterpart T. ✷ Corollary 2 does not extend (from correct and valid translations up to • ∼) to translations that preserve • ∼.
Example 9 Let L be a language with unary operators S and 2, and L ′ a language with unary operators S and G k for each k > 0. Their semantics is given by V = V ′ = AE, S V (n) = S V ′ (n) = n + 1 for each n ∈ AE, 2 V (n) = 2n for each n ∈ AE, and G V ′ k (n) = 2 k n + 1 for each n ∈ AE and k > 0. Let ∼ be the equivalence relation on AE defined by n ∼ m iff n and m differ only by a factor 2 k for some k ∈ AE, i.e., n = m = 0 or their prime factorisations, when leaving out the factors of 2, are the same.
Each term E ∈ Ì L is obtained from a single variable X by applications of the operators S and 2.
Using the equation 2SF = SS2F, each such term E can be rewritten into a unique normal form S i 2 j X for some i, j ∈ AE-notation E → S i 2 j X . If E → S i 2 j X then S i 2 j X ℄ L (ρ) = i + 2 j ρ(X ) = E℄ L (ρ) for each valuation ρ : X → AE, and thus S i 2 j X ℄ L ∼ E℄ L .
Let T : Ì L → Ì L ′ be the translation given by Then T preserves ∼, taking T to be the identity function on AE. Moreover, the preconditions of Corollary 2 are trivially satisfied. Yet, there is no compositional translation that preserves ∼.
By Observation 4 and Proposition 7, assuming that L and L ′ satisfy Postulates 1 and 2 and • ∼ respects Proof: Let T be a compositional fvr-translation that preserves • ∼, say by means of the semantic counter- Establishing the validity of this claim is sufficient, because by Definition 24 and the transitivity of • ∼, using that α = L , α = L ′ ⊆ • ∼, it immediately implies that R α ⊆ • ∼. I prove the claim with induction on the construction of R.
the claim holds by taking E := X and ν(X ) = v .

Induction step:
Let v ′ = T (E)℄ L ′ (η) and v = E℄ L (ρ) for some E ∈ Ì L , η : X → V ′ and ρ : X → V with η R ρ. By induction one may assume that for each X ∈ fv(E) there are E X ∈ Ì L and ν X : be a family of injective renamings of variables with dom(σ X ) = fv(E X ), such that the sets range(σ X ) := σ X (fv(E X )) for X ∈ fv(E) are pairwise disjoint. Here I assume the pool of variables to draw from is large Furthermore, define the substitution σ : Example 10 Let L be a language with constants 0 and 1, and a semantics given by V = {a, b}, 0 V = a and 1 V = b. Let L ′ be a language with a unary operator f , and a semantics given by V ′ = {1, 2, 3, 4} and f V ′ (n) = n+1(mod 4). Finally, let ∼ be the equivalence on V ∪ V ′ given by a ∼ 1 ∼ 2 ∼ 3 ∼ 4 ∼ b.
The translation T : Ì L → Ì L ′ given by T (0) = f (X 0 ) and T (1) = f ( f ( f (X 0 ))) for some X 0 ∈ X , and T (X ) = X for all X ∈ X , is compositional by construction, and preserves • ∼. This is witnessed by its semantic counterpart T : V → V ′ given by T(a) = 1 and T(b) = 4.
Since T L ′ = / 0, there do not exists fvr-translations from L to L ′ . Up to symmetry, T is in fact the only translation from L to L ′ that preserves • ∼.
However, there does not exists a translation from L to L ′ that is valid up to • ∼. For by symmetry, using Proposition 7, T is the only candidate for such a translation. Suppose R is a semantic translation w.r.t. which T is correct. Then 1 R a or 2 R a. Suppose 1 R a. Take valuations ρ, η with η R ρ, such that ρ(X 0 ) = a and η(X 0 ) = 1. As T is correct w.r.t. R, one has So one must have 2 R a. Now take valuations ρ, η with η R ρ, such that ρ(X 0 ) = a and η(X 0 ) = 2. As T is correct w.r.t. R, one has This contradicts the requirement that R ⊆ ∼.
Theorem 6 does not extend to this translation. For L is a closed-term language and L ′ trivially satisfies Postulate 2 (for by lack of bound variables α = L ′ is the identity). Any congruence ≈ for L ′ contained in ∼ must distinguish all four semantic values. Suppose T would preserve an equivalence ≈ T on V ∪ V ′ , contained in ≈, that on V ′ coincides with ≈. Let T ′ be a semantic counterpart of T . Then T ′ (a) = 1 or T ′ (a) = 2. Suppose T ′ (a) = 1. Take a valuation ρ with ρ(X 0 ) = a. Then So one has 2 ≈ T a ≈ T 1, a contradiction. The case T ′ (a) = 2 leads to a contradiction in the same way. Hence T does not preserve such an equivalence ≈ T .

Validity up to barbed bisimilarity for process calculi
In this paper I defined a notion of a valid translation op to a semantic equivalence ∼ between general system description languages, dealing in Section 5 with the special case of closed-term languages. In this section I zoom in further on process calculi such as CCS [50] and the π-calculus [76], and ask which equivalences ∼ to use in studying their relative expressiveness. These languages have in common that their semantics can be given in terms of labelled transition systems, whose states, called processes, are the closed expressions in the language, and whose transitions are given by an operational semantics in the style of Plotkin [71].
For a wide class of process calculi without name-binding, the finest equivalence in regular employ is strong bisimilarity [50]. In proving that process calculus L ′ is at least as expressive as process calculus L up to a semantic equivalence ∼, the choice of strong bisimilarity for ∼ thus yields the strongest result. Accordingly, Robert de Simone [79] showed that a wide class of process calculi, including CCS [50], CSP [11], ACP [6] and SCCS [49], are expressible up to strong bisimilarity in MEIJE [3].
However, strong bisimilarity is not suitable for comparing any two process calculi. As an example, consider the π-calculus with the early operational semantics versus the π-calculus with the late operational semantics [76]. Both operational semantics are meant to convey the same idea on how π-calculus processes interact. Consequently, one would hope and expect that the identity function between these versions of the π-calculus is a valid translation. However, it is not valid up to strong bisimilarity. The late semantics has transitions labelled x(y), where the name y is a variable in which a value received on channel x will be stored, whereas the early semantics has transitions labelled xy, where the name y is a particular value received on channel x. Since these labels have a different shape, and strong bisimilarity requires matching labels, validity up to strong bisimilarity fails. Moreover, the problem cannot be resolved by simply renaming the labels, for the entire meaning of input transitions is different.
In the π-calculus, strong early bisimilarity [76] is a much more canonical semantic equivalence than strong bisimilarity, and the identity function is a valid transition between the early and late π-calculi up to strong early bisimilarity. However, the definition of early bisimilarity for the π-calculus with the late operational semantics [76] has a very different form than the definition of early bisimilarity for the early π-calculus [76]. The reason is that the same idea needs to be phrased in terms of rather different transition relations. Consequently, taking strong early bisimilarity as a unifying equivalence for comparing the late and early π-calculus appears to be somewhat ad hoc. Moreover, neither strong bisimilarity nor strong early bisimilarity would be suitable to compare, say, the π-calculus with CCS.
A canonical semantic equivalence that can be defined in a uniform way on CCS as well as on the late and early π-calculi is strong barbed bisimilarity, originally proposed by Milner and Sangiorgi in [52]. It is based on the idea that a τ-transition of a process P describes an actual reaction of the process P, whereas a translation labelled a = τ merely indicates a potential reaction of P when synchronising with a communication partner that is willing to engage in the complementary transitionā. (Likewise, in CSP [11] a transition P a −→ P ′ can be regarded as a potential; one that is not realised when putting the process in a parallel composition involving synchronisation on the action a when the other component cannot partake in such a synchronisation. The only way to be sure that the CSP action a cannot be inhibited by any synchronisation context is to conceal it from the environment, using the CSP concealment operator \a, renaming the action a into τ.) From this perspective, it appears natural to formulate semantic equivalences entirely in terms of the τ-transitions processes can do, and capture the communication potentials (manifested by the other transitions) merely by studying the behaviour of processes in contexts. Accordingly, (strong) reduction bisimilarity was defined in [52] as the version of strong bisimilarity that requires the transfer property for τ-transitions only, i.e., strong barbed bisimilarity as defined below, without the first clause, and reading τ −→ for →. Naturally, reduction bisimilarity is not a congruence: the CCS processes a.0 and 0 are reduction equivalent (for neither can do a τ-transition), yet a.0|ā.0 and 0|ā.0 are not. The purpose of the relation is to define a reasonable semantic equivalence as its congruence closure. Indeed, for divergence-free CCS processes strong bisimilarity turned out to be the congruence closure of reduction bisimilarity [52]. Unfortunately, this failed for processes with divergences (infinitesequences of τ-transitions) [52], and when lifted to the weak case, weak reduction congruence turned out to be the universal relation, and thus useless [52]. For this reason, reduction bisimilarity needed to be strengthened. The main idea is that processes like a.0 and 0 can be told apart by placing them in a context |ā.ω, where ω denotes a success state that might be reached by the environment in which a process is placed. The process a.0|ā.ω can reach this success state by performing a τ-transition, whereas 0|ā.ω can not. Writing P↓ ω to indicate that a process P has reached this success state, reduction bisimilarity can be strengthened by requiring that if P↓ ω then any process Q equivalent to P should also satisfy Q↓ ω . This yields the notion of strong barbed bisimilarity. The predicate ↓ ω is called a barb. In general, one can use a collection of barbs.
Barbed bisimilarity is defined on closed-term languages L that are equipped with a binary reduction relation → ⊆ T L × T L between processes and with a collection {↓ ω ⊆ T L | ω ∈ Ω} of unary predicates on processes, called barbs.

Definition 25 Strong barbed bisimilarity is the largest symmetric relation
Strong barbed congruence, • ∼ 1c L , is the congruence closure of • ∼ w.r.t. the language L .
For process calculi equipped with a labelled transition system semantics, the reductions P → P ′ are simply the τ-transitions. However, for many languages it is possible to give a reduction semantics that generates the reductions directly, without first constricting a labelled transition system. Some languages, such as the λ -calculus, come with a natural reduction semantics, even when they have no labelled transition semantics at all. The definition of the barbs on various process calculi is somewhat ad hoc. In [52] only one barb was used, and a process has this barb when it can perform an observable action, i.e., P↓ iff P a −→ P ′ for some process P ′ and action a = τ. An alternative is to introduce a barb a for each action a = τ, taking P↓ a iff P a −→ P ′ for some P ′ . Both forms of barbs lead to the same notion of strong barbed congruence. In the π-calculus, x andx for x ∈ N are taken to be barbs (or justx), with P↓ ω iff P ω(y) −→ P ′ or P ωy −→ P ′ for some P ′ -cf. Section 6. Again, including barbs x ∈ N or not makes no difference in the resulting notion of strong barbed congruence. In fact, it does not matter at all how the barbs are defined, but only whether there are enough barbs, and how they propagate upwards through a context (that is, how the validity of C[P]↓ ω is determined by the validity of P↓ ω ). This is because in determining whether two processes P and Q are strongly barbed congruent, the barbs that help in this determination appear in contexts in which the processes P and Q are placed, rather than in P and Q themselves. For this reason, aiming for a fairly language-independent definition of barbed congruence, I propose the use of external barbs instead, defined as follows. Postulate a sufficiently large collection Ω of barbs and add each of them as a fresh constant to the language under consideration. Require them to propagate upwards through a context in the same way as τ-transitions or reduction steps. Thus, whenever the structural operational semantics of the language has a rule P i → Q f (P 1 , . . . , P n ) → R for some n-ary operator f , possibly with τ −→ in the rôle of →, then postulate a rule P i ↓ ω f (P 1 , . . . , P n )↓ ω for each barb ω ∈ Ω. Note that this agrees exactly with Definition 12 of (strong) output barbs in the π-calculus. It turns out that for CCS, the π-calculus, and in fact any language with a definition of strong barbed congruence that I am aware of, the above use of external barbs yields the same notion of strong barbed congruence as the original approach. It may be felt as a drawback that in defining strong barbed congruence on a language L , L needs to be extended, namely by the added constants ω ∈ Ω. However, as a tool to define strong barbed congruence on L this is not a big problem, as the definition on the extended language naturally restricts to L .
The treatment of barbs proposed above is strongly inspired by the success action ω in the treatment of testing equivalences by De Nicola & Hennessy [19], and by the criterion of success sensitiveness imposed by Gorla [39] on translations between process calculi. Both [19] and [39] use only a single success predicate (barb). In [39] P↓ ω is defined to hold iff P has a "top-level unguarded occurrence" of ω. Gorla defines the latter concept only for languages that are equipped with a notion of structural congruence ≡ as well as a parallel composition |. In that case P has a top-level unguarded occurrence of ω iff P ≡ Q|ω, for some Q [39]. Specialised to the π-calculus, a (top-level) unguarded occurrence is one that not lays strictly within a subterm α.Q, where α is τ,xy or x(z). As far as I know, for all languages where Gorla's definition of P↓ ω as well as mine apply, they yield the same result.
On CCS strong barbed congruence coincides with strong bisimilarity [52]. On the π-calculus strong barbed congruence coincides with strong early congruence, the congruence closure of strong early bisimilarity [76]. This testifies to the success of the barbed bisimilarity approach to defining canonical semantic equivalences for different process calculi in a uniform way. For many other calculi, strong barbed congruence is the primary proposal for a canonical semantic equivalence, and its explicit characterisation in a manner that does not involve quantification over all context is a task that merely follows.
This makes strong barbed bisimilarity an attractive candidate for the equivalence relation ∼ up to which translations between process calculi are proven valid. Theorem 4 says that if a translation between two process calculi is valid up to strong barbed bisimilarity, then it is also valid up an equivalence that on the source language coincides with strong barbed congruence, and on the image of the source language within the target language is also the congruence closure of strong barbed bisimilarity.
For "nonprompt encodings" [56], that "allow administrative (or book-keeping) steps to precede a committing step", strong (barbed) bisimilarity is too fine an equivalence to relate source processes and their translations. Here an appealing alternative is weak barbed bisimilarity, cf. Definition 13. On CCS weak barbed congruence coincides with weak bisimilarity as defined in [50]. On the π-calculus weak barbed congruence coincides with weak early congruence as used in [76], at least for image finite processes, or in general when allowing infinite sums in the π-calculus [75]. Section 6 mentioned Boudol's encoding of π into aπ as an example of a transition valid up to weak barbed bisimilarity.
In many situations one would reject translations between process calculi, that introduce (or eliminate) divergences. This can be captured in my framework by requiring validity op to weak (barbed) bisimilarity with explicit divergence [7]. It adds to Definition 13 the clause • P • ≈ Q and P⇑ implies Q⇑.
Here P⇑ denotes that there are P i for i ≥ 0 such that P = P 0 and P i → P i+1 (or P i τ −→ P i+1 ) for all i ≥ 0. Using Remark 1, Theorem 2, Observation 3 and Corollary 3 in [34], the proof of Theorem 2 in [47] shows that Boudol's encoding of π into aπ is even valid up to weak barbed bisimilarity with explicit divergence.
In most industrial applications of process calculi the rôle once played by weak bisimilarity has largely been taken over by branching bisimilarity [37]-cf. [24,18]-of which both a default version and two versions with explicit divergence are in use [36,22]. The following proposal captures these through the barbed bisimilarity methodology: Definition 26 Divergence-preserving branching barbed bisimilarity is the largest symmetric relation Here P (→) Q abbreviates (P = Q) ∨ (P → Q). See [36] for a number of equivalent versions of the last clause, i.e. with Q =⇒→ Q ′ . For weakly divergence-preserving branching barbed bisimilarity the last clause is weakened to "P • ↔ ∆ b Q and P⇑ implies Q⇑", just as for weak barbed bisimilarity with explicit divergence above. Skipping the last clause altogether yields branching barbed bisimilarity. On CCS, the congruence closures of these equivalences yield ((weakly) divergence-preserving) branching bisimilarity, as defined in the literature [22]; the proofs are not essentially different from the ones for strong and weak barbed bisimilarity. Using the remark below Observation 3 in [34], the proof of Theorem 2 in [47] can be adapted to show that Boudol's encoding of π into aπ is even valid up to divergence-preserving branching barbed bisimilarity.

Related work: full abstraction
The concept of full abstraction stems from Milner [48]. It indicates a particularly nice connection between a denotational and an operational semantics of a language L . Here a denotational semantics is a function ℄ L as introduced in Section 2, whereas an operational semantics is given by an evaluation function E : T L → Ç from the closed terms, there called programs, to a set Ç of observations.
Evaluation determines an equivalence relation on programs: P ∼ E Q iff E (P) = E (P). Let ∼ 1c E be the congruence closure of ∼ E for the language L , as defined in Section 7.

Definition 27 ([48]) The semantic function
A semantic function ℄ L always induces an equivalence relation on T L by P ≈ L Q iff P℄ L = Q℄ L .
When this semantics is defined inductively as indicated in Section 5, ≈ L must be a congruence. Now Note that any equivalence relation ∼ E can be extracted from an evaluation function E : T L → Ç, namely by taking Ç to be the set of ∼ E -equivalence classes of closed terms, with E mapping each p ∈ T L to its own equivalence class. Likewise, each congruence relation ≈ on T L can be obtained from a semantics ℄ L : take V to be the set of ≈-equivalence classes of closed terms, and for E ∈ Ì L and ρ : L → V define E℄ L (ρ) by to be the ≈-equivalence class of E[σ ], where σ : X → T L is a closed substitution that maps each variable X to a member of the ≈-equivalence class of closed terms ρ(X ). Since ≈ is a congruence, this definition is independent of the choice of σ .
Consequently, full abstraction can equally well be stated as a relation between two equivalence relations ≈ and ∼ on T L : ≈ is fully abstract w.r.t. L and ∼ iff ≈ = ∼ 1c L . It is in this spirit that full abstraction has been employed in [29] and subsequent papers.
Riecke [73] and Shapiro [77] extend the notion of full abstraction to translations between languages.
Riecke [73] compares languages L S and L T with a shared evaluation function E : T L S ∪ T L T → 2 Ç , associating with each closed expression a set of observations. Write P ⊑ E Q, for P, Q ∈ T L S ∪ T L T , if E (P) ⊆ E (Q), and let ⊑ E L i be the congruence closure of ⊑ E w.r.t. L i , for i = S, T (source and target).
He calls a translation T : Ì L S → Ì L T fully abstract iff, for all P, Q ∈ T L S , The same notion occurs earlier in Mitchell [53], although not under the name "full abstraction", and using equivalence relations instead of preorders-taking P ∼ E Q iff E (P) = E (Q). He compares the expressive power of programming languages in terms of abstraction preserving reductions between them. These are translations that are compositional as well as fully abstract in the above sense. Later work abstracts from the evaluation function E , and casts full abstraction directly in terms of equivalences ∼ S and ∼ T on the source and target languages [74]. Felleisen [21] compares the expressive power of programming languages through a notion of eliminability of language constructs. With some effort, this approach can be seen to have significant similarities with the approach of Mitchell [53], although it allows certain degenerate reductions [53].
Whereas most work on expressiveness deals with closed-term languages, allowing a focus on syntax over semantics, Shapiro [77] works entirely on the semantic side, leaving the syntax largely implicit. His languages are triples (V, L , ∼), consisting of a semantic domain V, a collection L of partial operators on V, and a semantic equivalence ∼ on V. A language embedding of one such language (V S , L S , ∼ S ) into another (V T , L T , ∼ T ) is defined to be a homomorphism of the partial algebra (V S , L S ) into the partial algebra (V T , L T ). Recasting this definition in terms of my framework, this is a function R: V S → V T such that there exists a compositional translation T : L 1 → L 2 correct w.r.t. R (as in Definition 3). For i = S, T let ∼ i L i be the congruence closure of ∼ i w.r.t. L i -Shapiro calls this the fully-abstract congruence of L i . Then a language embedding is deemed fully abstract iff, for all In [78] these fully abstract language embeddings are used to classify a number of concurrent programming languages on expressive power. In Nestmann & Pierce [56] the notion of full abstraction was generalised by dropping the requirement that the source and target equivalences being compared need to be congruence closures.
Definition 28 A translation T : Ì L S → Ì L T is fully abstract w.r.t. the equivalences ∼ S ⊆ T 2 L S and ∼ T ⊆ T 2 L T if, for all P, Q ∈ T L S , P ∼ S Q ⇔ T (P) ∼ T T (Q) .
In this form, full abstraction has found widespread applications [54,5]. Fu [23], for instance, bases a theory of expressiveness on full abstraction, with divergence-preserving branching barbed bisimilarity in the rôle of ∼ S and ∼ T . As stressed in [40,62], the notion of full abstraction is meaningful only in relation to a well-chosen pair of source and target equivalences, and only in combination with a criterion like compositionality. In particular, for each encoding T and each target equivalence ∼ T there exits a source term equivalence ∼ S , namely {(P, Q) | T (P) ∼ T T (Q)}, such that T is fully abstract w.r.t. ∼ S and ∼ T . For each injective encoding T and each source term relation ∼ S , there exits ∼ T ⊆ T 2 L T , namely {(T (P), T (Q)) | P ∼ S Q}, such that T is fully abstract w.r.t. ∼ S and ∼ T . Finally, for each pair ∼ S and ∼ T such that the cardinality of T L T / ∼ T greater than or equal to the cardinality of T L S / ∼ S there exists a translation from L S to L T that is fully abstract w.r.t. ∼ S and ∼ T .
Naturally, any translation that is valid up to an equivalence ∼ as in Definition 5 of the current paper is also fully abstract, namely w.r.t. the same equivalence ∼ in the rôle of both ∼ S and ∼ T . Furthermore, validity entails compositionality through Corollary 2. Both full abstraction and validity imply an injective translation from the ∼ S -equivalence classes of closed source terms to the ∼ T -equivalence classes of closed target terms. However, validity demands that this link between source and target terms is again governed by ∼, whereas full abstraction implies no counterpart to this crucial requirement.
A typical example of a valid transition is the encoding of the synchronous into the asynchronous πcalculus described in Section 6. This encoding is valid up to weak barbed bisimilarity • ≈. Consequently is it also fully abstract w.r.t.
• ≈ and • ≈ according to Definition 28. However, it is not fully abstract w.r.t.

• ≈ and
• ≈ in the more original sense of Shapiro [77] and others, due to the fact that • ≈ is not a congruence for either the source or the target language. By Theorem 4 the same translation is also fully abstract w.r.t the congruence closure of • ≈ on the source language, and a somewhat artificial equivalence on the target language that is the congruence closure of • ≈ under translated source contexts. Although closer, this is still not a full-abstraction result according to Shapiro, as the latter equivalence fails to be a congruence for all of the target language. Finally, by Theorem 6, the same encoding is furthermore fully abstract w.r.t. the congruence closure of • ≈ on the target language, and an artificial congruence on the source language that is strictly finer than the congruence closure of • ≈ on the source language. This is a full abstraction result in the framework of [77]. However, in line with the observations of [40,62], the latter two full abstraction results should not be regarded as lending additional credibility to this particular encoding of the synchronous into the asynchronous π-calculus. Since Theorems 4 and 6 hold in great generality, these full abstraction results are merely consequences of the validity of the encoding up to • ≈. It is well known that Boudol's encoding-described in Section 6-of the synchronous into the asynchronous π-calculus fails to be fully abstract w.r.t. ∼ = c and ∼ = c a . Here ∼ = c is the congruence closure of • ≈ on the source language, and ∼ = c a the congruence closure of • ≈ on the target language. A counterexample was given at the end of Section 8. The same analysis applies to a similar encoding proposed by Honda & Tokoro [44]. In [20] this problem is addressed by proposing a strict subcalculus SAπ of the target language that contains the image of the source language under of a version Honda & Tokoro's encoding, such that this encoding is fully abstract w.r.t. ∼ = c and the congruence closure of • ≈ w.r.t. SAπ. In [72] a similar solution to the same problem was found earlier, but for a variant of Boudol's encoding from the polyadic π-calculus to the (monadic) asynchronous π-calculus. They defined a class of well-typed expressions in the asynchronous π-calculus, such that the well-typed expressions constitute a subcalculus of the target language that contains the image of the source language under the encoding. Again, the encoding is fully abstract w.r.t. ∼ = c and the congruence closure of • ≈ w.r.t. that sublanguage. By Theorem 4 such results can always be achieved, namely by taking as target language exactly the image of the source language under the encoding. What the results of [72,20] add is that the sublanguage may be strictly larger than the image of the source language, and that its definition is not phrased in terms of the encoding.

Related work: validity of encodings according to Gorla
In the last twenty years, a great number of encodability and separation results have appeared, comparing CCS, Mobile Ambients, and several versions of the π-calculus (with and without recursion; with mixed choice, separated choice or asynchronous) [74,45,8,60,56,57,54,17,16,12,15,4,5,59,58,69,14,81,13,42,70,80,1,43,66,2]; see [38,39] 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 [55], [61] and [63]. Gorla [39] 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. Since then, several authors have used Gorla's framework as a basis for establishing new valid encodings and separation results [38,46,68,65,67,25,26,27,28]. Like Boudol [9] and the present paper, Gorla requires a compositionality condition for encodings. However, his criterion differs on two counts from mine. It is stronger in that the expression E f encoding an operator f may use each variable corresponding to an argument of f only once. A translation defined (in part) by T ( f (P)) = g(T (P) T (P)) for instance can be compositional according to Definition 21, but not according to Gorla's definition. It is weaker than mine 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 [32]. It is an interesting topic for future research to see if there are any valid encodability resultsà la [39] that suffer from my proposed strengthening of compositionality.
The second criterion of [39] 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 [32] I argue that this criterion as formalised in [39] 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-see Section 17), using external barbs as defined in Section 17, then any valid translation in my sense satisfies Gorla's semantic criteria, provided that the equivalence ≍ 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 [32] and [39] are further discussed in [64].
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.