A Theory of Encodings and Expressiveness (Extended Abstract)

(Extended Abstract)
Open Access
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10803)

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 \(\pi \)-calculus.

1 Introduction

This paper, like [16, 21], aims at answering the question what it means for one language to encode another one, and making the resulting definition applicable to order system description languages like CCS, CSP and the \(\pi \)-calculus with respect to their expressive power.

To this end it proposes a unifying concept of valid translation between two languages up to a semantic equivalence or preorder. It applies to languages whose semantics interprets the operators and recursion constructs as operations on a set of values, called a domain. Languages can be partially ordered by their expressiveness up to the chosen equivalence or preorder according to the existence of valid translations between them.

The concept of a [valid] translation between system description languages (or process calculi) was first formally defined by Boudol [3]. There, and in most other related work in this area, the domain in which a system description language is interpreted consists of the closed expressions from the language itself. In [14] I have reformulated Boudol’s definition, while dropping the requirement that the domain of interpretation is the set of closed terms. This allows (but does not enforce) a clear separation of syntax and semantics, in the tradition of universal algebra. Nevertheless, the definition employed in [14] only deals with the case that all (relevant) elements in the domain are denotable as the interpretations of closed terms. In [16] situations are described where such a restriction is undesirable. In addition, both [3, 14] require the semantic equivalence \(\sim \) under which two languages are compared to be a congruence for both of them. This is too severe a restriction to capture many recent encodings [1, 2, 7, 30, 31, 33, 38, 43].

In [16] I alleviated these two restrictions by proposing two notions of encoding: correct and valid translations up to \(\sim \). Each of them generalises the proposals of [3, 14]. The former drops the restriction on denotability as well as \(\sim \) being a congruence for the whole target language, but it requires \(\sim \) to be a congruence for the source language, as well as for the source’s image within the target. The latter drops both congruence requirements (and allows \(\sim \) to be a preorder rather than an equivalence), but at the expense of requiring denotability by closed terms. In situations where \(\sim \) is a congruence for the source language’s image within the target language and all semantic values are denotable, the two notions agree.

The current paper further generalises the work of [16] by proposing a new notion of a valid translation that incorporates the correct and valid translations of [16] as special cases. It drops the congruence requirements as well as the restriction on denotability.

As in [16], my aim is to generalise the concept of a valid translation as much as possible, so that it is uniformly applicable in many situations, and not just in the world of process calculi. Also, it needs to be equally applicable to encodability and separation results, the latter saying that an encoding of one language in another does not exists. At the same time, I try to derive this concept from a unifying principle, rather than collecting a set of criteria that justify a number of known encodability and separation results that are intuitively justified.

Overview of the Paper. Section 2 defines my new concept of a valid translation up to a semantic equivalence or preorder Open image in new window . Roughly, a valid translation of one language into another is a mapping from the expressions in the first language to those in the second that preserves their meaning, i.e. such that the meaning of a translated expression is semantically equivalent to the meaning of the original.

Section 3 shows that this concept generalises the notion of a correct translation from [16]: a translation is correct up to a semantic equivalence \(\sim \) iff it is valid up to \(\sim \) and \(\sim \) is a congruence for the source language as well as for the image of the source language within the target language.

Likewise, [18]—the full version of this paper—establishes the coincidence of my 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 Open image in new window iff there exists a valid translation up to Open image in new window of the latter language into the former. Section 4 shows that “being at least as expressive as” is a preorder on languages. This expressiveness preorder depends on the choice of Open image in new window , and a coarser choice (making less distinctions) yields a richer preorder of expressiveness inclusions.

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

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

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

  • melts each equivalence class of the source with exactly one of the target.

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

Section 12 defines when a translation is compositional, and shows that any valid translation up to Open image in new window can be modified into a compositional translation valid up to Open image in new window . This requires restricting attention to languages and preorders Open image in new window that satisfy some mild sanity requirements—the postulates of Sects. 10 and 11. Hence, for the purpose of comparing the expressive power of languages, valid translations between them may be presumed compositional.

Section 13 compares my approach with the one of Gorla [21], and concludes. Omitted proofs and counterexamples (marked by ¶) can be found in [18].

2 Languages, Valid Translations, and Expressiveness

A language consists of syntax and semantics. The syntax determines the valid expressions in the language. The semantics is given by a mapping Open image in new window that associates with each valid expression its meaning, which can for instance be an object, concept or statement.

Following [16], I represent a language \(\mathcal{L}\) as a pair Open image in new window of a set Open image in new window of valid expressions in \(\mathcal{L}\) and a mapping Open image in new window from Open image in new window in some set of meanings \(\mathcal{D}_\mathcal{L}\).

Definition 1

([16]). A translation from a language \(\mathcal{L}\) into a language \(\mathcal{L}'\) is a mapping Open image in new window .

In this paper, I consider single-sorted languages \(\mathcal{L}\) in which expressions or terms are built from variables (taken from a set \(\mathcal {X}\)) by means of operators (including constants) and possibly recursion constructs. For such languages the meaning Open image in new window of an \(\mathcal{L}\)-expression \(E\) is a function of type \((\mathcal {X}\mathbin {\rightarrow }\mathbf{V})\mathbin {\rightarrow }\mathbf{V}\) for a given sets of values \(\mathbf{V}\). It associates a value Open image in new window to E that depends on the choice of a valuation \(\rho \!:\mathcal {X}\!\!\!\rightarrow \!\mathbf{V}\). The valuation associates a value from \(\mathbf{V}\) with each variable.

Since normally the names of variables are irrelevant and the cardinality of the set of variables satisfies only the requirement that it is “sufficiently large”, no generality is lost by insisting that two (system description) languages whose expressiveness is being compared employ the same set of (process) variables. On the other hand, two languages \(\mathcal{L}\) and \(\mathcal{L}'\) may be interpreted in different domains of values \(\mathbf{V}\) and \(\mathbf{V}'\!\).

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

Correct and a valid translations up to a semantic equivalence or preorder Open image in new window were introduced in [16]. Here I redefine these concepts in terms of a new concept of correctness w.r.t. a semantic translation.

Definition 2

Let \(\mathbf{V}\) and \(\mathbf{V}'\) be domains of values in which two languages \(\mathcal{L}\) and \(\mathcal{L}'\) are interpreted. A semantic translation from \(\mathbf{V}\) into \(\mathbf{V}'\) is a relation \(\mathord {\mathbf{R}}\subseteq \mathbf{V}'\times \mathbf{V}\) such that Open image in new window .

Thus every semantic value in \(\mathbf{V}\) needs to have a counterpart in \(\mathbf{V}'\)—possibly multiple ones. For valuations \(\eta :\mathcal {X}\rightarrow \mathbf{V}'\), \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) I write \(\eta \, \mathbf{R}\, \rho \) iff \(\eta (X)\,\mathbf{R}\, \rho (X)\) for each \(X \in \mathcal {X}\).

Definition 3

