A Theory of Encodings and Expressiveness

(extended abstract)

Rob van Glabbeek^{1,2}

1 Data61, CSIRO, Sydney, Australia

2 Comput. Sci. and Engineering, University of New South Wales, Sydney, Australia

Abstract. This paper proposes a definition of what it means for one system description language to encode another one, thereby enabling an ordering of system description languages with respect to expressive power. I compare the proposed definition with other definitions of encoding and expressiveness found in the literature, and illustrate it on a well-known case study: the encoding of the synchronous in the asynchronous π-calculus.

1 Introduction

This paper, like [21,16], 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 [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] and [14] 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 [43,2,30,31,7,1,33,38].

In [16] I alleviated these two restrictions by proposing two notions of encoding: correct and valid translations up to ∼. Each of them generalises the proposals of [3] and [14]. 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 [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 Sect. 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.

Sect. 3 shows that this concept generalises the notion of a correct translation from [16]: 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, [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. Sect. 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.

Sect. 6 illustrates the framework on a well-known case study: the encoding of the synchronous in the asynchronous π-calculus.

Sect. 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. Sect. 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.

Sect. 9 concludes that the framework established thus far is great for comparing the expressiveness of languages, but falls short for the purpose of combining language features. This requires a congruence reflection theorem, provided in Sect. 12, for languages satisfying postulates formulated in Sects. 5, 10 and 11.

Sect. 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.

Sect. 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 L as a pair (𝕋_{L}, ⟦ ⟧_{L}) of a set 𝕋_{L} of valid expressions in L and a mapping ⟦ ⟧_{L} : 𝕋_{L} → D_{L} from 𝕋_{L} in some set of meanings D_{L}. Definition 1 ([16]) A translation from a language L into a language L′ is a mapping T : 𝕋_{L} → 𝕋_{L′}. In this paper, I consider single-sorted languages L in which expressions or terms are built from variables (taken from a set X) by means of operators (including constants) and possibly recursion constructs. For such languages the meaning ⟦E⟧_{L} of an L-expression E is a function of type (X → V) → V for a given sets of values V. It associates a value ⟦E⟧_{L}(ρ)∈V to E that depends on the choice of a valuation ρ: X→V. The valuation associates a value from 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 L and L′ may be interpreted in different domains of values V and V′.

Let L and L′ be languages as considered above, with semantic mappings

⟦ ⟧_{L} : 𝕋_{L} → ((X → V) → V) and ⟦ ⟧_{L′} : 𝕋_{L′} → ((X → V′) → V′).

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

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 Obs. 2 and Thm. 2 below, it

a translation of an expression with meaning v into an expression with meaning v′. Below, target values of a translation (in 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 V and V′ be domains of values in which two languages L and L′ are interpreted. A semantic translation from V into V′ is a relation R ⊆ V′ × V such that ∀v ∈ V. ∃v′ ∈ V′. v′ R v. 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. Definition 4 A translation T : 𝕋_{L} → 𝕋_{L′} is correct up to •∼ iff •∼ is an equivalence, the restriction R of •∼ to V′ × V is a semantic translation, and T is correct w.r.t. R. Definition 5 A translation T is valid up to •∼ iff it is correct w.r.t. some semantic translation R ⊆ •∼. Language L′ is at least as expressive as L up to •∼ if a translation valid up to •∼ from L into 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 ∼ was defined, for ∼ a semantic equivalence on Z. Here two valuations η, ρ : X → Z are called ∼-equivalent, η ∼ ρ, if η(X) ∼ ρ(X) for each X ∈ X. 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 Loperator evaluates the argument value v, and this aspect of the language has no counterpart in L′. Therefore, [16] requires

∀v ∈ V. ∃v′ ∈ V′. v′ ∼ v.  (1)

This implies that for any valuation ρ: X → V there is an η: X → V′ with η ∼ ρ. Definition 6 ([16]) A translation T from L into L′ is correct up to ∼ iff (1) holds and ⟦T (E)⟧_{L′}(η) ∼ ⟦E⟧_{L}(ρ) for all E ∈ 𝕋_{L} and all valuations η : X → V′ and ρ : X → V with η ∼ ρ.

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.

Note that this definition agrees completely with Def. 4. Requirement (1) above corresponds to R being a semantic translation in Def. 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 ν, ρ: X → V with ν ∼ ρ.^{2}

Proposition 1 ([16]) If T is a correct translation up to ∼ from L into L′, then ∼ is a congruence for L.

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 := {v ∈ V′ | ∃v ∈ V. v′ ∼ v}. In [16] this called a congruence for T (L). Definition 8 Let T : 𝕋_{L} → 𝕋_{L′} be a translation from L into L′. An equivalence ∼ on V′ is a congruence for T (L) if ⟦T (E)⟧_{L′}(θ) ∼ ⟦T (E)⟧_{L′}(η) for any E ∈ 𝕋_{L} and θ, η:X→U with θ ∼ η.

Proposition 2 ([16]) 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 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 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). ¶

4 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 •≈ on Z if v •∼ w ⇒ v •≈ w for all v, w ∈ Z. 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 Obs. 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 yields a stronger claim.

2 This is called a lean congruence in [17]; in the presence of recursion, stricter congruence requirements are common. Those are not needed in this paper.

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}. ¶ Thm. 2 and Obs. 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 n∈IN, 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},

