Skip to main content
Erschienen in:
Buchtitelbild

Open Access 2018 | OriginalPaper | Buchkapitel

A Theory of Encodings and Expressiveness (Extended Abstract)

(Extended Abstract)

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq9_HTML.gif . 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq13_HTML.gif iff there exists a valid translation up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq14_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq15_HTML.gif , 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq20_HTML.gif can be modified into a compositional translation valid up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq21_HTML.gif . This requires restricting attention to languages and preorders https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq22_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq23_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq25_HTML.gif of a set https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq26_HTML.gif of valid expressions in \(\mathcal{L}\) and a mapping https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq28_HTML.gif from https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq29_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq33_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq36_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq41_HTML.gif to E that depends on the choice of a valuation \(\rho \!:\mathcal {X}\!\!\!\rightarrow \!\mathbf{V}\). The valuation associates a value from \(\mathbf{V}\) with each variable.
Since normally the names of variables are irrelevant and the cardinality of the set of variables satisfies only the requirement that it is “sufficiently large”, no generality is lost by insisting that two (system description) languages whose expressiveness is being compared employ the same set of (process) variables. On the other hand, two languages \(\mathcal{L}\) and \(\mathcal{L}'\) may be interpreted in different domains of values \(\mathbf{V}\) and \(\mathbf{V}'\!\).
Let \(\mathcal{L}\) and \(\mathcal{L}'\) be languages as considered above, with semantic mappings
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ6_HTML.gif
In order to compare these languages w.r.t. their expressive power I need a semantic equivalence or preorder https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq50_HTML.gif that is defined on a unifying domain of interpretation \(\mathbf{Z}\), with \(\mathbf{V},\mathbf{V}' \subseteq \mathbf{Z}\).1 Intuitively, https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq57_HTML.gif with https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq58_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq59_HTML.gif means that values https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq60_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq61_HTML.gif are sufficiently alike for our purposes, so that one can accept a translation of an expression with meaning https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq62_HTML.gif into an expression with meaning https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq63_HTML.gif . 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq65_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq73_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq81_HTML.gif is correct w.r.t. a semantic translation \(\mathbf{R}\) if https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq83_HTML.gif for all expressions https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq84_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq90_HTML.gif is correct up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq91_HTML.gif iff https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq92_HTML.gif is an equivalence, the restriction \(\mathbf{R}\) of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq94_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq99_HTML.gif iff it is correct w.r.t. some semantic translation https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq100_HTML.gif . Language \(\mathcal{L}'\) is at least as expressive as \(\mathcal{L}\) up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq103_HTML.gif if a translation valid up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq104_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq115_HTML.gif for which there is no \(\sim \)-equivalent https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq117_HTML.gif , 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq123_HTML.gif , and this aspect of the language has no counterpart in \(\mathcal{L}'\). Therefore, [16] requires
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ1_HTML.gif
(1)
This implies that for any valuation \(\rho \,{:}\,\mathcal {X}\rightarrow \mathbf{V}\) there is an \(\eta \,{:}\,\mathcal {X}\rightarrow \mathbf{V}'\) with \(\eta \sim \rho \).
Definition 6
([16]). A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is correct up to \(\sim \) iff (1) holds and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq132_HTML.gif for all https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq133_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq146_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq165_HTML.gif . In [16] this called a congruence for \(\mathcal{T}(\mathcal{L})\).
Definition 8
Let https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq167_HTML.gif be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\). An equivalence \(\sim \) on \(\mathbf{V}'\) is a congruence for \(\mathcal{T}(\mathcal{L})\) if https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq173_HTML.gif for any https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq174_HTML.gif 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) https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq183_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq193_HTML.gif on a class \(\mathbf{Z}\) is said to be finer, stronger, or more discriminating than another equivalence or preorder https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq195_HTML.gif on \(\mathbf{Z}\) if https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq197_HTML.gif for all https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq198_HTML.gif .
Observation 1
Let https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq199_HTML.gif be a translation from \(\mathcal{L}\) into \(\mathcal{L}'\), and let https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq202_HTML.gif be finer than https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq203_HTML.gif . If \(\mathcal{T}\) is valid up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq205_HTML.gif , then it is also valid up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq206_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq211_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq216_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq219_HTML.gif ” is a preorder on languages.

5 Closed-Term Languages

The languages considered in this paper feature variables, operators of arity https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq220_HTML.gif , and/or other constructs. The set https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq221_HTML.gif of \(\mathcal{L}\)-expressions is inductively defined by:
  • https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq223_HTML.gif for each variable \(X\in \mathcal {X}\),
  • https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq225_HTML.gif for each n-ary operator f and expressions https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq226_HTML.gif ,
  • and clauses for the other constructs, if any.
Examples of other constructs are the infinite summation operator \(\sum _{i\in I}E_i\) of CCS, which takes arbitrary many arguments, or the recursion construct \(\mu X.E\), that has one argument, but binds all occurrences of X in that argument.
In general a construct has a number (possibly infinite) of argument expressions and it may bind certain variables within some of its arguments—the scope of the binding. An occurrence of a variable X in an expression is bound if it occurs within the scope of a construct that binds X, and free otherwise.
The semantics of such a language is given, in part, by a domain of values \(\mathbf{V}\), and an interpretation of each n-ary operator f of \(\mathcal{L}\) as an n-ary operation \(f^\mathbf{V}: \mathbf{V}^n\rightarrow \mathbf{V}\) on \(\mathbf{V}\). Using the equations
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ7_HTML.gif
this allows an inductive definition of the meaning https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq233_HTML.gif of an \(\mathcal{L}\)-expression \(E\). Moreover, https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq236_HTML.gif only depends on the restriction of \(\rho \) to the set \({ fv}(E)\) of variables occurring free in \(E\).
The set https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq240_HTML.gif of closed terms of \(\mathcal{L}\) consists of those \(\mathcal{L}\)-expressions https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq243_HTML.gif with \({ fv}(E)=\emptyset \). If \(P\in \mathrm{T}_\mathcal{L}\) and \(\mathbf{V}\ne \emptyset \) then https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq247_HTML.gif is independent of the choice of \(\rho :\mathcal {X}\rightarrow \mathbf{V}\), and therefore denoted https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq249_HTML.gif .
Definition 9
A substitution in \(\mathcal{L}\) is a partial function https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq251_HTML.gif from the variables to the \(\mathcal{L}\)-expressions. For a given \(\mathcal{L}\)-expression https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq254_HTML.gif , https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq255_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq263_HTML.gif for https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq264_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq271_HTML.gif of process expressions or terms E of the calculus is given by
$$\begin{aligned} E \,\, {:}{:=}\,\, X ~~\mid ~~ \mathbf 0 ~~\mid ~~ \bar{x}y.E ~~\mid ~~ x(z).E ~~\mid ~~ E|E' ~~\mid ~~ (\nu z)E ~~\mid ~~ !E \end{aligned}$$
with xyz ranging over \(\mathcal{N}\), and X over \(\mathcal {X}\), the set of process variables. Process variables are not considered in [44], although they are common in languages like CCS [27] that feature a recursion construct. Since process variables form a central part of my notion of a valid or correct translation, here they have simply been added. This works generally. In Sect. 12 I show that for the purpose of accessing whether one language is as expressive as another, translations between them can be assumed to be compositional. This important result would be lost if process variables were dropped from the language. In that case compositionality would need to be stated as a separate requirement for valid translations.
Closed process expressions are called processes. The \(\pi \)-calculus is usually presented as a closed-term language, in that the semantic value associated with a closed term is simply itself. Yet, the real semantics is given by a reduction relation between processes, defined below.
Definition 10
An occurrence of a name z in \(\pi \)-calculus process \(P\in \mathrm{T}_\pi \) is bound if it occurs within a subexpression \(x(z).P'\) or \((\nu z)P'\) of P; otherwise it is free. Let \(\mathsf{n}(P)\) (resp. \(\mathsf{bn}(P)\)) be the set of names occurring (bound) in \(P\in \mathrm{T}_\pi \). Structural congruence, \(\equiv \), is the smallest congruence relation on processes satisfying
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ8_HTML.gif
Here the rightmost column only holds when \(w\notin \mathsf{n}(P)\), and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq284_HTML.gif 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.
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ9_HTML.gif
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq296_HTML.gif such that
  • https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq297_HTML.gif and \(P{\downarrow _{\bar{x}}}\) implies \(Q{\Downarrow _{\bar{x}}}\), and
  • https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq300_HTML.gif and \(P \Longrightarrow P'\) implies \(Q \Longrightarrow Q'\) for some \(Q'\) with https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq304_HTML.gif .
Weak barbed congruence, \(\cong ^c\), is the largest congruence included in https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq306_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq312_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq321_HTML.gif . 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:
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ10_HTML.gif
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq337_HTML.gif . Since https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq338_HTML.gif is not a congruence (for \(\pi \) or \(\mathrm a\pi \)) it is not correct up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq341_HTML.gif .

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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq345_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq356_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq358_HTML.gif . 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq360_HTML.gif , with the well-order \(\le \) on \(\mathbf{V}\) inherited lexicographically from the default order on https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq363_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq377_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq385_HTML.gif , but
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ11_HTML.gif
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq395_HTML.gif for https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq396_HTML.gif iff https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq397_HTML.gif for any \(\mathcal{L}\)-expression E and any valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq400_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq401_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq411_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq418_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq432_HTML.gif for any expression https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq433_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq439_HTML.gif and \(\theta ,\eta :\mathcal {X}\rightarrow \mathbf{W}\) with \(\theta \sim \eta \) (respectively \(\theta \sim ^1\eta \)) one has https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq443_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq448_HTML.gif . Then \(\mathord {\mathbf{R}}(\mathbf{V})\) is closed under \(\mathcal{T}(\mathcal{L})\).
Proof:
Let https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq451_HTML.gif and \(\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\). Take \(\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\rho \mathbf{R}\eta \). Then https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq455_HTML.gif . Since https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq456_HTML.gif one has https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq457_HTML.gif .    \(\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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq469_HTML.gif and \(\theta ,\eta :\mathcal {X}\rightarrow \mathord {\mathbf{R}}(\mathbf{V})\) with \(\theta \sim \eta \). By the definition of \(\mathord {\mathbf{R}}(\mathbf{V})\) there are valuations \(\nu ,\rho :\mathcal {X}\rightarrow \mathbf{V}\) with \(\theta \,\, \mathbf{R}\,\, \nu \) and \(\eta \,\, \mathbf{R}\,\, \rho \). Now \(\nu \sim \theta \sim \eta \sim \rho \), so
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ12_HTML.gif
and hence https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq477_HTML.gif . The other direction proceeds in the same way.
Now suppose \(\sim \) is a 1-hole congruence for \(\mathcal{L}\). Let https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq480_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq507_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq514_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq520_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq528_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq529_HTML.gif . 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq533_HTML.gif on \(\mathbf{V}\cup \mathbf{V}'\) extends to this copy by considering each copied element https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq535_HTML.gif -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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq560_HTML.gif , contained in \(\sim \), such that (1) the restriction of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq562_HTML.gif to \(\mathbf{V}\) is the largest 1-hole congruence for \(\mathcal{L}\) contained in \(\sim \), (2) the set https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq566_HTML.gif is closed under \(\mathcal{T}(\mathcal{L})\), and (3) the restriction of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq568_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq573_HTML.gif on \(\mathbf{V}\cup \mathbf{W}\) melts an equivalence class of \(\sim ^{1c}_{\mathcal{L}\!,\mathbf{R}}\) on \(\mathbf{V}\) with one of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq577_HTML.gif on \(\mathbf{W}\). Moreover, on \(\mathbf{V}\) the relation is completely determined by \(\mathcal{L}\) and \(\sim \). However, in general the whole relation https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq582_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq595_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq604_HTML.gif , 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq607_HTML.gif , and on the source domain \(\mathrm{T}_\pi \) coincides with \(\cong ^c\). By Theorem 4, the restriction of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq610_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq618_HTML.gif , it is certainly a congruence for \(\mathcal{T}(\pi )\) on \(\mathbf{W}\), and thus contained in https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq621_HTML.gif . 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq623_HTML.gif . So, for distinct \(u,v,y,w,x,z \in \mathcal{N}\),
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ13_HTML.gif
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq682_HTML.gif that “respect https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq683_HTML.gif ”, 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq685_HTML.gif if expression E can be converted into F by acts of \(\alpha \)-conversion.
In languages where there are multiple types of bound variables, https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq687_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq693_HTML.gif .
A term f(cg(c)), for instance, can be written as \(H[\sigma ]\) where \(H=f(X_1,X_2)\) is a head, and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq696_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq706_HTML.gif , with https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq707_HTML.gif , iff there are terms https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq708_HTML.gif with https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq709_HTML.gif , and a valuation \(\zeta :\mathcal {X}\rightarrow \mathbf{V}\) such that https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq711_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq712_HTML.gif . This relation is reflexive and symmetric.
In [16] I limited attention to languages satisfying
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_Equ2_HTML.gif
(2)
This postulate says that the meaning of an expression is invariant under \(\alpha \)-conversion. It can be reformulated as the requirement that https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq714_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq716_HTML.gif -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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq717_HTML.gif is an equivalence.
Postulate 2
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq718_HTML.gif is an equivalence relation.
This postulate is needed in Sect. 12. I also need to restrict attention to preorders https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq719_HTML.gif with https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq720_HTML.gif . When that holds I say that the preorder https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq721_HTML.gif respects https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq722_HTML.gif . If (2) holds—which strengthens of Postulate 2—then any preorder respects https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq723_HTML.gif .

12 Compositionality

An important property of translations, defined below, is compositionality. In this section show I that any valid translation up to a preorder https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq724_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq725_HTML.gif that respect https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq726_HTML.gif .
Definition 18
A translation \(\mathcal{T}\) from \(\mathcal{L}\) into \(\mathcal{L}'\) is compositional if
(1)
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq730_HTML.gif for each https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq731_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq732_HTML.gif ,
 
(2)
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq733_HTML.gif implies https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq734_HTML.gif for all https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq735_HTML.gif ,
 
(3)
and moreover \(\mathcal{T}(X)=X\) for each \(X\in \mathcal {X}\).
 
In case \(E=f(t_1,\ldots ,t_n)\) for certain https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq739_HTML.gif this amounts to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq740_HTML.gif , 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq743_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq746_HTML.gif is too demanding. ¶
Lemma 1
If https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq747_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq748_HTML.gif are compositional translations, then so is their composition https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq749_HTML.gif , 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) https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq752_HTML.gif for each https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq753_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq754_HTML.gif . Here the derivation of the first https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq755_HTML.gif uses Property (2) of Definition 18—and this is the reason for requiring that property.
(2) https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq756_HTML.gif implies https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq757_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq758_HTML.gif for all https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq759_HTML.gif .
(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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq765_HTML.gif a preorder that respects https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq766_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq767_HTML.gif . If any valid (or correct) translation from \(\mathcal{L}\) into \(\mathcal{L}'\) up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq770_HTML.gif exists, then there exists a compositional translation that is valid (or correct) up to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq771_HTML.gif . ¶
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq775_HTML.gif .
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq784_HTML.gif 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 \). ¶
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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq792_HTML.gif 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, 58, 1113, 23, 3034, 3841, 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq803_HTML.gif . If one takes https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq804_HTML.gif 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.
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.
Fußnoten
1
I will be chiefly interested in the case that https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq53_HTML.gif 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 https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq55_HTML.gif is reflexive and transitive. My convention is that the dotted end of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-319-89366-2_10/465191_1_En_10_IEq56_HTML.gif points to a translation and the other end to an original—without offering an intuition for the possible asymmetry.
 
2
This is called a lean congruence in [17]; in the presence of recursion, stricter congruence requirements are common. Those are not needed in this paper.
 
Literatur
1.
Zurück zum Zitat 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_97CrossRef 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_​97CrossRef
4.
Zurück zum Zitat Boudol, G.: Asynchrony and the \(\pi \)-calculus (Note). Technical report 1702, INRIA (1992) Boudol, G.: Asynchrony and the \(\pi \)-calculus (Note). Technical report 1702, INRIA (1992)
7.
Zurück zum Zitat Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in pi-calculus. Nord. J. Comput. 10(2), 70–98 (2003)MATH Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in pi-calculus. Nord. J. Comput. 10(2), 70–98 (2003)MATH
15.
Zurück zum Zitat 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_4CrossRef 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_​4CrossRef
27.
Zurück zum Zitat Milner, R.: Operational and algebraic semantics of concurrent processes. In: Handbook of Theoretical Computer Science, Chap. 19, pp. 1201–1242 (1990)MATH Milner, R.: Operational and algebraic semantics of concurrent processes. In: Handbook of Theoretical Computer Science, Chap. 19, pp. 1201–1242 (1990)MATH
33.
34.
Zurück zum Zitat Parrow, J.: Trios in concert. In: Proof, Language, and Interaction, Essays in Honour of Robin Milner, pp. 623–638. The MIT Press (2000) Parrow, J.: Trios in concert. In: Proof, Language, and Interaction, Essays in Honour of Robin Milner, pp. 623–638. The MIT Press (2000)
44.
Zurück zum Zitat Sangiorgi, D., Walker, D.: The \(\pi \)-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)MATH Sangiorgi, D., Walker, D.: The \(\pi \)-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)MATH
Metadaten
Titel
A Theory of Encodings and Expressiveness (Extended Abstract)
verfasst von
Rob van Glabbeek
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-89366-2_10

Premium Partner