A translation Open image in new window is correct w.r.t. a semantic translation \(\mathbf{R}\) if Open image in new window for all expressions Open image in new window and all valuations \(\eta :\mathcal {X}\rightarrow \mathbf{V}'\) and \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\eta \, \mathbf{R}\, \rho \).

Thus \(\mathcal{T}\) is correct iff the meaning of the translation of an expression E is a counterpart of the meaning of E, no matter what values are filled in for the variables, provided that the value filled in for a given variable X occurring in the translation \(\mathcal{T}(E)\) is a counterpart of the value filled in for X in E.

Definition 4

A translation Open image in new window is correct up to Open image in new window iff Open image in new window is an equivalence, the restriction \(\mathbf{R}\) of Open image in new window to \(\mathbf{V}'\times \mathbf{V}\) is a semantic translation, and \(\mathcal{T}\) is correct w.r.t. \(\mathbf{R}\).

Definition 5

A translation \(\mathcal{T}\) is valid up to Open image in new window iff it is correct w.r.t. some semantic translation Open image in new window . Language \(\mathcal{L}'\) is at least as expressive as \(\mathcal{L}\) up to Open image in new window if a translation valid up to Open image in new window from \(\mathcal{L}\) into \(\mathcal{L}'\) exists.

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

3 Correct = Valid + Congruence

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

Definition 6

([16]). A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is correct up to \(\sim \) iff (1) holds and Open image in new window for all Open image in new window and all valuations \(\eta :\mathcal {X}\rightarrow \mathbf{V}'\) and \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\eta \sim \rho \).

Note that this definition agrees completely with Definition 4. Requirement (1) above corresponds to \(\mathbf{R}\) being a semantic translation in Definition 4.

If a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\) exists, then \(\sim \) must be a congruence for \(\mathcal{L}\).

Definition 7

An equivalence relation \(\sim \) is a congruence for a language \(\mathcal{L}\) interpreted in a semantic domain \(\mathbf{V}\) if Open image in new window for any \(\mathcal{L}\)-expression E and any valuations \(\nu ,\rho \!:\mathcal {X}\rightarrow \mathbf{V}\) with \(\nu \sim \rho \).2

Proposition 1

([16]). If \(\mathcal{T}\!\!\) is a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\!\!\), then \(\sim \) is a congruence for \(\mathcal{L}\!\!\).

The existence of a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\) does not imply that \(\sim \) is a congruence for \(\mathcal{L}'\). However, \(\sim \) has the properties of a congruence for those expressions of \(\mathcal{L}'\) that arise as translations of expressions of \(\mathcal{L}\), when restricting attention to valuations into Open image in new window . In [16] this called a congruence for \(\mathcal{T}(\mathcal{L})\).

Definition 8