– 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

⟦X⟧_{L}(ρ) = ρ(X) and ⟦f(E_{1}, …, E_{n})⟧_{L}(ρ) = f^{V}(⟦E_{1}⟧_{L}(ρ), …, ⟦E_{n}⟧_{L}(ρ))

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) = ∅. If P ∈ T_{L} and V ≠ ∅ then ⟦P⟧_{L}(ρ) is independent of the choice of ρ : X → V, and therefore denoted ⟦P⟧_{L}. Definition 9 A substitution in L is a partial function σ : X ⇀ 𝕋_{L} from the variables to the L-expressions. 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[σ]. 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 Translating a synchronous into an asynchronous π

As an illustration of the concepts introduced above, consider the π-calculus as presented in [28], i.e., the one of [44] 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

E ::= X | 0 | x̄y.E | x(z).E | E|E′ | (νz)E | !E

with x, y, z ranging over N, and X over 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 π-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 π-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

\begin{matrix}P_{1}|(P_{2}|P_{3}) ≡ & (P_{1}|P_{2})|P_{3} & !P ≡ & P |!P & (νw)(P |Q) ≡ & P |(νw)Q \\ P_{1}|P_{2} ≡ & P_{2}|P_{1} & (νz)0 ≡ & 0 & x(z).P ≡ & x(w).P \{w/z\} \\ P |0 ≡ & P & (νz)(νw)P ≡ & (νw)(νz)P & (νz)P ≡ & (νw)P \{w/z\} \end{matrix} .

Here the rightmost column only holds when w ∉ n(P), and 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 fol-

lowing rules. \overline{x̄z.P |x(y).Q → P |Q\{z/y\}} (z ∉ bn(Q))

\frac{P → P′}{P |Q → P′|Q}  \frac{P → P′}{(νz)P → (νz)P′}  \frac{Q ≡ P P → P′ P′ ≡ Q′}{Q → Q′}

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 action x̄z. This is defined inductively:

(x̄z.(P))↓x̄  \frac{P ↓x̄}{(P |Q)↓x̄}  \frac{Q↓x̄}{(P |Q)↓x̄}  \frac{P ↓x̄ x ≠ z}{((νz)P)↓x̄}  \frac{P ↓x̄}{(!P)↓x̄}

A process P has a weak output barb on x, P ⇓x̄, if there is a P′ with P ⟹ P′⇓x̄.

A common semantic equivalence applied in the π-calculus is weak barbed congruence [29,44]. Definition 13 Weak (output) barbed bisimilarity is the largest symmetric relation ≈^{•} ⊆ T_{π} × T_{π} such that

– P ≈^{•} Q and P ↓x̄ implies Q⇓x̄, and

– P ≈^{•} Q and P ⟹ P′ implies Q ⟹ Q′ for some Q′ with P′ ≈^{•} Q′. Weak barbed congruence, ≅^{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 x̄z.0 ≅^{c̸} (νu)(x̄u.0|u(v).v̄z.0). For let E := X|x(u).ūv.0 with ρ(X) = x̄z.0 and ζ(X) = (νu)(x̄u.0|u(v).v̄z.0). Then E[ζ] → (νu)(u(v).v̄z.0|ūv.0) → (v̄z.0)↓v̄ but (E[ρ])⇓̸v̄. The asynchronous π-calculus, as introduced by Honda & Tokoro in [24] and by Boudol in [4], is the sublanguage aπ of the fragment π of the π-calculus presented above where all subexpressions x̄y.E have the form x̄y.0. Asynchronous barbed congruence, ≅_{a}^{c}, is the largest congruence for the asynchronous π-calculus included in ≈^{•}. Since aπ is a sublanguage of π, ≅_{a}^{c} is at least as coarse an equivalence as ≅^{c}, i.e. ≅^{c} ⊆ ≅_{a}^{c}. The inclusion is strict, since !x(z).x̄z.0 ≅_{a}^{c} 0, yet !x(z).x̄z.0 ≅^{c̸} 0 [44]. Since all expressions used in Example 1 belong to aπ, one even has x̄z.0 ≅_{a̸}^{c} (νu)(x̄u.0|u(v).v̄z.0).

Boudol [4] defined a translation T from π to aπ inductively as follows:

T (X) = X  for X ∈ X
T (0) = 0
T (x̄z.P) = (u)(x̄u|u(v).(v̄z|T (P))) choosing u, v ∉ n(P), u ≠ v
T (x(y).P) = x(u).(v)(ūv|v(y).T (P)) choosing u, v ∉ n(P), u ≠ v
T (P |Q) = (T (P)|T (Q))
T (!P) = !T (P)
T ((νx)P) = (νx)T (P)

Example 1 shows that T is not valid up to ≅^{c}. In fact, it is not even valid up to ≅_{a}^{c}. However, as shown in [25], it is valid up to ≈^{•}. Since ≈^{•} is not a congruence (for π or aπ) it is not correct up to ≈^{•}.

7 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 ν, ρ : X → V with ν ∼^{1} ρ. Here ν, ρ are ∼^{1}-equivalent, ν ∼^{1} ρ, if ν(X) ∼ ρ(X) for some X ∈ X and ν(Y) = ρ(Y) for all variables Y ≠ X.

An n-hole congruence for any finite n ∈ IN 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 ∈ IN. However, in the presence of operators with infinitely many arguments, a 1-hole congruence need not be a congruence. Example 2 Let V be (IN × IN) ∪ {∞}, with the well-order ≤ on V inherited lexicographically from the default order on IN and ∞ the largest element. So (n, m) ≤ (n′, m′) iff n ≤ n′ ∨ (n = m ∧ m ≤ m′). Consider the language L with constants 0, 1 and (1), interpreted in V as (0, 0), (1, 0) and (0, 1), respectively, the binary operator +, interpreted by (n_{1}, m_{1}) +^{V} (n_{2}, m_{2}) = (n_{1}+n_{2}, m_{1}+m_{2}) and ∞ + E = E + ∞ = ∞, and the construct sup(E_{i})_{i∈I} that takes any number of arguments (dependent on the set of the index sets I). 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∈IN} = (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

((n_{1}, m_{1})∼(n′_{1}, m′_{1}) ∧ (n_{2}, m_{2})∼(n′_{2}, m′_{2})) ⇒ (n_{1}, m_{1})+(n_{2}, m_{2}) ∼ (n′_{1}, m′_{1})+(n′_{2}, m′_{2}).

Yet it fails to be a congruence: (n, i) ∼ (n, 0) for all i ∈ IN, but

(n+1, 0) = sup((n, i))_{i∈IN} ≁ sup((n, 0))_{i∈IN} = (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 [22] 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 ∼_{L}^{1c}, and call it the congruence closure of ∼ w.r.t. L. One has v_{1} ∼_{L}^{1c} v_{2} for v_{1}, v_{2} ∈ V iff ⟦E⟧_{L}(ν) ∼ ⟦E⟧_{L}(ρ) 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 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 (n, m) ∼_{k} (n′, m′) iff n = n′∧(m = m′∨m, m′ ≤ k). It is easy to check that all ∼_{k} for k ∈ IN 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 ∼_{L}^{1c} 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 ∼_{L}^{1c} is in fact a congruence relation. As an example, consider weak bisimilarity [27]. This equivalence relation fails to be a congruence for ∑. However, the coarsest 1hole 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 T be a translation from L into L′. A subset W of V′ is closed under T (L) if ⟦T (E)⟧(η) ∈ W for any expression E ∈ 𝕋_{L} and valuation η : X → W. An equivalence ∼ on W is a congruence (respectively 1-hole congruence) for T (L) on W if for any E ∈ 𝕋_{L} and θ, η : X → W with θ ∼ η (respectively θ ∼^{1} η) one has ⟦T (E)⟧_{L′}(θ) ∼ ⟦T (E)⟧_{L′}(η). Proposition 3 Let T be a translation from L into L′ that is correct w.r.t. a semantic translation R ⊆ V′ × V. Let R(V) := {v′ ∈ V′ | ∃v ∈ V. v′ R v}. Then R(V) is closed under T (L). Proof: Let E ∈ 𝕋_{L} and η : X → R(V). Take ρ : X → V with ρ R η. Then ⟦T (E)⟧_{L′}(η) R ⟦E⟧_{L}(ρ). Since ⟦E⟧_{L}(ρ) ∈ V one has ⟦T (E)⟧_{L′}(η) ∈ R(V). □ Proposition 4 Let the translation T from L into L′ be correct w.r.t. the semantic translation R ⊆ ∼. Then ∼ is a (1-hole) congruence for L iff it is a (1-hole) congruence for T (L) on R(V). Proof: First suppose ∼ is a congruence for L. Let E ∈𝕋_{L} and θ, η : X → R(V) with θ ∼ η. By the definition of R(V) there are valuations ν, ρ : X → V with θ R ν and η R ρ. Now ν ∼ θ ∼ η ∼ ρ, so

⟦T (E)⟧_{L′}(θ) R ⟦E⟧_{L}(ν) ∼ ⟦E⟧_{L}(ρ) R^{−1} ⟦T (E)⟧_{L′}(η)

and hence ⟦T (E)⟧_{L′}(θ) ∼ ⟦T (E)⟧_{L′}(η). The other direction proceeds in the same way.

Now suppose ∼ is a 1-hole congruence for L. Let E∈𝕋_{L} and θ, η : X → R(V) with θ ∼^{1} η. Then θ(X) ∼ η(X) for some X ∈ X and θ(Y) = η(Y) for all Y ≠ X. So there must be ν, ρ : X → V with θ R ν, η R ρ and ν(Y) = ρ(Y) for all Y ≠ X. Since ν(X) ∼ θ(X) ∼ η(X) ∼ ρ(X) it follows that ν ∼^{1} ρ. 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. Def. 8—for it proceeds by restricting attention to valuations into R(V) ⊆ U. ¶

8 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 Sect. 6, with ≈^{•} in the rôle of ∼ and ≅^{c} in the rôle of ∼^{c}. Now Thm. 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 ∼_{L,R}^{1c} that extends ∼^{c} from V to a subdomain W of V′ that suffices for the interpretation of translated expressions from L. This equivalence ∼_{L,R}^{1c} 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.

Let L and L′ be languages with ⟦ ⟧_{L} : 𝕋_{L} → ((X → V) → V) and ⟦ ⟧_{L′} : 𝕋_{L′} → ((X → V′) → V′). In this section I assume that V∩V′ = ∅. 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 R, let ≡_{R} ⊆ (V ∪ V′)^{2} be the smallest equivalence relation on V ∪ V′ containing R. Theorem 3 If a translation T is correct w.r.t. the semantic translation R, then ≡_{R} is a 1-hole congruence for L. ¶ By Prop. 4 ≡_{R} also is a 1-hole congruence for T (L) on R(V). Only the subset R(V) of V′ matters for the purpose of translating L into L′. On V′ \ R(V) the equivalence ≡_{R} is the identity. 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 ∼_{L,R}^{1c}, contained in ∼, such that (1) the restriction of ∼_{L,R}^{1c} to V is the largest 1-hole congruence for L contained in ∼, (2) the set W := {v ∈ V′ | ∃v ∈ V. v′ ∼_{L,R}^{1c} v} is closed under T (L), and (3) the restriction of ∼_{L,R}^{1c} to W is the largest 1-hole congruence for T (L) on W that is contained in ∼. ¶ Note that each equivalence class of ∼_{L,R}^{1c} on V ∪ W melts an equivalence class of ∼_{L,R}^{1c} on V with one of ∼_{L,R}^{1c} on W. Moreover, on V the relation is completely determined by L and ∼. However, in general the whole relation ∼_{L,R}^{1c} is not completely determined by L and ∼. ¶ 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 ∼_{L}^{1} of ∼ w.r.t. L is in fact a congruence. Then T is correct up to the equivalence ∼_{L,R}^{1c} described in Thm. 4. ¶

The languages π and aπ of Sect. 6 do not feature operators (or other constructs) of infinite arity. Hence the congruence closure ∼_{π}^{1c} or ∼_{aπ}^{1c} of an equivalence ∼ on π or aπ is always a congruence. So by Cor. 1 Boudol’s translation T is correct up to an equivalence ≈^{•}_{π,R}^{c}, 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 Thm. 4, the restriction of ≈^{•}_{π,R}^{c} to a subdomain W ⊆ T_{aπ} is the largest congruence for T (π) on W that is contained in ∼. As ≅_{a}^{c} 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 ≈^{•}_{π,R}^{c}. This inclusion turns out to be strict. As an illustration of that, note that x̄z.0|x̄z.0 ≅^{c} x̄z.x̄z0. (This follows since these processes are strong (early) bisimilar [44] and thus strong full bisimilar by [44, Def. 2.2.2].) Consequently, their translations must be related by ≈^{•}_{π,R}^{c}. So, for distinct u, v, y, w, x, z ∈ N,

(u)(x̄u|u(v).(v̄z|0))|(u)(x̄u|u(v).(v̄z|0)) ≈^{•}_{π,R}^{c} (y)(x̄y|u(w).(w̄z|(u)(x̄u|u(v).(v̄z|0)))).

Yet, these processes are not ≅_{a}^{c}-equivalent, as can be seen by putting them in a context x(y).x(y).r̄(s)|X. There, only the left-hand side has a weak barb ⇓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 T from L to L′ up to ∼, and (as usual) ∼_{L}^{1c} is a congruence, then all truths that can be expressed in terms of L can be mimicked in L′. For the congruence classes of ∼_{L}^{1c} 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 ≅_{a}^{c} on T_{aπ} would be the right congruence relation to consider for aπ. Ideally, this congruence would extend to an equivalence ≅_{π,aπ}^{c} on the disjoint union T_{π} ⊎ T_{aπ}, such that the restriction of ≅_{π,aπ}^{c} to T_{π} is a congruence for π. Necessarily, this congruence on T_{π} would have to distinguish the terms x̄z.0|x̄z.0 and x̄z.x̄z0, since their translations are distinguished by ≅_{a}^{c}. One therefore expects ≅_{π,aπ}^{c} 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 ≅_{π,aπ}^{c} to that subset (1) coincides with ≅_{a}^{c} and (2) is strictly finer than ≅^{c}. This contradicts the fact that ≅^{c} is strictly finer than ≅_{a}^{c}.

In Sect. 12 I will show that such a congruence ≅_{π,aπ}^{c} 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. ¶

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 α-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 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 Def. 10 define α-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 σ such that E =^{α} H[σ]. A term f(c, g(c)), for instance, can be written as H[σ] where H = f(X_{1}, X_{2}) is a head, and σ : {X_{1}, X_{2}} → 𝕋_{L} is given by σ(X_{1}) = c and σ(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}. σ is standardised through a particular choice of the bound variables that may occur in the expressions σ(X). A head for a recursive expression μX.f(g(c), g(g(X))) is μ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 α-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 [16] I limited attention to languages satisfying

if E =^{α} F then ⟦E⟧_{L} = ⟦F⟧_{L}.  (2)

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 =^{α}-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 =^{α}_{L} is an equivalence. Postulate 2 =^{α}_{L} is an equivalence relation.

This postulate is needed in Sect. 12. I also need to restrict attention to preorders •∼ with =^{α}_{L} ⊆ •∼. When that holds I say that the preorder •∼ respects =^{α}_{L}. If (2) holds—which strengthens of Postulate 2—then any preorder respects =^{α}_{L}.

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 T from L into L′ is compositional if

(1) T (E[σ]) =^{α} T (E)[T ∘ σ] for each E ∈ 𝕋_{L} and σ : fv(E) → 𝕋_{L},

(2) E =^{α} F implies T (E) =^{α} T (F) for all E, F ∈ 𝕋_{L},

(3) 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 Def. 18 is more general and covers language constructs other than functions, such as recursion. Requiring equality rather than =^{α} is too demanding. ¶ Lemma 1 If T_{1} : 𝕋_{L_{1}} → 𝕋_{L_{2}} and T_{2} : 𝕋_{L_{2}} → 𝕋_{L_{3}} are compositional translations, then so is their composition T_{2} ∘T_{1} : 𝕋_{L_{1}} → 𝕋_{L_{3}}, defined by T_{2} ∘T_{1}(E) := T_{2}(T_{1}(E)) for all E ∈ L_{1}. Proof: (1) T_{2}(T_{1}(E[σ])) =^{α} T_{2}(T_{1}(E)[T_{1} ∘ σ]) =^{α} T_{2}(T_{1}(E))[T_{2} ∘ T_{1} ∘ σ]) for each σ : X ⇀ 𝕋_{L_{1}} and E ∈ 𝕋_{L_{1}}. Here the derivation of the first =^{α} uses Property (2) of Def. 18—and this is the reason for requiring that property.

(2) E=^{α}F implies T_{1}(E)=^{α}T_{1}(F) and T_{2}(T_{1}(E)) =^{α} T_{2}(T_{1}(F)) for all E, F ∈𝕋_{L}.

(3) T_{2}(T_{1}(X)) = T_{2}(X) = X for each X ∈ X. □ Theorem 5 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) translation from L into 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 Thm. 5, no great sacrifices are made by assuming that the translation T is compositional. Other “mild conditions” needed 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 ≈. ¶

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 T : 𝕋_{L_{S}} → 𝕋_{L_{T}} is fully abstract w.r.t. the equivalences ∼_{S} ⊆T_{L_{S}}^{2} and ∼_{T} ⊆T_{L_{T}}^{2} if, for all P, Q ∈ T_{L_{S}}, P ∼_{S} Q ⇔ T (P) ∼_{T} T (Q). In [42,45], ∼_{S} and ∼_{T} are required to be congruence closures—see [18] for more detail. The simplified definition above was used in [31,30,1]. 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 ∼_{S} and ∼_{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 π-calculus (with and without recursion; with mixed choice, separated choice or asynchronous) [43,2,34,31,32,30,8,5,7,1,33,41,46,6,38,40,23,11,12,13,39]; 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] and [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. Def. 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 ≡ 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] and [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.

References

1. M. Baldamus, J. Parrow & B. Victor (2005): A Fully Abstract Encoding of the pi-Calculus with Data Terms. In: Proc. ICALP’05, LNCS 3580, Springer, pp. 1202–1213, doi:10.1007/11523468 97.

2. M. Boreale (1998): On the Expressiveness of Internal Mobility in Name-Passing Calculi. TCS 195(2), pp. 205–226, doi:10.1016/S0304-3975(97)00220-X.

3. G. Boudol (1985): Notes on algebraic calculi of processes. In K. Apt, editor: Logics and Models of Concurrent Systems, Springer, pp. 261–303. NATO ASI Series F13.

4. G. Boudol (1992): Asynchrony and the π-calculus (Note). Tech. Rep. 1702, INRIA.

5. N. Busi, M. Gabbrielli & G. Zavattaro (2009): On the expressive power of recursion, replication and iteration in process calculi. Mathematical Structures in Computer Science 19(6), pp. 1191–1222, doi:10.1017/S096012950999017X.

6. D. Cacciagrano, F. Corradini, J. Aranda & F.D. Valencia (2008): Linearity, Persistence and Testing Semantics in the Asynchronous Pi-Calculus. ENTCS 194(2), pp. 59–84, doi:10.1016/j.entcs.2007.11.006.

7. M. Carbone & S. Maffeis (2003): On the Expressive Power of Polyadic Synchronisation in pi-calculus. Nordic Journal of Computing 10(2), pp. 70–98.

8. L. Cardelli & A.D. Gordon (2000): Mobile ambients. TCS 240(1), pp. 177–213, doi:10.1016/S0304-3975(99)00231-5.

9. R. De Nicola & M. Hennessy (1984): Testing equivalences for processes. TCS 34, pp. 83–133, doi:10.1016/0304-3975(84)90113-0.

10. Y. Fu (2016): Theory of interaction. Theoretical Computer Science 611, pp. 1–49, doi:10.1016/j.tcs.2015.07.043.

11. T. Given-Wilson (2014): Expressiveness via Intensionality and Concurrency. In: Proc. ICTAC’14, LNCS 8687, pp. 206–223, doi:10.1007/978-3-319-10882-7 13.

12. T. Given-Wilson (2014): On the Expressiveness of Intensional Communication. In: Proc. EXPRESS/SOS’14, EPTCS 160, pp. 30–46, doi:10.4204/EPTCS.160.4.

13. T. Given-Wilson & A. Legay (2015): On the Expressiveness of Joining. In: Proc. ICE’15, EPTCS 189, pp. 99–113, doi:10.4204/EPTCS.189.9.

14. R.J. van Glabbeek (1994): On the expressiveness of ACP (extended abstract). In: Proc. ACP’94, Workshops in Computing, Springer, pp. 188–217. Available at http://theory.stanford.edu/~rvg/abstracts.html#31.

15. R.J. van Glabbeek (2005): A Characterisation of Weak Bisimulation Congruence. In: Processes, Terms and Cycles, LNCS 3838, pp. 26–39, doi:10.1007/11601548 4.

16. R.J. van Glabbeek (2012): Musings on Encodings and Expressiveness. In: Proc. EXPRESS/SOS’12, EPTCS 89, pp. 81–98, doi:10.4204/EPTCS.89.7.

17. R.J. van Glabbeek (2017): Lean and Full Congruence Formats for Recursion. In: Proc. LICS’17, doi:10.1109/LICS.2017.8005142.

18. R.J. van Glabbeek (2018): A Theory of Encodings and Expressiveness. Available at http://theory.stanford.edu/~rvg/abstracts.html#tra. Full version of current paper.

19. R.J. van Glabbeek, B. Luttik & N. Trčka (2009): Branching Bisimilarity with Explicit Divergence. Fund. Inform. 93(4), pp. 371–392, doi:10.3233/FI-2009-109.

20. D. Gorla (2010): A taxonomy of process calculi for distribution and mobility. Distributed Computing 23(4), pp. 273–299, doi:10.1007/s00446-010-0120-6.

21. D. Gorla (2010): Towards a unified approach to encodability and separation results for process calculi. I&C 208(9), pp. 1031–1053, doi:10.1016/j.ic.2010.05.002.

22. G. Grätzer (2010): Lattice Theory: Foundation. doi:10.1007/978-3-0348-0018-1.

23. M. Hatzel, C. Wagner, K. Peters & U. Nestmann (2015): Encoding CSP into CCS. In: Proc. EXPRESS/SOS’15, EPTCS 190, pp. 61–75, doi:10.4204/EPTCS.190.5.

24. K. Honda & M. Tokoro (1991): An Object Calculus for Asynchronous Communication. In: Proc. ECOOP’91, LNCS 512, pp. 133–147, doi:10.1007/BFb0057019.

25. C. Lippert, S. Mennicke, R.J. van Glabbeek & U. Goltz (2018): A Case Study on Evaluating Encodings Between Process Calculi. Technical report, available at http://theory.stanford.edu/~rvg/abstracts.html#129.

26. R. Milner (1975): Processes: A Mathematical Model for Computing Agents. In: Logic Colloquium ’73, Studies in Logic and the Foundations of Mathematics 50, Elsevier, pp. 157–173, doi:10.1016/S0049-237X(08)71948-7.

27. R. Milner (1990): Operational and algebraic semantics of concurrent processes. In: Handbook of Theoretical Computer Science, chapter 19, pp. 1201–1242.

28. R. Milner (1992): Functions as Processes. Mathematical Structures in Computer Science 2(2), pp. 119–141, doi:10.1017/S0960129500001407.

29. R. Milner & D. Sangiorgi (1992): Barbed Bisimulation. In: Proc. ICALP’92, LNCS 623, Springer, pp. 685–695, doi:10.1007/3-540-55719-9 114.

30. U. Nestmann (2000): What is a “Good” Encoding of Guarded Choice? I&C 156(1-2), pp. 287–319, doi:10.1006/inco.1999.2822.

31. U. Nestmann & B.C. Pierce (2000): Decoding Choice Encodings. I&C 163(1), pp. 1– 59, doi:10.1006/inco.2000.2868. An earlier version appeared in Proc. CONCUR’96.

32. C. Palamidessi (2003): Comparing The Expressive Power Of The Synchronous And Asynchronous Pi-Calculi. Mathematical Structures in Computer Science 13(5), pp. 685–719, doi:10.1017/S0960129503004043.

33. C. Palamidessi, V.A. Saraswat, F.D. Valencia & B Victor (2006): On the Expressiveness of Linearity vs Persistence in the Asychronous Pi-Calculus. In: Proc. LICS’06, IEEE Computer Society Press, pp. 59–68, doi:10.1109/LICS.2006.39.

34. J. Parrow (2000): Trios in concert. In: Proof, Language, and Interaction, Essays in Honour of Robin Milner, The MIT Press, pp. 623–638.

35. J. Parrow (2008): Expressiveness of Process Algebras. ENTCS 209, pp. 173–186, doi:10.1016/j.entcs.2008.04.011.

36. K. Peters (2012): Translational Expressiveness. Comparing Process Calculi using Encodings. Ph.D. thesis, TU Berlin, doi:10.14279/depositonce-3416.

37. K. Peters & R.J. van Glabbeek (2015): Analysing and Comparing Encodability Criteria. In: EXPRESS/SOS’15, EPTCS 190, pp. 46–60, doi:10.4204/EPTCS.190.4.

38. K. Peters & U. Nestmann (2012): Is It a “Good” Encoding of Mixed Choice? In: Proc. FoSSaCS’12, LNCS 7213, pp. 210–224, doi:10.1007/978-3-642-28729-9 14.

39. K. Peters & U. Nestmann (2016): Breaking symmetries. Mathematical Structures in Computer Science 26(6), pp. 1054–1106, doi:10.1017/S0960129514000346.

40. K. Peters, U. Nestmann & U. Goltz (2013): On Distributability in Process Calculi. In: Proc. ESOP’13, LNCS 7792, pp. 310–329, doi:10.1007/978-3-642-37036-6 18.

41. I. Phillips & M.G. Vigliotti (2006): Leader election in rings of ambient processes. TCS 356(3), pp. 468–494, doi:10.1016/j.tcs.2006.02.004.

42. J.G. Riecke (1991): Fully Abstract Translations between Functional Languages. In: Proc. POPL’91, ACM Press, pp. 245–254, doi:10.1145/99583.99617.

43. D. Sangiorgi (1993): From π-calculus to Higher-Order π-calculus — and back. In: Proc. TAPSOFT’93, LNCS 668, pp. 151–166, doi:10.1007/3-540-56610-4 62.

44. D. Sangiorgi & D. Walker (2001): The π-calculus: A Theory of Mobile Processes. Cambridge University Press.

45. E.Y. Shapiro (1991): Separating Concurrent Languages with Categories of Language Embeddings. In: STOC’91, ACM, pp. 198–208, doi:10.1145/103418.103423.

46. M.G. Vigliotti, I. Phillips & C. Palamidessi (2007): Tutorial on separation results in process calculi via leader election problems. TCS 388(1-3), pp. 267–289, doi:10.1016/j.tcs.2007.09.001.