Let Open image in new window be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\). An equivalence \(\sim \) on \(\mathbf{V}'\) is a congruence for \(\mathcal{T}(\mathcal{L})\) if Open image in new window for any Open image in new window and \(\theta ,\eta \!:\!\mathcal {X}\!\!\!\rightarrow \!\mathbf{U}\) with \(\theta \mathbin \sim \eta \).

Proposition 2

([16]). If \(\mathcal{T}\) is a correct translation up to \(\sim \) from \(\mathcal{L}\) into \(\mathcal{L}'\), then \(\sim \) is a congruence for \(\mathcal{T}(\mathcal{L})\).

The following theorem tells that the notion of validity proposed in Sect. 2 can be seen as a generalisation of the notion of correctness from [16] that applies to equivalences (and preorders) Open image in new window that need not be congruences for \(\mathcal{L}\) or \(\mathcal{T}(\mathcal{L})\).

Theorem 1

A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is correct up to a semantic equivalence \(\sim \) iff it is valid up to \(\sim \) and \(\sim \) is a congruence for \(\mathcal{T}(\mathcal{L})\). ¶

4 A Hierarchy of Expressiveness Preorders

An equivalence or preorder Open image in new window on a class \(\mathbf{Z}\) is said to be finer, stronger, or more discriminating than another equivalence or preorder Open image in new window on \(\mathbf{Z}\) if Open image in new window for all Open image in new window .

Observation 1

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

The quality of a translation depends on the choice of the equivalence or preorder up to which it is valid. Any two languages are equally expressive up to the universal equivalence, relating any two processes. Hence, the equivalence or preorder needs to be chosen carefully to match the intended applications of the languages under comparison. In general, as shown by Observation 1, using a finer equivalence or preorder yields a stronger claim that one language can be encoded in another. On the other hand, when separating two languages \(\mathcal{L}\) and \(\mathcal{L}'\) by showing that \(\mathcal{L}\) cannot be encoded in \(\mathcal{L}'\), a coarser equivalence yields a stronger claim.

Observation 2

The identity is a valid translation up to any preorder from any language into itself.

Theorem 2

If valid translations up to Open image in new window exists from \(\mathcal{L}_1\) into \(\mathcal{L}_2\) and from \(\mathcal{L}_2\) into \(\mathcal{L}_3\), then there is a valid translation up to Open image in new window from \(\mathcal{L}_1\) into \(\mathcal{L}_3\). ¶

Theorem 2 and Observation 2 show that the relation “being at least as expressive as up to Open image in new window ” is a preorder on languages.

5 Closed-Term Languages

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

Examples of other constructs are the infinite summation operator \(\sum _{i\in I}E_i\) of CCS, which takes arbitrary many arguments, or the recursion construct \(\mu X.E\), that has one argument, but binds all occurrences of X in that argument.

In general a construct has a number (possibly infinite) of argument expressions and it may bind certain variables within some of its arguments—the scope of the binding. An occurrence of a variable X in an expression is bound if it occurs within the scope of a construct that binds X, and free otherwise.

The semantics of such a language is given, in part, by a domain of values \(\mathbf{V}\), and an interpretation of each n-ary operator f of \(\mathcal{L}\) as an n-ary operation \(f^\mathbf{V}: \mathbf{V}^n\rightarrow \mathbf{V}\) on \(\mathbf{V}\). Using the equationsthis allows an inductive definition of the meaning Open image in new window of an \(\mathcal{L}\)-expression \(E\). Moreover, Open image in new window only depends on the restriction of \(\rho \) to the set \({ fv}(E)\) of variables occurring free in \(E\).

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

Definition 9

A substitution in \(\mathcal{L}\) is a partial function Open image in new window from the variables to the \(\mathcal{L}\)-expressions. For a given \(\mathcal{L}\)-expression Open image in new window , Open image in new window denotes the \(\mathcal{L}\)-expression E in which each free occurrence of a variable \(X\in { dom}(\sigma )\) is replaced by \(\sigma (X)\), while renaming bound variables in E so as to avoid a free variable Y occurring in an expression \(\sigma (X)\) ending up being bound in \(E[\sigma ]\). A substitution is closed if it has the form \(\sigma :\mathcal {X}\rightarrow \mathrm{T}_\mathcal{L}\).

An important class of languages used in concurrency theory are the ones where the distinction between syntax and semantic is effectively dropped by taking \(\mathbf{V}=\mathrm{T}_\mathcal{L}\), i.e. where the domain of values where the language is interpreted in consists of the closed terms of the language. Here a valuation is the same as a closed substitution, and Open image in new window for Open image in new window and \(\rho :\mathcal {X}\rightarrow \mathrm{T}_\mathcal{L}\) is defined to be \(E[\rho ]\in \mathrm{T}_\mathcal{L}\). I will call such languages closed-term languages.

6 Translating a Synchronous into an Asynchronous \(\pi \)

As an illustration of the concepts introduced above, consider the \(\pi \)-calculus as presented in [28], i.e., the one of [44] without matching, \(\tau \)-prefixing, and choice.

Given a set of names \(\mathcal{N}\), the set Open image in new window of process expressions or terms E of the calculus is given by
$$\begin{aligned} E \,\, {:}{:=}\,\, X ~~\mid ~~ \mathbf 0 ~~\mid ~~ \bar{x}y.E ~~\mid ~~ x(z).E ~~\mid ~~ E|E' ~~\mid ~~ (\nu z)E ~~\mid ~~ !E \end{aligned}$$
with xyz ranging over \(\mathcal{N}\), and X over \(\mathcal {X}\), the set of process variables. Process variables are not considered in [44], although they are common in languages like CCS [27] that feature a recursion construct. Since process variables form a central part of my notion of a valid or correct translation, here they have simply been added. This works generally. In Sect. 12 I show that for the purpose of accessing whether one language is as expressive as another, translations between them can be assumed to be compositional. This important result would be lost if process variables were dropped from the language. In that case compositionality would need to be stated as a separate requirement for valid translations.

Closed process expressions are called processes. The \(\pi \)-calculus is usually presented as a closed-term language, in that the semantic value associated with a closed term is simply itself. Yet, the real semantics is given by a reduction relation between processes, defined below.

Definition 10

An occurrence of a name z in \(\pi \)-calculus process \(P\in \mathrm{T}_\pi \) is bound if it occurs within a subexpression \(x(z).P'\) or \((\nu z)P'\) of P; otherwise it is free. Let \(\mathsf{n}(P)\) (resp. \(\mathsf{bn}(P)\)) be the set of names occurring (bound) in \(P\in \mathrm{T}_\pi \). Structural congruence, \(\equiv \), is the smallest congruence relation on processes satisfyingHere the rightmost column only holds when \(w\notin \mathsf{n}(P)\), and Open image in new window denotes the process obtained by replacing each free occurrence of z in P by w.

Definition 11

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

Let \(\Longrightarrow \) be the reflexive and transitive closure of \(\rightarrow \). The observable behaviour of \(\pi \)-calculus processes is often stated in terms of the outputs they can produce (abstracting from the value communicated on an output channel).

Definition 12

Let \(x\in \mathcal{N}\). A process P has a strong output barb on x, notation \(P{\downarrow _{\bar{x}}}\), if P can perform an output action \(\bar{x}z\). This is defined inductively:
$$ (\bar{x}z.(P)){\downarrow _{\bar{x}}} \qquad \frac{P{\downarrow _{\bar{x}}}}{(P|Q){\downarrow _{\bar{x}}}} \qquad \frac{Q{\downarrow _{\bar{x}}}}{(P|Q){\downarrow _{\bar{x}}}} \qquad \frac{P{\downarrow _{\bar{x}}} \quad x\ne z}{((\nu z)P){\downarrow _{\bar{x}}}} \qquad \frac{P{\downarrow _{\bar{x}}}}{(!P){\downarrow _{\bar{x}}}} $$
A process P has a weak output barb on x, \(P{\Downarrow _{\bar{x}}}\), if there is a \(P'\) with \(P \Longrightarrow P'{\Downarrow _{\bar{x}}}\).

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

Definition 13

Weak (output) barbed bisimilarity is the largest symmetric relation Open image in new window such that
Weak barbed congruence, \(\cong ^c\), is the largest congruence included in Open image in new window .

Often input barbs, defined similarly, are included in the definition of weak barbed bisimilarity [44]. This is known to induce the same notion of weak barbed congruence [44]. Another technique for defining weak barbed congruence is to use a barb, or set of barbs, external to the language under investigation, that are added to the language as constants [21], similar to the theory of testing of [9]. This method is useful for languages with a reduction semantics that do not feature a clear notion of barb, or where there is ambiguity in which barbs should be counted and which not, or for comparing languages with different kinds of barb.

Example 1

\(\bar{x} z.\mathbf 0 \not \cong ^c (\nu u)(\bar{x} u .\mathbf 0 | u(v). \bar{v} z. \mathbf 0 )\).

For let \(E := X | x(u).\bar{u} v.\mathbf 0 \) with \(\rho (X)=\bar{x} z.\mathbf 0 \) and \(\zeta (X)=(\nu u)(\bar{x} u.\mathbf 0 | u(v). \bar{v} z. \mathbf 0 )\).

Then \(E[\zeta ] \rightarrow (\nu u)\big (u(v). \bar{v} z. \mathbf 0 | \bar{u} v.\mathbf 0 \big ) \rightarrow (\bar{v} z. \mathbf 0 ){\downarrow _{\bar{v}}}\) but Open image in new window .

The asynchronous \(\pi \)-calculus, as introduced by Honda and Tokoro in [24] and by Boudol in [4], is the sublanguage \(\mathrm a\pi \) of the fragment \(\pi \) of the \(\pi \)-calculus presented above where all subexpressions \(\bar{x} y.E\) have the form \(\bar{x} y.\mathbf 0 \). Asynchronous barbed congruence, \(\cong ^c_\mathrm{a}\), is the largest congruence for the asynchronous \(\pi \)-calculus included in Open image in new window . Since \(a\pi \) is a sublanguage of \(\pi \), \(\cong ^c_\mathrm{a}\) is at least as coarse an equivalence as \(\cong ^c\), i.e. \({\cong ^c} \subseteq {\cong ^c_\mathrm{a}}\). The inclusion is strict, since \(!x(z).\bar{x} z.\mathbf 0 \cong ^c_\mathrm{a} \mathbf 0 \), yet \(!x(z).\bar{x} z.\mathbf 0 \not \cong ^c \mathbf 0 \) [44]. Since all expressions used in Example 1 belong to \(\mathrm a\pi \), one even has \(\bar{x} z.\mathbf 0 \not \cong ^c_\mathrm{a} (\nu u)(\bar{x} u .\mathbf 0 | u(v). \bar{v} z. \mathbf 0 )\).

Boudol [4] defined a translation \(\mathcal{T}\) from \(\pi \) to \(\mathrm a\pi \) inductively as follows:Example 1 shows that \(\mathcal{T}\) is not valid up to \(\cong ^c\). In fact, it is not even valid up to \(\cong ^c_\mathrm{a}\). However, as shown in [25], it is valid up to Open image in new window . Since Open image in new window is not a congruence (for \(\pi \) or \(\mathrm a\pi \)) it is not correct up to Open image in new window .

7 Congruence Closure

Definition 14

An equivalence relation \(\sim \) is a 1-hole congruence for a language \(\mathcal{L}\) interpreted in a semantic domain \(\mathbf{V}\) if Open image in new window for any \(\mathcal{L}\)-expression E and any valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\nu \sim ^1 \rho \). Here \(\nu ,\rho \) are \(\sim ^1\)-equivalent, \(\nu \mathbin \sim ^1\rho \), if \(\nu (X)\mathbin \sim \rho (X)\) for some \(X\mathbin \in \mathcal {X}\) and \(\nu (Y)\mathbin =\rho (Y)\) for all variables \(Y\mathbin {\ne } X\).

An n-hole congruence for any finite Open image in new window can be defined in the same vain, and it is well known and easy to check that a 1-hole congruence \(\sim \) is also an n-hole congruence, for any Open image in new window . However, in the presence of operators with infinitely many arguments, a 1-hole congruence need not be a congruence.

Example 2

Let \(\mathbf{V}\) be Open image in new window , with the well-order \(\le \) on \(\mathbf{V}\) inherited lexicographically from the default order on Open image in new window and \(\infty \) the largest element. So \((n,m) \le (n',m')\) iff \(n\le n' \vee (n=m \wedge m\le m')\). Consider the language \(\mathcal{L}\) with constants 0, 1 and (1), interpreted in \(\mathbf{V}\) as (0, 0), (1, 0) and (0, 1), respectively, the binary operator \(+\), interpreted by \((n_1,m_1) +^{\!\mathbf{V}} (n_2,m_2) = (n_1\mathord +n_2,m_1\mathord +m_2)\) and \(\infty +E=E+\infty =\infty \), and the construct \(\sup (E_i)_{i\in I}\) that takes any number of arguments (dependent on the set of the index sets I). The interpretation of \(\sup \) in \(\mathbf{V}\) is to take the supremum of its arguments w.r.t. the well-order \(\le \). In case \(\sup \) is given finitely many arguments, it simply returns the largest. However Open image in new window .

Now let the equivalence relation \(\sim \) on \(\mathbf{V}\) be defined by \((n,m)\sim (n',m')\) iff \(n=n'\), leaving \(\infty \) in an equivalence class of its own. This relation is a 1-hole congruence on \(\mathcal{L}\). Hence, it is also a 2-hole congruence, so one has
$$\big ((n_1,m_1)\mathbin \sim (n_1',m_1') \mathrel \wedge (n_2,m_2)\mathbin \sim (n_2',m_2')\big ) \Rightarrow (n_1,m_1)+ (n_2,m_2) \sim (n'_1,m'_1)+ (n'_2,m'_2).$$
Yet it fails to be a congruence: \((n,i) \sim (n,0)\) for all Open image in new window , but

It is well known and easy to check that the collection of equivalence relations on any domain \(\mathbf{V}\), ordered by inclusion, forms a complete lattice—namely the intersection of arbitrary many equivalence relations is again an equivalence relation. Likewise, the collection of 1-hole congruences for \(\mathcal{L}\) is also a complete lattice, and moreover a complete sublattice of the complete lattice of equivalence relations on \(\mathbf{V}\). The latter implies that for any collection C of 1-hole congruence relations, the least equivalence relation that contains all elements of C (exists and) happens to be a 1-hole congruence relation. Again, this is a property that is well known [22] and easy to prove. It follows that for any equivalence relation \(\sim \) there exists a largest 1-hole congruence for \(\mathcal{L}\) contained in \(\sim \). I will denote this 1-hole congruence by \(\sim ^{1c}_\mathcal{L}\), and call it the congruence closure of \(\sim \) w.r.t. \(\mathcal{L}\). One has Open image in new window for Open image in new window iff Open image in new window for any \(\mathcal{L}\)-expression E and any valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with Open image in new window and Open image in new window for some \(X\in \mathcal {X}\) and \(\nu (Y)\mathbin =\rho (Y)\) for all \(Y\mathbin {\ne } X\). Such results do not generally hold for congruences.

Example 3

Continue Example 2, but skipping the operator \(+\). Let \(\sim _k\) be the equivalence on \(\mathbf{V}\) defined by \((n,m)\sim _k(n',m')\) iff \(n=n' \wedge (m=m' \vee m,m'\le k)\). It is easy to check that all \(\sim _k\) for Open image in new window are congruences on the reduced \(\mathcal{L}\), and contained in \(\sim \). Yet their least upper bound (in the lattice of equivalence relations on \(\mathbf{V}\)) is \(\sim \), which is not a congruence itself. In particular, there is no largest congruence contained in \(\sim \).

When dealing with languages \(\mathcal{L}\) in which all operators and other constructs have a finite arity, so that each Open image in new window contains only finitely many variables, there is no difference between a congruence and a 1-hole congruence, and thus \(\sim ^{1c}_\mathcal{L}\) is a congruence relation for any equivalence \(\sim \). I will apply the theory of expressiveness presented in this paper also to languages like CCS that have operators (such as \(\sum _{i\in I}E_i\)) of infinite arity. However, in all such cases I’m currently aware of, the relevant choices of \(\mathcal{L}\) and \(\sim \) have the property that \(\sim ^{1c}_\mathcal{L}\) is in fact a congruence relation. As an example, consider weak bisimilarity [27]. This equivalence relation fails to be a congruence for \(\sum \). However, the coarsest 1-hole congruence contained in this relation, often called rooted weak bisimilarity, happens to be a congruence. In fact, when congruence-closing weak bisimilarity w.r.t. the binary sum, the result [15] is also a congruence for the infinitary sum, as well as for all other operators of CCS [27].

Definition 15

Let \(\mathcal{T}\) be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\). A subset \(\mathbf{W}\) of \(\mathbf{V}'\) is closed under \(\mathcal{T}(\mathcal{L})\) if Open image in new window for any expression Open image in new window and valuation \(\eta :\mathcal {X}\rightarrow \mathbf{W}\). An equivalence \(\sim \) on \(\mathbf{W}\) is a congruence (respectively 1-hole congruence) for \(\mathcal{T}(\mathcal{L})\) on \(\mathbf{W}\) if for any Open image in new window and \(\theta ,\eta :\mathcal {X}\rightarrow \mathbf{W}\) with \(\theta \sim \eta \) (respectively \(\theta \sim ^1\eta \)) one has Open image in new window .

Proposition 3

Let \(\mathcal{T}\) be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\) that is correct w.r.t. a semantic translation \(\mathord {\mathbf{R}}\subseteq \mathbf{V}'\times \mathbf{V}\). Let Open image in new window . Then \(\mathord {\mathbf{R}}(\mathbf{V})\) is closed under \(\mathcal{T}(\mathcal{L})\).

Proof:

Let Open image in new window and \(\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\). Take \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\rho \mathbf{R}\eta \). Then Open image in new window . Since Open image in new window one has Open image in new window .    \(\square \)

Proposition 4

Let the translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) be correct w.r.t. the semantic translation \(\mathord {\mathbf{R}}\subseteq \mathord {\sim }\). Then \(\sim \) is a (1-hole) congruence for \(\mathcal{L}\) iff it is a (1-hole) congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\).

Proof:

First suppose \(\sim \) is a congruence for \(\mathcal{L}\). Let Open image in new window and \(\theta ,\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\) with \(\theta \sim \eta \). By the definition of \(\mathord {\mathbf{R}}(\mathbf{V})\) there are valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\theta \,\, \mathbf{R}\,\, \nu \) and \(\eta \,\, \mathbf{R}\,\, \rho \). Now \(\nu \sim \theta \sim \eta \sim \rho \), soand hence Open image in new window . The other direction proceeds in the same way.

Now suppose \(\sim \) is a 1-hole congruence for \(\mathcal{L}\). Let Open image in new window and \(\theta ,\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\) with \(\theta \sim ^1 \eta \). Then \(\theta (X)\sim \eta (X)\) for some \(X\in \mathcal {X}\) and \(\theta (Y)=\eta (Y)\) for all \(Y\ne X\). So there must be \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\theta \,\, \mathbf{R}\,\, \nu \), \(\eta \,\,\mathbf{R}\,\, \rho \) and \(\nu (Y)=\rho (Y)\) for all \(Y\ne X\). Since \(\nu (X)\sim \theta (X)\sim \eta (X)\sim \rho (X)\) it follows that \(\nu \sim ^1\rho \). The conclusion proceeds as above, and the other direction goes likewise.    \(\square \)

The requirement of being a congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\) is slightly weaker than that of being a congruence for \(\mathcal{T}(\mathcal{L})\)—cf. Definition 8—for it proceeds by restricting attention to valuations into \(\mathord {\mathbf{R}}(\mathbf{V})\subseteq \mathbf{U}\). ¶

8 A Congruence Closure Property for Valid Translations

In many applications, semantic values in the domain of interpretation of a language \(\mathcal{L}\) are only meaningful up to a semantic equivalence \(\sim ^c\), and the intended semantic domain could just as well be seen as the set of \(\sim ^c\)-equivalence classes of values. For this purpose it is essential that \(\sim ^c\) is a congruence for \(\mathcal{L}\). Often \(\sim ^c\) is the congruence closure of a coarser semantic equivalence \(\sim \), so that two values end up being identified iff they are \(\sim \)-equivalent in every context. An example of this occurred in Sect. 6, with Open image in new window in the rôle of \(\sim \) and \(\cong ^c\) in the rôle of \(\sim ^c\). Now Theorem 4, contributed in this section, says that if a translation from \(\mathcal{L}\) into \(\mathcal{L}'\) is valid up to \(\sim \), then it is even valid up to an equivalence Open image in new window that extends \(\sim ^c\) from \(\mathbf{V}\) to a subdomain \(\mathbf{W}\) of \(\mathbf{V}'\) that suffices for the interpretation of translated expressions from \(\mathcal{L}\). This equivalence Open image in new window coincides with the congruence closure of \(\sim \) on \(\mathcal{L}\), as well as on \(\mathcal{T}(\mathcal{L})\), and melts each equivalence class of \(\mathbf{V}\) with exactly one of \(\mathbf{W}\), and vice versa.

Let \(\mathcal{L}\) and \(\mathcal{L}'\) be languages with Open image in new window and Open image in new window . In this section I assume that \(\mathbf{V}\cap \mathbf{V}'=\emptyset \). To apply the results to the general case, just adapt \(\mathcal{L}'\) by using a copy of \(\mathbf{V}'\)—any preorder Open image in new window on \(\mathbf{V}\cup \mathbf{V}'\) extends to this copy by considering each copied element Open image in new window -equivalent to the original.

Definition 16

Given any semantic translation \(\mathbf{R}\), let \(\mathord {\equiv _{\mathbf{R}}} \subseteq (\mathbf{V}\cup \mathbf{V}')^2\) be the smallest equivalence relation on \(\mathbf{V}\cup \mathbf{V}'\) containing \(\mathbf{R}\).

Theorem 3

If a translation \(\mathcal{T}\) is correct w.r.t. the semantic translation \(\mathbf{R}\), then \(\equiv _{\mathbf{R}}\) is a 1-hole congruence for \(\mathcal{L}\). ¶

By Proposition 4 \(\equiv _{\mathbf{R}}\) also is a 1-hole congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathord {\mathbf{R}}(\mathbf{V})\). Only the subset \(\mathord {\mathbf{R}}(\mathbf{V})\) of \(\mathbf{V}'\) matters for the purpose of translating \(\mathcal{L}\) into \(\mathcal{L}'\). On \(\mathbf{V}'\setminus \mathord {\mathbf{R}}(\mathbf{V})\) the equivalence \(\equiv _{\mathbf{R}}\) is the identity.

Theorem 4

Let \(\mathcal{T}\) be a translation from a language \(\mathcal{L}\), with semantic domain \(\mathbf{V}\), into a language \(\mathcal{L}'\), with domain \(\mathbf{V}'\), that is valid up to a semantic equivalence \(\sim \). Then \(\mathcal{T}\) is even valid up to a semantic equivalence Open image in new window , contained in \(\sim \), such that (1) the restriction of Open image in new window to \(\mathbf{V}\) is the largest 1-hole congruence for \(\mathcal{L}\) contained in \(\sim \), (2) the set Open image in new window is closed under \(\mathcal{T}(\mathcal{L})\), and (3) the restriction of Open image in new window to \(\mathbf{W}\) is the largest 1-hole congruence for \(\mathcal{T}(\mathcal{L})\) on \(\mathbf{W}\) that is contained in \(\sim \). ¶

Note that each equivalence class of Open image in new window on \(\mathbf{V}\cup \mathbf{W}\) melts an equivalence class of \(\sim ^{1c}_{\mathcal{L}\!,\mathbf{R}}\) on \(\mathbf{V}\) with one of Open image in new window on \(\mathbf{W}\). Moreover, on \(\mathbf{V}\) the relation is completely determined by \(\mathcal{L}\) and \(\sim \). However, in general the whole relation Open image in new window is not completely determined by \(\mathcal{L}\) and \(\sim \). ¶

Corollary 1

Let \(\mathcal{T}\) be a translation from a language \(\mathcal{L}\), with semantic domain \(\mathbf{V}\), into a language \(\mathcal{L}'\), with domain \(\mathbf{V}'\), valid up to a semantic equivalence \(\sim \), and suppose the congruence closure \(\sim _\mathcal{L}^1\) of \(\sim \) w.r.t. \(\mathcal{L}\) is in fact a congruence. Then \(\mathcal{T}\) is correct up to the equivalence Open image in new window described in Theorem 4. ¶

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

9 Integrating Language Features Through Translations

The results of the previous section show how valid translations are satisfactory for comparing the expressiveness of languages. If there is a valid translation \(\mathcal{T}\) from \(\mathcal{L}\) to \(\mathcal{L}'\) up to \(\sim \), and (as usual) \(\sim ^{1c}_\mathcal{L}\) is a congruence, then all truths that can be expressed in terms of \(\mathcal{L}\) can be mimicked in \(\mathcal{L}'\). For the congruence classes of \(\sim ^{1c}_\mathcal{L}\) translate bijectively to congruence classes of an induced equivalence relation on the domain of \(\mathcal{T}(\mathcal{L})\) (within the domain of \(\mathcal{L}'\)), and all operations on those congruence classes that can be performed by contexts of \(\mathcal{L}\) have a perfect counterpart in terms of contexts of \(\mathcal{T}(\mathcal{L})\). This state of affairs was illustrated on Boudol’s translation from a synchronous to an asynchronous \(\pi \)-calculus.

There is however one desirable property of translations between languages that has not yet been achieved, namely to combine the powers of two languages into one unified language. If both languages \(\mathcal{L}_1\) and \(\mathcal{L}_2\) have valid translations into a language \(\mathcal{L}'\), then all that can be done with \(\mathcal{L}_1\) can be mimicked in a fragment of \(\mathcal{L}'\), and all that can be done with \(\mathcal{L}_2\) can be mimicked in another fragment of \(\mathcal{L}'\). In order for these two fragments to combine, one would like to employ a single congruence relation on \(\mathcal{L}'\) that specialises to congruence relations for \(\mathcal{T}_1(\mathcal{L}_1)\) and \(\mathcal{T}_2(\mathcal{L}_2)\), which form the counterparts of relevant congruence relations for the source languages \(\mathcal{L}_1\) and \(\mathcal{L}_2\).

In terms of the translation \(\mathcal{T}\) from \(\pi \) to \(\mathrm a\pi \), the equivalence \(\cong ^c_\mathrm{a}\) on \(\mathrm{T}_\mathrm{a\pi }\) would be the right congruence relation to consider for \(\mathrm a\pi \). Ideally, this congruence would extend to an equivalence \(\cong ^c_{\pi ,\mathrm a\pi }\) on the disjoint union \(\mathrm{T}_\pi \uplus \mathrm{T}_{a\pi }\), such that the restriction of \(\cong ^c_{\pi ,\mathrm a\pi }\) to \(\mathrm{T}_\pi \) is a congruence for \(\pi \). Necessarily, this congruence on \(\mathrm{T}_\pi \) would have to distinguish the terms \(\bar{x} z.\mathbf 0 | \bar{x} z.\mathbf 0 \) and \(\bar{x}z.\bar{x} z \mathbf 0 \), since their translations are distinguished by \(\cong ^c_\mathrm{a}\). One therefore expects \(\cong ^c_{\pi ,\mathrm a\pi }\) on \(\mathrm{T}_\pi \) to be strictly finer than \(\cong ^c\). Here it is important that the union of \(\mathrm{T}_\pi \) and \(\mathrm{T}_{a\pi }\) on which this congruence is defined is required to be disjoint. For if one considers \(\mathrm{T}_{a\pi }\) as a subset of \(\mathrm{T}_\pi \), then we obtain that the restriction of \(\cong ^c_{\pi ,\mathrm a\pi }\) to that subset (1) coincides with \(\cong ^c_\mathrm{a}\) and (2) is strictly finer than \(\cong ^c\). This contradicts the fact that \(\cong ^c\) is strictly finer than \(\cong ^c_\mathrm{a}\).

In Sect. 12 I will show that such a congruence \(\cong ^c_{\pi ,\mathrm a\pi }\) indeed exists. In fact, under a few very mild conditions this result holds generally, provided that the source language \(\mathcal{L}\) is a closed-term language. ¶

10 A Unique Decomposition of Terms

The results of Sect. 12 apply only to languages satisfying two postulates, formulated below, and to preorders Open image in new window that “respect Open image in new window ”, defined in Sect. 11.

Definition 17

\(\alpha \)-conversion is the act of renaming all occurrences of a bound variable X within the scope of its binding into another variable, say Y, while avoiding capture of free variables. Here one speaks of capture when a free occurrence of Y turns into a bound one.

Write Open image in new window if expression E can be converted into F by acts of \(\alpha \)-conversion.

In languages where there are multiple types of bound variables, Open image in new window allows conversion of all of them. In a \(\pi \)-calculus with recursion, for instance, there could be bound process variables \(X\mathbin \in \mathcal {X}\) as well as bound names \(x\mathbin \in \mathcal{N}\). The last two conversions in the right column of Definition 10 define \(\alpha \)-conversion for names.

Postulate 1

([16], paraphrased). There exists a class of expressions called standard heads, and a class of substitutions called standard substitutions, such that for each expression E, if not a variable, there are unique standard heads H and substitutions \(\sigma \) such that Open image in new window .

A term f(cg(c)), for instance, can be written as \(H[\sigma ]\) where \(H=f(X_1,X_2)\) is a head, and Open image in new window is given by \(\sigma (X_1)=c\) and \(\sigma (X_2)=g(c)\). The head H is standardised by means of a particular (arbitrary) choice for its argument variables \(X_1\) and \(X_2\). \(\sigma \) is standardised through a particular choice of the bound variables that may occur in the expressions \(\sigma (X)\). A head for a recursive expression \(\mu X.f(g(c),g(g(X)))\) is \(\mu X.f(Y,g(g(X)))\). See [16] for further detail.

This postulate is easy to show for each common type of system description language, and I am not aware of any counterexamples. However, while striving for maximal generality, I consider languages with (recursion-like) constructs that are yet to be invented, and in view of those, this principle has to be postulated rather than derived.

11 Invariance of Meaning Under \(\alpha \)-conversion

Write Open image in new window , with Open image in new window , iff there are terms Open image in new window with Open image in new window , and a valuation \(\zeta :\mathcal {X}\rightarrow \mathbf{V}\) such that Open image in new window and Open image in new window . This relation is reflexive and symmetric.

In [16] I limited attention to languages satisfyingThis postulate says that the meaning of an expression is invariant under \(\alpha \)-conversion. It can be reformulated as the requirement that Open image in new window is the identity relation. This postulate is satisfied by all my intended applications, except for the important class of closed-term languages. Languages like CCS and the \(\pi \)-calculus can be regarded as falling in this class (although it is also possible to declare the meaning of a term under a valuation to be an Open image in new window -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 Open image in new window is an equivalence.

Postulate 2

Open image in new window is an equivalence relation.

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

12 Compositionality

An important property of translations, defined below, is compositionality. In this section show I that any valid translation up to a preorder Open image in new window can be modified into such a translation that moreover is compositional, provided one restricts attention to languages that satisfy Postulates 1 and 2, and preorders Open image in new window that respect Open image in new window .

Definition 18

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

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

     

In case \(E=f(t_1,\ldots ,t_n)\) for certain Open image in new window this amounts to Open image in new window , where \(E_f:=\mathcal{T}(f(X_1,\ldots ,X_n))\) and \(E_f(u_1,\ldots ,u_n)\) denotes the result of the simultaneous substitution in this expression of the terms Open image in new window for the free variables \(X_i\), for \(i=1,\ldots ,n\). The first requirement of Definition 18 is more general and covers language constructs other than functions, such as recursion. Requiring equality rather than Open image in new window is too demanding. ¶

Lemma 1

If Open image in new window and Open image in new window are compositional translations, then so is their composition Open image in new window , defined by \(\mathcal{T}_2\circ \mathcal{T}_1(E):=\mathcal{T}_2(\mathcal{T}_1(E))\) for all \(E\in \mathcal{L}_1\).

Proof:

(1) Open image in new window for each Open image in new window and Open image in new window . Here the derivation of the first Open image in new window uses Property (2) of Definition 18—and this is the reason for requiring that property.

(2) Open image in new window implies Open image in new window and Open image in new window for all Open image in new window .

(3) \(\mathcal{T}_2(\mathcal{T}_1(X)) = \mathcal{T}_2(X)=X\) for each \(X\in \mathcal {X}\).    \(\square \)

Theorem 5

Let \(\mathcal{L}\) and \(\mathcal{L}'\) be languages that satisfy Postulates 1 and 2, and Open image in new window a preorder that respects Open image in new window and Open image in new window . If any valid (or correct) translation from \(\mathcal{L}\) into \(\mathcal{L}'\) up to Open image in new window exists, then there exists a compositional translation that is valid (or correct) up to Open image in new window . ¶

Hence, for the purpose of comparing the expressive power of languages, valid translations between them can be assumed to be compositional. For correct translations this was already established in [16], but assuming (2), a stronger version of Postulate 2.

I can now establish the theorem promised in Sect. 9. In view of Theorem 5, no great sacrifices are made by assuming that the translation \(\mathcal{T}\) is compositional. Other “mild conditions” needed are Postulate 2 for \(\mathcal{L}'\) and \(\approx \) respecting Open image in new window .

Theorem 6

Let \(\mathcal{L}\) be a closed-term language and \(\mathcal{L}'\) a language that satisfies Postulate 2. Let \(\mathcal{T}\) be a compositional translation from \(\mathcal{L}\) into \(\mathcal{L}'\) that is valid up to \(\sim \). Let \(\approx \) be any congruence for \(\mathcal{L}'\) containing Open image in new window and contained in \(\sim \). Then \(\mathcal{T}\) is correct up to an equivalence \(\approx _{\mathcal{T}}\) on \(\mathbf{V}\cup \mathbf{V}'\), contained in \(\sim \), that on \(\mathbf{V}'\) coincides with \(\approx \). ¶

13 Related Work

The concept of full abstraction stems from Milner [26]. It indicates a satisfactory connection between a denotational and an operational semantics of a language. Riecke [42] and Shapiro [45] adapt this notion to translations between languages.

Definition 19

A translation Open image in new window is fully abstract w.r.t. the equivalences \( {\sim _\mathrm{S}} \mathbin \subseteq \mathrm{T}_{\mathcal{L}_\mathrm{S}}^2 \) and \( {\sim _\mathrm{T}} \mathbin \subseteq \mathrm{T}_{\mathcal{L}_\mathrm{T}}^2 \) if, for all \( P, Q \in \mathrm{T}_{\mathcal{L}_\mathrm{S}} \), \( P\sim _\mathrm{S}Q \Leftrightarrow \mathcal{T}(P) \sim _\mathrm{T}\mathcal{T}(Q).\)

In [42, 45], \(\sim _\mathrm{S}\) and \(\sim _\mathrm{T}\) are required to be congruence closures—see [18] for more detail. The simplified definition above was used in [1, 30, 31]. Fu [10] bases a theory of expressiveness on full abstraction, with a divergence-preserving form of barbed branching bisimilarity [19] in the rôle of \(\sim _\mathrm{S}\) and \(\sim _\mathrm{T}\). A comparison of full abstraction with the approach of the present paper appears in [18].

In the last twenty years, a great number of encodability and separation results have appeared, comparing CCS, Mobile Ambients, and several versions of the \(\pi \)-calculus (with and without recursion; with mixed choice, separated choice or asynchronous) [1, 2, 5, 6, 7, 8, 11, 12, 13, 23, 30, 31, 32, 33, 34, 38, 39, 40, 41, 43, 46]; see [20, 21] for an overview. Many of these results employ different and somewhat ad-hoc criteria on what constitutes a valid encoding, and thus are hard to compare with each other. Several of these criteria are discussed and compared in [35, 36]. Gorla [21] collected some essential features of these approaches and integrated them in a proposal for a valid encoding that justifies most encodings and some separation results from the literature.

Like Boudol [3] and the present paper, Gorla requires a compositionality condition for encodings. However, his criterion is weaker than mine (cf. Definition 18) in that the expression \(E_f\) encoding an operator f may be dependent on the set of names occurring freely in the expressions given as arguments of f. This issue is further discussed in [16]. It is an interesting topic for future research to see if there are any valid encodability results à la [21] that suffer from my proposed strengthening of compositionality.

The second criterion of [21] is a form of invariance under name-substitution. It serves to partially undo the effect of making the compositionality requirement name-dependent. In my setting I have not yet found the need for such a condition. In [16] I argue that this criterion as formalised in [21] is too restrictive.

The remaining three requirements of Gorla (the ‘semantic’ requirements) are very close to an instantiation of mine with a particular preorder Open image in new window . If one takes Open image in new window to be weak barbed bisimilarity with explicit divergence (i.e. relating divergent states with divergent states only), using barbs external to the language, as discussed in Sect. 6, then an valid translation in my sense satisfies Gorla’s semantic criteria, provided that the equivalence \(\equiv \) on the target language that acts as a parameter in Gorla’s third criterion is also taken to be weak barbed bisimilarity with explicit divergence. The precise relationships between the proposals of [16, 21] are further discussed in [37].

Further work is needed to sort out to what extent the two approaches have relevant differences when evaluating encoding and separation results from the literature. Another topic for future work is to sort out how dependent known encoding and separation results are on the chosen equivalence or preorder.

Footnotes

  1. 1.

    I will be chiefly interested in the case that Open image in new window is an equivalence—hence the choice of a symbol that looks like \(\sim \). However, to establish Observation 2 and Theorem 2 below, it suffices to know that Open image in new window is reflexive and transitive. My convention is that the dotted end of Open image in new window points to a translation and the other end to an original—without offering an intuition for the possible asymmetry.

  2. 2.

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

References

  1. 1.
    Baldamus, M., Parrow, J., Victor, B.: A fully abstract encoding of the pi-calculus with data terms. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 1202–1213. Springer, Heidelberg (2005).  https://doi.org/10.1007/11523468_97CrossRefGoogle Scholar
  2. 2.
    Boreale, M.: On the expressiveness of internal mobility in name-passing calculi. TCS 195(2), 205–226 (1998). https://doi.org/10.1016/S0304-3975(97)00220-XMathSciNetCrossRefGoogle Scholar
  3. 3.
    Boudol, G.: Notes on algebraic calculi of processes. In: Apt, K. (ed.) Logics and Models of Concurrent Systems. NATO ASI Series, vol. 13, pp. 261–303. Springer, Heidelberg (1985).  https://doi.org/10.1007/978-3-642-82453-1_9CrossRefGoogle Scholar
  4. 4.
    Boudol, G.: Asynchrony and the \(\pi \)-calculus (Note). Technical report 1702, INRIA (1992)Google Scholar
  5. 5.
    Busi, N., Gabbrielli, M., Zavattaro, G.: On the expressive power of recursion, replication and iteration in process calculi. Math. Struct. Comput. Sci. 19(6), 1191–1222 (2009). https://doi.org/10.1017/S096012950999017XMathSciNetCrossRefGoogle Scholar
  6. 6.
    Cacciagrano, D., Corradini, F., Aranda, J., Valencia, F.D.: Linearity, persistence and testing semantics in the asynchronous pi-calculus. ENTCS 194(2), 59–84 (2008). https://doi.org/10.1016/j.entcs.2007.11.006MathSciNetMATHGoogle Scholar
  7. 7.
    Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in pi-calculus. Nord. J. Comput. 10(2), 70–98 (2003)MATHGoogle Scholar
  8. 8.
    Cardelli, L., Gordon, A.D.: Mobile ambients. TCS 240(1), 177–213 (2000). https://doi.org/10.1016/S0304-3975(99)00231–5MathSciNetCrossRefGoogle Scholar
  9. 9.
    De Nicola, R., Hennessy, M.: Testing equivalences for processes. TCS 34, 83–133 (1984). https://doi.org/10.1016/0304-3975(84)90113-0MathSciNetCrossRefGoogle Scholar
  10. 10.
    Fu, Y.: Theory of interaction. Theor. Comput. Sci. 611, 1–49 (2016). https://doi.org/10.1016/j.tcs.2015.07.043MathSciNetCrossRefGoogle Scholar
  11. 11.
    Given-Wilson, T.: Expressiveness via intensionality and concurrency. In: Ciobanu, G., Méry, D. (eds.) ICTAC 2014. LNCS, vol. 8687, pp. 206–223. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-10882-7_13CrossRefGoogle Scholar
  12. 12.
    Given-Wilson, T.: On the expressiveness of intensional communication. In: Proceedings of EXPRESS/SOS 2014. EPTCS, vol. 160, pp. 30–46 (2014).  https://doi.org/10.4204/EPTCS.160.4MathSciNetCrossRefGoogle Scholar
  13. 13.
    Given-Wilson, T., Legay, A.: On the expressiveness of joining. In: Proceedings of ICE 2015. EPTCS, vol. 189, pp. 99–113 (2015).  https://doi.org/10.4204/EPTCS.189.9MathSciNetCrossRefGoogle Scholar
  14. 14.
    van Glabbeek, R.J.: On the expressiveness of ACP (extended abstract). In: Ponse, A., Verhoef, C., van Vlijmen, S.F.M. (eds.) ACP 1994. Workshops in Computing, pp. 188–217. Springer, London (1994).  https://doi.org/10.1007/978-1-4471-2120-6_8. http://theory.stanford.edu/~rvg/abstracts.html#31CrossRefGoogle Scholar
  15. 15.
    Glabbeek, R.J.: A characterisation of weak bisimulation congruence. In: Middeldorp, A., van Oostrom, V., van Raamsdonk, F., de Vrijer, R. (eds.) Processes, Terms and Cycles: Steps on the Road to Infinity. LNCS, vol. 3838, pp. 26–39. Springer, Heidelberg (2005).  https://doi.org/10.1007/11601548_4CrossRefGoogle Scholar
  16. 16.
    van Glabbeek, R.J.: Musings on encodings and expressiveness. In: Proceedings of EXPRESS/SOS 2012. EPTCS, vol. 89, pp. 81–98 (2012).  https://doi.org/10.4204/EPTCS.89.7
  17. 17.
    van Glabbeek, R.J.: Lean and full congruence formats for recursion. In: Proceedings of LICS 2017 (2017).  https://doi.org/10.1109/LICS.2017.8005142
  18. 18.
    van Glabbeek, R.J.: A theory of encodings and expressiveness (2018). http://theory.stanford.edu/~rvg/abstracts.html#tra. Full version of current paper
  19. 19.
    van Glabbeek, R.J., Luttik, B., Trčka, N.: Branching bisimilarity with explicit divergence. Fund. Inform. 93(4), 371–392 (2009). https://doi.org/10.3233/FI-2009-109MathSciNetMATHGoogle Scholar
  20. 20.
    Gorla, D.: A taxonomy of process calculi for distribution and mobility. Distrib. Comput. 23(4), 273–299 (2010). https://doi.org/10.1007/s00446-010-0120-6MathSciNetCrossRefGoogle Scholar
  21. 21.
    Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. I&C 208(9), 1031–1053 (2010). https://doi.org/10.1016/j.ic.2010.05.002MathSciNetMATHGoogle Scholar
  22. 22.
    Grätzer, G.: Lattice theory: foundation (2010).  https://doi.org/10.1007/978-3-0348-0018-1
  23. 23.
    Hatzel, M., Wagner, C., Peters, K., Nestmann, U.: Encoding CSP into CCS. In: Proceedings of EXPRESS/SOS 2015. EPTCS, vol. 190, pp. 61–75 (2015).  https://doi.org/10.4204/EPTCS.190.5MathSciNetCrossRefGoogle Scholar
  24. 24.
    Honda, K., Tokoro, M.: An object calculus for asynchronous communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991).  https://doi.org/10.1007/BFb0057019CrossRefGoogle Scholar
  25. 25.
    Lippert, C., Mennicke, S., van Glabbeek, R.J., Goltz, U.: A case study on evaluating encodings between process calculi. Technical report (2018). http://theory.stanford.edu/~rvg/abstracts.html#129
  26. 26.
    Milner, R.: Processes: a mathematical model for computing agents. Stud. Log. Found. Math. 80, 157–173 (1975).  https://doi.org/10.1016/S0049-237X(08)71948-7. Logic Colloquium 1973MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    Milner, R.: Operational and algebraic semantics of concurrent processes. In: Handbook of Theoretical Computer Science, Chap. 19, pp. 1201–1242 (1990)MATHGoogle Scholar
  28. 28.
    Milner, R.: Functions as processes. Math. Struct. Comput. Sci. 2(2), 119–141 (1992).  https://doi.org/10.1017/S0960129500001407MathSciNetCrossRefMATHGoogle Scholar
  29. 29.
    Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 685–695. Springer, Heidelberg (1992).  https://doi.org/10.1007/3-540-55719-9_114CrossRefGoogle Scholar
  30. 30.
    Nestmann, U.: What is a “Good” encoding of guarded choice? I&C 156(1–2), 287–319 (2000).  https://doi.org/10.1006/inco.1999.2822MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Nestmann, U., Pierce, B.C.: Decoding choice encodings. I&C 163(1), 1–59 (2000).  https://doi.org/10.1006/inco.2000.2868. An earlier version appeared in Proc. CONCUR ’96MathSciNetCrossRefMATHGoogle Scholar
  32. 32.
    Palamidessi, C.: Comparing the expressive power of the synchronous and asynchronous pi-calculi. Math. Struct. Comput. Sci. 13(5), 685–719 (2003).  https://doi.org/10.1017/S0960129503004043CrossRefGoogle Scholar
  33. 33.
    Palamidessi, C., Saraswat, V.A., Valencia, F.D., Victor, B.: On the expressiveness of linearity vs persistence in the asychronous pi-calculus. In: Proceedings of LICS 2006, pp. 59–68. IEEE Computer Society Press (2006).  https://doi.org/10.1109/LICS.2006.39
  34. 34.
    Parrow, J.: Trios in concert. In: Proof, Language, and Interaction, Essays in Honour of Robin Milner, pp. 623–638. The MIT Press (2000)Google Scholar
  35. 35.
    Parrow, J.: Expressiveness of process algebras. In: ENTCS, vol. 209, pp. 173–186 (2008).  https://doi.org/10.1016/j.entcs.2008.04.011MathSciNetCrossRefGoogle Scholar
  36. 36.
    Peters, K.: Translational expressiveness. Comparing process calculi using encodings. Ph.D. thesis, TU Berlin (2012).  https://doi.org/10.14279/depositonce-3416
  37. 37.
    Peters, K., van Glabbeek, R.J.: Analysing and comparing encodability criteria. In: EXPRESS/SOS 2015. EPTCS, vol. 190, pp. 46–60 (2015).  https://doi.org/10.4204/EPTCS.190.4MathSciNetCrossRefGoogle Scholar
  38. 38.
    Peters, K., Nestmann, U.: Is it a “Good” encoding of mixed choice? In: Birkedal, L. (ed.) FoSSaCS 2012, vol. 7213, pp. 210–224. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-28729-9_14CrossRefMATHGoogle Scholar
  39. 39.
    Peters, K., Nestmann, U.: Breaking symmetries. Math. Struct. Comput. Sci. 26(6), 1054–1106 (2016).  https://doi.org/10.1017/S0960129514000346MathSciNetCrossRefMATHGoogle Scholar
  40. 40.
    Peters, K., Nestmann, U., Goltz, U.: On distributability in process calculi. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 310–329. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-37036-6_18CrossRefGoogle Scholar
  41. 41.
    Phillips, I., Vigliotti, M.G.: Leader election in rings of ambient processes. TCS 356(3), 468–494 (2006).  https://doi.org/10.1016/j.tcs.2006.02.004MathSciNetCrossRefMATHGoogle Scholar
  42. 42.
    Riecke, J.G.: Fully abstract translations between functional languages. In: Proceedings of POPL 1991, pp. 245–254. ACM Press (1991).  https://doi.org/10.1145/99583.99617
  43. 43.
    Sangiorgi, D.: From \(\pi \)-calculus to higher-order \(\pi \)-calculus — and back. In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993. LNCS, vol. 668, pp. 151–166. Springer, Heidelberg (1993).  https://doi.org/10.1007/3-540-56610-4_62CrossRefGoogle Scholar
  44. 44.
    Sangiorgi, D., Walker, D.: The \(\pi \)-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)MATHGoogle Scholar
  45. 45.
    Shapiro, E.Y.: Separating concurrent languages with categories of language embeddings. In: STOC 1991, pp. 198–208. ACM (1991).  https://doi.org/10.1145/103418.103423
  46. 46.
    Vigliotti, M.G., Phillips, I., Palamidessi, C.: Tutorial on separation results in process calculi via leader election problems. TCS 388(1–3), 267–289 (2007).  https://doi.org/10.1016/j.tcs.2007.09.001MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© The Author(s) 2018

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this book are included in the book's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the book's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  1. 1.Data61CSIROSydneyAustralia
  2. 2.Computer Science and EngineeringUniversity of New South WalesSydneyAustralia

Personalised recommendations