Lean and Full Congruence Formats for Recursion

Rob van Glabbeek

Data61, CSIRO, Sydney, Australia

School of Computer Science & Engineering, University of New South Wales, Sydney, Australia

Abstract—In this paper I distinguish two (pre)congruence requirements for semantic equivalences and preorders on processes given as closed terms in a system description language with a recursion construct. A lean congruence preserves equivalence when replacing closed subexpressions of a process by equivalent alternatives. A full congruence moreover allows replacement within a recursive specification of subexpressions that may contain recursion variables bound outside of these subexpressions.

I establish that bisimilarity is a lean (pre)congruence for recursion for all languages with a structural operational semantics in the ntyft/ntyxt format. Additionally, it is a full congruence for the tyft/tyxt format.

I. Introduction

Structural Operational Semantics [44], [46] is one of the main methods for defining the meaning of system description languages like CCS [44]. A system or process is represented by a closed term built from a collection of operators, process variables and usually a recursion construct, and the behaviour of a process is given by its collection of (outgoing) transitions, each specifying the action the process performs by taking this transition, and the process that results after doing so. The transitions between states are obtained from a set of proof rules called transition rules.

For purposes of representation and verification, several behavioural equivalence relations have been defined on processes, of which the most well-known is (strong) bisimilarity [44]. To allow compositional system verification, such equivalences need to be congruences for the operators under consideration, meaning that the equivalence class of an nary operator f applied to arguments p_{1}, …, p_{n} is completely determined by the equivalence classes of these arguments.

Equally important is that the chosen equivalence relation ∼ is a congruence for recursion. Recursion allows the specification of a process as a canonical solution of an equation X = E(X).^{1} Here E(X) is an expression that may contain the variable X. If W is the collection of other variables occurring in E(X), not bound by the recursive specification, then the canonical solution of X = E(X) is a W -ary function that returns a process for each valuation of these variables as processes. I call ∼ a lean congruence for recursion if each such operator satisfies the above-mentioned congruence requirement.

Take for example E(X) to be a.X + Y in the language CCS of Milner [44]. Then W = {Y }. Let ∼ be bisimilarity, so that b.0 ∼ b.0 + b.0 [44]. Now the lean congruence

1The particular solution supplied by structural operational semantics is the one whose transitions are determined by the transition rules.

requirement for ∼ insists that the selected solutions of the recursive equations X = a.X +b.0 and X = a.X +(b.0+b.0), obtained from X = a.X + Y by substituting each of these bisimilar processes for Y, are again bisimilar.

The lean congruence requirement plays a key rôle in the study of expressiveness of system description languages [33]. There, correct translations of one language into another up to a semantic equivalence ∼ are defined; and expressiveness hierarchies—one for each choice of ∼—are defined in terms of those translations. However, a correct translation can exist only when ∼ is a lean congruence for the source language, as well as for the source’s image within the target language.

If F (X) is an expression like E(X), for simplicity assuming that neither contains variables other than X, and E(p) ∼ F (p) regardless which process p is substituted for the variable X, then the full congruence property demands that the selected solutions of the equations X = E(X) and X = F (X) are again equivalent. As a CCS example, suppose that a process is given as the solution of the equation X = a.X + a.X. Using the idempotence of + under bisimilarity, one can now proceed to think of the same process, up to bisimilarity, as the solution of X = a.X. This type of reasoning is a central component in system verification by equivalence checking [7], [17], [6], [37], as applied in successful verification toolsets such as CADP [24] and mCRL2 [37]. Yet it is valid only if bisimilarity is a full congruence for recursion.

In order to streamline the process of proving that a certain equivalence is a congruence for certain operators, and to guide sensible language definitions, syntactic criteria (congruence formats) for the transition rules in structural operational semantics have been developed, ensuring that the equivalence is a congruence for any operator specified by rules that meet these criteria. The first of these was proposed by Robert de Simone in [48], [49] and is now called the De Simone format. A generalisation featuring transition rules with negative premises is the GSOS format of Bloom, Istrail & Meyer [11], and a generalisation with lookahead is the tyft/tyxt format of Groote & Vaandrager [39]. The ntyft/ntyxt format of Groote [36] allows both negative premises and lookahead and generalises the GSOS as well as the tyft/tyxt format. All this work provides congruence formats for (strong) bisimilarity. Congruence formats for other strong semantic equivalences—treating the internal action τ like any other action—appear in [10], [21].^{2} Formats for weak semantics—

2These congruence formats also apply to behavioural preorders, and then ensure that such a preorder is a precongruence.

abstracting from internal activity—can be found, e.g., in [50], [9], [18], [51], [52], [32], [23], [20].

Extensions to probabilistic systems appear for instance in [8], [41], [40], [25], [43], [5], [16]. Rule formats ensuring properties of operators other than being a (pre)congruence appear in [45] (commutativity), [15] (associativity), [2] (zero and unit elements), [3] (distributivity) and [1] (idempotence). Overviews on work on congruence formats and other rule formats, with many more references, can be found in [4], [38].

Yet, to the best of my knowledge, no one has proposed a congruence format for recursion. This hiatus is addressed here. I establish that bisimilarity is a lean congruence for recursion for all languages with a structural operational semantics in the ntyft/ntyxt format.^{3} I did not succeed in showing that it is even a full congruence for all ntyft/ntyxt languages; nor did I find a counterexample. Even for GSOS languages this remains an open question. However, I show that bisimilarity is a full congruence for recursion for all tyft/tyxt languages.

My proof strategy follows the traditional method of [11], [39], [12]. However, for this to work smoothly, I present a new formulation—better fitted to my application—of the wellfounded semantics of transition system specifications with negative premises, and show its consistency with previous formulations.

I could not establish the full congruence result directly, without using the lean congruence result as an intermediate step, even when restricting the latter to the tyft/tyxt format. Thus, I see no way around a sequence of two proofs with a large overlap.

The method of modal decomposition [22] yields alternative congruence proofs for operators specified in the tyft/tyxt and GSOS formats [22]. Extending this method to deal with recursion might be a way to extend my full congruence result to transition rules with negative premises.

Providing (lean and full) congruence formats for recursion for equivalences and preorders other than bisimilarity, as well as for weak versions of bisimilarity [44], [35]—supporting abstraction from internal actions—remains an important open problem.

II. Transition system specifications and their

meaning

In this paper Var and A are two sets of variables and actions. Many concepts that will appear are parameterised by the choice of Var and A, but as in this paper this choice is fixed, a corresponding index is suppressed.

Definition 1 (Signatures) A function declaration is a pair (f, n) of a function symbol f ∉ Var and an arity n ∈ ℕ.^{4} A

3Some of those languages have a 3-valued transition system semantics, where bisimilarity becomes an asymmetric preorder. Here I establish that it is a precongruence.

4This work generalises seamlessly to operators with infinitely many arguments. Such operators occur, for instance, in [13, Appendix A.2]. Hence one may take n to be any ordinal. An operator, like the summation or choice of CCS [44], that actually takes any set of arguments, needs to be simulated by a family of operators with a sequence of arguments (but yielding the same value upon reshuffling of the arguments), one for each cardinality of this set.

function declaration (c, 0) is also called a constant declaration. A signature is a set of function declarations. The set 𝕋(Σ) of terms with recursion over a signature Σ is defined inductively by:

• Var ⊆ 𝕋(Σ),

• if (f, n)∈Σ and t_{1}, ..., t_{n}∈𝕋(Σ) then f(t_{1}, ..., t_{n})∈𝕋(Σ),

• If V_{S} ⊆ Var, S : V_{S} → 𝕋(Σ) and X ∈ V_{S}, then

{/ \atop \}X|S{\ \atop /} ∈ 𝕋(Σ). A term c() is abbreviated as c. A function S as appears in the last clause is called a recursive specification. A recursive specification S is often displayed as {X = S_{X} | X ∈ V_{S}}. An occurrence of a variable y in a term t is free if it does not occur in a subterm of t of the form {/ \atop \}X|S{\ \atop /} with y ∈ V_{S}. Let var(t) denote the set of variables occurring free in a term t ∈ 𝕋(Σ), and let 𝕋(Σ, W) be the set of terms t over Σ with var(t) ⊆ W. T(Σ) := 𝕋(Σ, ∅) is set of closed terms over Σ.

Example 1 Let Σ contain three unary functions a. , b. and d. , and one infix-written binary function ∥. Let X, Y, z∈Var. Then S = { X = (a.X)∥(b.Y), Y = (d.Y)∥(X∥z) } is a recursive specification, so {/ \atop \}X|S{\ \atop /} ∈ 𝕋(Σ). Since V_{S} = \{X, Y \}, the only variable that occurs free in this term is z.

As illustrated here, I often choose upper case letters for bound variables (the ones occurring in a set V_{S}) and lower case ones for variables occurring free; this is a convention only.

A recursive specification S is meant to denote a V_{S}-tuple (in the example above a pair) of processes that—when filled in for the variables in V_{S}—forms a solution to the equations in S.^{5} The term {/ \atop \}X|S{\ \atop /} denotes the X-component of such a tuple.

Definition 2 (Substitution) A Σ-substitution σ is a partial function from Var to 𝕋(Σ); it is closed if it is a total function from Var to T(Σ). If σ is a substitution and S any syntactic object, then S[σ] denotes the object obtained from S by replacing, for x in the domain of σ, every free occurrence of x in S by σ(x), while renaming bound variables if necessary to prevent name-clashes. In that case S[σ] is called a substitution instance of S. A substitution instance t[σ] where σ is given by σ(x_{i}) = u_{i} for i ∈ I is denoted as t[u_{i}/x_{i}]_{i∈I}, and for S a recursive specification {/ \atop \}t|S{\ \atop /} abbreviates t[{/ \atop \}Y |S{\ \atop /}/Y]_{Y ∈V_{S}}.

Example 2 Extend Σ from Ex. 1 with a constant c. Then {/ \atop \}X|S{\ \atop /}[b.c/z] = {/ \atop \}X|\{X=(a.X)∥(b.Y), Y =(d.Y)∥(X∥b.c)\}{\ \atop /}, {/ \atop \}X|S{\ \atop /}[X/z] = {/ \atop \}Z|\{Z=(a.Z)∥(b.Y), Y =(d.Y)∥(Z∥X)\}{\ \atop /} and {/ \atop \}X|S{\ \atop /}[b.c/Y] = {/ \atop \}X|S{\ \atop /}.

Structural operational semantics [46] defines the meaning of system description languages whose syntax is given by a signature Σ. It generates a transition system in which the states, or processes, are the closed terms over Σ—representing the remaining system behaviour from that state—and transitions between processes are supplied with labels. The transitions

5When S contains free variables from a set W, this solution is parameterised by the choice of a valuation of these variables as processes, thereby becoming a W -ary function.

between processes are obtained from a transition system specification, which consists of a set of transition rules.

Definition 3 (Transition system specifications) Let Σ be a signature. A positive Σ-literal is an expression t ⟶^{a} t′ and a negative Σ-literal an expression t−↛^{a} with t, t′ ∈ 𝕋(Σ) and a ∈ A. For t, t′ ∈ 𝕋(Σ) the literals t ⟶^{a} t′ and t−↛^{a} are said to deny each other. A transition rule over Σ is an expression of the form \frac{H}{α} with H a set of Σ-literals (the premises or antecedents of the rule) and α a positive Σ-literal (the conclusion). The terms at the left- and right-hand side of α are the source and target of the rule. A rule \frac{H}{α} with H = ∅ is also written α. A literal or transition rule is closed if it contains no free variables. A transition system specification (TSS) is a pair (Σ, R) with Σ a signature and R a set of transition rules over Σ; it is positive if all antecedents of its rules are positive.

The concept of a (positive) TSS presented above was introduced in Groote & Vaandrager [39]; the negative premises t−↛^{a} were added in Groote [36]. The notion generalises the GSOS rule systems of [11] and constitutes the first formalisation of Plotkin’s Structural Operational Semantics (SOS) [46] that is sufficiently general to cover many of its applications.

The following definition (from [27]) tells when a transition is provable from a TSS. It generalises the standard definition (see e.g. [39]) by (also) allowing the derivation of transition rules. The derivation of a transition t ⟶^{a} t′ corresponds to the derivation of the transition rule \frac{H}{t⟶^{a}t′} with H = ∅. The case H ≠ ∅ corresponds to the derivation of t ⟶^{a} t′ under the assumptions H.

Definition 4 (Proof) Let P = (Σ, R) be a TSS. A proof of a transition rule \frac{H}{α} from P is a well-founded, upwardly branching tree of which the nodes are labelled by Σ-literals, such that:

• the root is labelled by α, and

• if β is the label of a node q and K is the set of labels of the nodes directly above q, then

– either K = ∅ and β ∈ H,

– or \frac{K}{β} is a substitution instance of a rule from R. If a proof of \frac{H}{α} from P exists, then \frac{H}{α} is provable from P, notation P ⊢ \frac{H}{α}.

A TSS is meant to specify an LTS in which the transitions are closed positive literals. A positive TSS specifies a transition relation in a straightforward way as the set of all provable transitions.^{6} But as pointed out in Groote [36], it is not so easy to associate a transition relation to a TSS with negative premises. In [31] several solutions to this problem

6Readers interested only in the restriction of my results to TSSs without negative premises—giving rise to 2-valued transition relations—can safely skip the remainder of this section, and identify p \underrightarrow{a} p′ with p ⟶^{a} p′. In the proofs of Prop. 3 and Thm. 2 also p \underrightarrow{a}_{λ} p′ and p ⟶^{a}_{λ} p′ equal p ⟶^{a} p′, for any λ; so the induction on λ can be skipped, as well as the auxiliary Claims 3 and 1, and the proof proceeds directly by induction on π.

were reviewed and evaluated. Arguably, the best method to assign a meaning to all TSSs is the well-founded semantics of Van Gelder, Ross & Schlipf [26], which in general yields a 3-valued transition relation T : T(Σ) × A × T(Σ) → {present, undetermined, absent}. I present such a relation as a pair {/ \atop \}CT, P T{\ \atop /} of 2-valued transition relations—the sets of certain and possible transitions—with CT ⊆ P T. When insisting on 2-valued transition relations, the best method is the same, declaring meaningful only those TSSs whose wellfounded semantics is 2-valued, meaning that CT = P T.

Below I give a new presentation of the well-founded semantics, strongly inspired by previous accounts in [47], [12], [31]. As Def. 4 does not allow the derivation of negative literals, to arrive at an approximation AT^{+} of the set of transitions that are in the transition relation intended by a TSS P, one could start from an approximation AT^{−} of the closed negative literals that ought to be generated, and define AT^{+} as the set of closed positive literals provable from P under the hypotheses AT^{−}. Intuitively,

1) if AT^{−} is an under- (resp. over-)approximation of the closed negative literals that “really” hold, then AT^{+} will be an under- (resp. over-)approximation of the intended (2-valued) transition relation, and

2) if AT^{+} is an under- (resp. over-)approximation of the intended transition relation, then the set of all closed negative literals that do not deny any literal in AT^{+} is an over- (resp. under-)approximation of the closed negative literals that agree with the intended transition relation.

Definition 5 (Over- and underappr. of transition relations) Let P be a TSS. For ordinals λ the sets CT_{λ}^{+} and P T_{λ}^{+} of closed positive literals, and CT_{λ}^{−}, P T_{λ}^{−} of closed negative literals are defined inductively by:

P T_{λ}^{−} is the set of literals that do not deny any β ∈ CT_{κ}^{+} with κ < λ β ∈ P T_{λ}^{+} iff P ⊢ \frac{P T_{λ}^{−}}{β}

CT_{λ}^{−} is the set of literals that do not deny any β ∈ P T_{λ}^{+} β ∈ CT_{λ}^{+} iff P ⊢ \frac{CT_{λ}^{−}}{β}.

Intuitively, CT_{λ}^{+} is an underapproximation of the set of transitions that should be in the transition relation specified by P, and P T_{λ}^{+} an overapproximation. Likewise, CT_{λ}^{−} is an underapproximation of the set of closed negative literals that should hold, and P T_{λ}^{−} an overapproximation. The approximations get better with increasing λ. To understand this inductively, note that P T_{0}^{−} is the set of all closed negative literals, and thus surely an overapproximation. The induction step is given by considerations 1 and 2 above.

Lemma 1 CT_{κ}^{−} ⊆ CT_{λ}^{−} ⊆ P T_{λ}^{−} ⊆ P T_{κ}^{−} and CT_{κ}^{+} ⊆ CT_{λ}^{+} ⊆ P T_{λ}^{+} ⊆ P T_{κ}^{+} for κ < λ.

Proof: Let κ < λ. The definition of P T_{λ}^{−} immediately yields P T_{λ}^{−} ⊆ P T_{κ}^{−}. From this, applying Def. 5, one obtains P T_{λ}^{+} ⊆ P T_{κ}^{+}, CT_{κ}^{−} ⊆ CT_{λ}^{−} and CT_{κ}^{+} ⊆ CT_{λ}^{+}, respectively. The remaining claims follow by induction on λ.

As P T_{0}^{−} is the universal relation, certainly CT_{0}^{−} ⊆ P T_{0}^{−}, so CT_{0}^{+} ⊆ P T_{0}^{+}.

Let λ be a limit ordinal. Then P T_{λ}^{−} = ⋂_{μ<λ} P T_{μ}^{−}. For any κ, μ < λ one has CT_{κ}^{−} ⊆ P T_{μ}^{−} by induction. Namely CT_{κ}^{−} ⊆ CT_{μ}^{−} ⊆ P T_{μ}^{−} if κ ≤ μ < λ, and CT_{κ}^{−} ⊆ P T_{κ}^{−} ⊆ P T_{μ}^{−} if μ ≤ κ < λ. Hence CT_{κ}^{−} ⊆ ⋂_{μ<λ} P T_{μ}^{−} = P T_{λ}^{−} for any κ < λ, and hence CT_{κ}^{+} ⊆ P T_{λ}^{+}. With Def. 5 this implies CT_{λ}^{−} ⊆ P T_{λ}^{−} and hence CT_{λ}^{+} ⊆ P T_{λ}^{+}.

Now let λ = μ+1. By induction CT_{μ}^{+} ⊆ P T_{μ}^{+}. With Def. 5 this implies CT_{μ}^{−} ⊆ P T_{λ}^{−}, and hence CT_{μ}^{+} ⊆ P T_{λ}^{+}. With Def. 5 this implies CT_{λ}^{−} ⊆ P T_{λ}^{−} and hence CT_{λ}^{+} ⊆ P T_{λ}^{+}. □

Since the closed literals over Σ form a proper set, there must be an ordinal κ such that P T_{λ}^{−} = P T_{κ}^{−} for all λ > κ, and hence also P T_{λ}^{+} = P T_{κ}^{+}, CT_{λ}^{−} = CT_{κ}^{−} and CT_{λ}^{+} = CT_{κ}^{+}.

Definition 6 Such an ordinal κ is called closure ordinal. Let P T^{−}:=P T_{κ}^{−}, P T^{+}:=P T_{κ}^{+}, CT^{−}:=CT_{κ}^{−} and CT^{+}:=CT_{κ}^{+}.

Remark 1 P T^{−} = ⋂_{λ} P T_{λ}^{−}, taking the intersection over all ordinals. Likewise, P T^{+} = ⋂_{λ} P T_{λ}^{+}, CT^{−} = ⋃_{λ} CT_{λ}^{−} and CT^{+} = ⋃_{λ} CT_{λ}^{+}.

Remark 2 P T^{−} is the set of literals that do not deny any literal in CT^{+}, and likewise for CT^{−} and P T^{+}. Moreover, CT^{−} ⊆ P T^{−} and CT^{+} ⊆ P T^{+}.

Definition 7 (Well-founded semantics) The 3-valued transition relation {/ \atop \}CT^{+}, P T^{+}{\ \atop /} constitutes the well-founded semantics of P.

Below I show that the above account of the well-founded semantics is consistent with the one in [31], and thereby with the ones in [12], [47], [26].

Definition 8 (Well-supported proof [31]) Let P = (Σ, R) be a TSS. A well-supported proof from P of a closed literal α is a well-founded tree with the nodes labelled by closed literals, such that the root is labelled by α, and if β is the label of a node and K is the set of labels of the children of this node, then:

• either β is positive and \frac{K}{β} is a substitution instance of a rule in R;

• or β is negative and for each set N of closed negative literals with P ⊢ \frac{N}{γ} for γ a closed positive literal denying β, a literal in K denies one in N.

P ⊢_{ws} α denotes that a well-supported proof from P of α exists.

Proposition 1 Let P be a TSS. Then P ⊢_{ws} p ⟶^{a} q iff

(p ⟶^{a} q) ∈ CT^{+}, and P ⊢_{ws} p−↛^{a} iff (p−↛^{a}) ∈ CT^{−}.

Proof: ⇒ : Let π be a well-supported proof of a closed literal α. By consistently applying the same closed substitution to all literals occurring in π, one can assume, without loss of generality, that all literals in π are closed. With structural induction on π I show that α ∈ CT^{+} ∪ CT^{−}.

Suppose α is positive and \frac{K}{α} is the closed substitution instance of the rule of P applied at the root of π. Then for each β ∈ K the literal β is ws-provable from P by means of a strict subproof of π. By induction β ∈ CT^{+} ∪ CT^{−}. As CT^{+} is CT_{κ}^{+} for some ordinal κ, it is closed under deduction. Hence α ∈ CT^{+}.

Suppose α is negative. Let β be closed positive literal denying α. By Def. 8, each set N of closed negative literals with P ⊢ β contains a literal γ_{N} denying a literal δ_{N} that is ws-provable from P by means of a strict subproof of π. By induction δ_{N} ∈ CT^{+}. Hence γ_{N} ∉ P T^{−}. Consequently β ∉ P T^{+}. Hence α ∈ CT^{−}.

⇐ : Suppose α ∈ CT_{λ}^{+} ∪ CT_{λ}^{−}. With induction on λ I show that P ⊢_{ws} α. First suppose α ∈ CT_{λ}^{−}. Let N be a set of closed negative literals with P ⊢ \frac{N}{γ} for γ a closed positive literal denying α. Assume that N ⊆ P T_{λ}^{−}. Then γ would be in P T_{λ}^{+}, contradicting the definition of CT_{λ}^{−}. So N contains a literal that is not in P T_{λ}^{−}, i.e., denies a literal δ_{N} in CT_{κ}^{+} for some κ < λ. By induction, P ⊢_{ws} δ_{N}. It follows that P ⊢_{ws} α.

Now suppose α ∈ CT_{λ}^{+}. Then P ⊢ \frac{CT_{λ}^{−}}{α}. By the case above P ⊢_{ws} β for each β ∈ CT_{λ}^{−}. Hence P ⊢_{ws} α. □

The above result, together with Theorem 1 in [31], and the observation in [31] that literals t −↛^{a} t′ can be eliminated from consideration (as done here), implies that the well-founded semantics given above agrees with the one from [31].

In [31] it was shown that ⊢_{ws} is consistent, in the sense that no TSS admits well-supported proofs of two literals that deny each other. This also follows directly from the material above. A TSS P is called complete [31] if for each p and a, either P ⊢_{ws} p−↛^{a} or P ⊢_{ws} p ⟶^{a} q for some q. This implies that CT^{−} is exactly the set of closed negative literals that do not deny any literal in CT^{+}. Hence CT^{−} = P T^{−} and thus CT^{+} = P T^{+}. So the 3-valued transition system associated to a complete TSS is 2-valued.

Below I write P ⊢ p ⟶^{a}_{λ} q for (p⟶^{a}q)∈CT_{λ}^{+}, P ⊢ p−̸→^{a}_{λ}

for (p−̸→^{a}) ∈ CT_{λ}^{−}, P ⊢ p \underrightarrow{a}_{λ} q for (p ⟶^{a} q) ∈ P T_{λ}^{+} and

P ⊢ p\underrightarrow{a̸}_{λ} for (p−̸→^{a}) ∈ P T_{λ}^{−}. Moreover, p ⟶^{a} q, resp. p \underrightarrow{a} q, will abbreviate p ⟶^{a}_{κ} q, resp. p \underrightarrow{a}_{κ} q, where κ is the closure ordinal of Def. 6.

In my forthcoming lean congruence proof I will apply structural induction on “the proof of a transition p ⟶^{a}_{λ} q or p \underrightarrow{a}_{λ} q from P ”. There I will mean the proofs of \frac{CT_{λ}^{−}}{p⟶^{a}q} and \frac{P T_{λ}^{−}}{p⟶^{a}q}, respectively, as this is what constitutes the evidence for the statement P ⊢ p ⟶^{a}_{λ} q, resp. P ⊢ p \underrightarrow{a}_{λ} q.

III. The bisimulation preorder

The goal of this paper is to show that bisimilarity is a congruence for recursion for all languages with a structural operational semantics in the ntyft/ntyxt format. Traditionally [44], bisimilarity is defined on 2-valued transition systems only, whereas the structural operational semantics of a language specified by a TSS can be 3-valued. Rather than limit my results to languages specified by complete TSSs, I use an extension of the notion of bisimilarity to 3-valued transition systems. Such an extension, called modal refinement, is provided in [42]. There, 3-valued transition systems are called modal transition systems.

Definition 9 (Bisimilarity) Let P be a TSS. A bisimulation R is a binary relation on the states of T(Σ) such that, for p, q ∈ T(Σ) and a ∈ A,

• if p R q and P ⊢ p ⟶^{a} p′, then there is a q′ with

P ⊢ q ⟶^{a} q′ and p′ R q′,

• if p R q and P ⊢ q \underrightarrow{a} q′, then there is a p′ with

P ⊢ p \underrightarrow{a} p′ and p′ R q′. A process q∈T(Σ) is a modal refinement of p∈T(Σ), notation p ⊑_{B} q, if there exists a bisimulation R with p R q. I call ⊑_{B} the bisimulation preorder, or bisimilarity. The kernel of ⊑, given by ≡_{B} := ⊑_{B} ∩ ⊒_{B}, is bisimulation equivalence.

Clearly, modal refinement is reflexive and transitive, and hence a preorder. The underlying idea is that a process p with a 3-valued transition relation {/ \atop \}CT, P T{\ \atop /} is a specification of a process with a 2-valued transition relation, in which the presence or absence of certain transitions is left open. CT contains the transitions that are required by the specification, and P T the ones that are allowed. If p ⊑_{B} q, then q may be closer to the eventual implementation, in the sense that some of the undetermined transitions have been resolved to present or absent. The requirements of Def. 9 now say that any transition that is required by p should be (matched by a transition) required by q, whereas any transition allowed by q, should certainly be (matched by a transition) allowed by p.

In case p and q are 2-valued (i.e. implementations) the modal refinement relation is just the traditional notion of bisimilarity [44] (and thus symmetric).

While achieving a higher degree of generality of my lean congruence theorem by interpreting incomplete TSSs as modal transition systems, I do not propose incomplete TSSs as a tool for the specification of modal transition systems.

IV. Congruence properties

In the presence of recursion, two sensible notions of precongruence come to mind. Let ⊑ be a preorder on the set T(Σ) of closed terms over Σ. For ρ, ν: Var → T(Σ) closed substitutions write ρ ⊑ ν iff ρ(x) ⊑ ν(x) for each x ∈ Var.

Definition 10 (Lean precongruence) A preorder ⊑ ⊆ T(Σ) × T(Σ) is a lean precongruence iff t[ρ] ⊑ t[ν] for any term t ∈ 𝕋(Σ) and any closed substitutions ρ and ν with ρ ⊑ ν.

Definition 11 (Full precongruence) A preorder ⊑ ⊆ T(Σ) × T(Σ) is a full precongruence iff it satisfies

\begin{matrix}p_{i} ⊑ q_{i} for all i = 1, ..., n \\ ⇒ f(p_{1}, ..., p_{n}) ⊑ f(q_{1}, ..., q_{n}) \end{matrix}  (1)

S_{Y} [σ] ⊑ S′_{Y} [σ] for all Y ∈ W and σ: W → T(Σ)

⇒ {/ \atop \}X|S{\ \atop /} ⊑ {/ \atop \}X|S′{\ \atop /} (2)

for all functions (f, n) ∈ Σ, closed terms p_{i}, q_{i} ∈ T(Σ), and recursive specifications S, S′ : W → 𝕋(Σ, W) with X ∈ W ⊆ Var.

A lean (resp. full) precongruence that is symmetric (i.e. an equivalence relation) is called a lean (resp. full) congruence. Clearly, each full (pre)congruence is also a lean (pre)congruence, and each lean (pre)congruence satisfies (1) above. Both implications are strict, as the following examples illustrate.

Example 3 Consider the TSS given by the rules

a.x ⟶^{a} x  \frac{x ⟶^{a} x′}{x∥y ⟶^{a} x′∥y}  \frac{y ⟶^{a} y′}{x∥y ⟶^{a} x∥y′}

where a ranges over A, and the recursion rule from Def. 13 below. An infinite trace of a process p is a sequence a_{1}a_{2} ⋯ ∈ A^{ω} such that there are processes p_{1}, p_{2}, … with p ⟶^{a_{1}} p_{1} ⟶^{a_{2}} p_{2} ⟶^{a_{3}} . . .. Let p ⊑ q iff for each infinite trace σ of p there is an infinite trace of q that has a suffix in common with σ. This is a preorder indeed. It is not hard to check that ⊑ is a precongruence for both action prefixing a. and parallel composition ∥ , in the sense that (1) holds. However, it fails to be a lean congruence, because a.{/ \atop \}X|X=c.X{\ \atop /} ≡ b.{/ \atop \}X|X=c.X{\ \atop /}, yet when filled in for Y in {/ \atop \}Z|Z=Y ∥Z{\ \atop /} (which can be seen as !Y, an infinite parallel composition of copies of Y) the two are no longer equivalent.

I did not find a pair of a TSS and a preorder known from the literature showing the same. This suggests that most common preorders that are (pre)congruences for a selection of common operators are also lean (pre)congruences for recursion.

Example 4 Consider the TSS with a constant 0 and action prefixing, and only the rules for recursion from Def. 13 and a.x ⟶^{a} x for a ∈ A, with τ ∈ A the internal action. Consider any semantic equivalence ∼ satisfying x ∼ τ.x, and such that divergence {/ \atop \}X|X=τ.X{\ \atop /} differs from deadlock or inaction 0. Such semantic equivalences are abound in the literature and include the failures semantics of CSP [14], [28] and branching bisimilarity with explicit divergence [34], [28]. They are all lean congruences (at least when no other operators are present). Yet, since 0 ∼ {/ \atop \}X|X=X{\ \atop /} ≁ {/ \atop \}X|X=τ.X{\ \atop /}, they fail to be full congruences.

A lean congruence is required for treating processes as equivalence classes of closed terms rather than as the closed terms themselves, in such a way that each term t∈𝕋(Σ, W) with free variables drawn from the set W models a W -ary operator on such processes. As explained in the introduction, this notion of congruence facilitates a formal comparison of the expressive power of system description languages [33]. However, it does not allow equivalence preserving modifications of recursive specifications themselves, as contemplated in the introduction. That requires a full congruence.

V. The pure ntyxt/ntyft format with recursion Definition 12 (ntytt, ntyft, ntyxt, nxytt rules) An ntytt rule is a rule in which the right-hand sides of positive premises are variables that are all distinct, and that do not occur in the source. An ntytt rule is an ntyxt rule if its source is a variable, an ntyft rule if its source contains exactly one function symbol and no multiple occurrences of variables, and an nxytt rule if the left-hand sides of its premises are variables.

The idea behind the names of the rules is that the ‘n’ in front refers to the presence of negative premises, and the following four letters refer to the allowed forms of left- and righthand sides of premises and of the conclusion, respectively. For example, ntyft means a rule with negative premises (n), where left-hand sides of premises are general terms (t), righthand sides of positive premises are variables (y), the source contains exactly one function symbol (f), and the target is a general term (t).

Definition 13 A TSS is in the ntyft/ntyxt format with recursion if for every recursive specification S and X ∈ V_{S} it has a rule

\frac{{/ \atop \}S_{X}|S{\ \atop /} ⟶^{a} z}{{/ \atop \}X|S{\ \atop /} ⟶^{a} z}

and all of its other rules are ntyft or ntyxt rules.

Definition 14 (Well-founded and pure rules; distance) The dependency graph of an ntytt rule with {t_{i} ⟶^{a_{i}} y_{i} | i ∈ I} as set of positive premises is the directed graph with edges {⟨x, y_{i}⟩ | x ∈ var(t_{i}) for some i ∈ I}. A ntytt rule is wellfounded if each backward chain of edges in its dependency graph is finite. A variable in a rule is free if it occurs neither in the source nor in the right-hand sides of the premises of this rule. A rule is pure if it is well-founded and does not contain free variables. A TSS is well-founded, resp. pure, if all of its rules are.

Let r= \frac{H}{t⟶^{a}u} be a pure ntytt rule. The distance of a variable y ∈ var(r) to the source of r is the ordinal number given by

dist(x) = 0 if x ∈ var(t), dist(y) = 1 + sup({dist(x) | x ∈ var(t)}) if (t ⟶^{a} y) ∈ H.

Bol & Groote show that bisimilarity is a congruence for any language specified by a complete TSS in the well-founded ntyft/ntyxt format (without recursion) [12]. This generalises a result by Groote [36], showing the same for stratified TSSs in the well-founded ntyft/ntyxt format; here stratified is a more restrictive criterion than completeness, guaranteeing that a TSS has a well-defined meaning as a 2-valued transition relation. That result, in turn, generalises the congruence formats of Groote & Vaandrager [39] for the well-founded tyft/tyxt format (obtained by leaving out negative premises) and for the GSOS format of Bloom, Istrail & Meyer [11]. Both of these generalise the De Simone format [48], [49].

Fokkink and van Glabbeek show that for any complete TSS in tyft/tyxt (resp. ntyft/ntyxt) format there exists a pure (and thus well-founded) complete TSS in tyft (resp. ntyft) format that generates the same transition relation [19]. From this it follows that the restriction to well-founded TSSs can be dropped from the congruence formats of [12] and [39]. The result of [19] generalises straightforwardly to incomplete TSSs, and to formats with recursion.

Theorem 1 For each TSS in the tyft/tyxt (resp. ntyft/ntyxt) format with recursion there exists a pure TSS in the tyft (resp. ntyft) format with recursion, generating the same (3-valued) transition relation.

Proof: [19, Theorem 5.4] shows that for each TSS P in ntyft/ntyxt format there exists a TSS P′ in pure ntyft format, such that for any closed transition rule \frac{N}{α} with only negative premises, one has P ⊢ \frac{N}{α} ⇔ P′ ⊢ \frac{N}{α}. This result generalises seamlessly to TSS in the ntyft/ntyxt format with recursion; I leave it to the reader to check that recursion causes no new complications in the proof.

[19] obtains the quoted result for complete TSSs from Thm. 5.4 by means of an application of [19, Prop. 5.2], which says that if P and P′ are TSSs such that P ⊢ \frac{N}{α} ⇔ P′ ⊢ \frac{N}{α} for any closed transition rule \frac{N}{α} with only negative premises, then P is complete iff P′ is, and in that case they determine the same transition relation. This Prop. 5.2 was taken verbatim from [30, Prop. 29].

In [31], the journal version of [30], Prop. 29 was extended to also conclude, under the same assumption, that P and P′ determine the same 3-valued transition relation according to the well-founded semantics. Using this version of Prop. 29 instead of Prop. 5.2 yields the required result. □

The next two propositions (not used in the rest of the paper) tell that any language specified by TSS in the ntyft/ntyxt format with recursion satisfies two sanity requirements from [29]. The first is that, up to ≡_{B}, the meaning of a closed term {/ \atop \}X|S{\ \atop /} is the X-component of a solution of S:

Proposition 2 Let P = (Σ, R) be a TSS in the ntyft/ntyxt format with recursion and S a recursive specification with X ∈ V_{S}. Then {/ \atop \}X|S{\ \atop /} ≡_{B} {/ \atop \}S_{X}|S{\ \atop /}.

Proof: P ⊢ {/ \atop \}X|S{\ \atop /} ⟶^{a} q for some a ∈ A and q ∈ T(Σ) iff

P ⊢ {/ \atop \}S_{X}|S{\ \atop /} ⟶^{a} q. □

For the second, invariance under α-conversion, write t =^{α} u if the terms t, u ∈ 𝕋(Σ) differ only in the names of their bound variables (the variables from V_{S} within a subexpression of the form {/ \atop \}X|S{\ \atop /}).

Proposition 3 Let P = (Σ, R) be a TSS in the ntyft/ntyxt format with recursion. Then p =^{α} q ⇒ p ≡_{B} q for all p, q ∈ T(Σ).

Proof: By Thm. 1 I may assume, without loss of generality, that P is in the pure ntyft format with recursion. I show that =^{α} is a bisimulation on T(Σ)—since =^{α} is also symmetric, this yields the required result.

Thus I need to show that, for p, q ∈ T(Σ) and a ∈ A,

• if p =^{α} q and P ⊢ p ⟶^{a} p′, then there is a q′ with

P ⊢ q ⟶^{a} q′ and p′ =^{α} q′,

• if p =^{α} q and P ⊢ q \underrightarrow{a} q′, then there is a p′ with

P ⊢ p \underrightarrow{a} p′ and p′ =^{α} q′.

To this end it suffices to establish, for all ordinals λ, that 4. if p =^{α} q and P ⊢ p ⟶^{a}_{λ} p′, then there is a q′ with

P ⊢ q ⟶^{a} q′ and p′ =^{α} q′,

2. if p =^{α} q and P ⊢ q \underrightarrow{a} q′, then there is a p′ with

P ⊢ p \underrightarrow{a}_{λ} p′ and p′ =^{α} q′.

The desired result is then obtained by taking λ to be the closure ordinal κ of Def. 6. This I will do by induction on λ, at the same time establishing that

3. if p =^{α} q and P ⊢ p−̸→^{a}_{λ}, then P ⊢ q−̸→^{a},

1. if p =^{α} q and P ⊢ q\underrightarrow{a̸}, then P ⊢ p\underrightarrow{a̸}_{λ}.

So assume Claims 1–4 have been established for all κ < λ.

Suppose p =^{α} q and P ⊢ q\underrightarrow{a̸}. By Remark 2 there is no q′ ∈ T(Σ) with P ⊢ q ⟶^{a} q′. So by induction, using Claim 4 above, there is no p′ ∈ T(Σ) with P ⊢ p ⟶^{a}_{κ} p′ for some κ < λ. By Def. 5 P ⊢ p\underrightarrow{a̸}_{λ}. This yields Claim 1.

Now suppose p =^{α} q and P ⊢ q \underrightarrow{a} q′. I need to find a p′ with P ⊢ q \underrightarrow{a}_{λ} q′ and p′ =^{α} q′. This I will do by structural induction on the proof π of p \underrightarrow{a} p′ from P, making a case distinction based on the shape of p.

• Let p = f(p_{1}, …, p_{n}). Then q = f(q_{1}, …, q_{n}) where

p_{i} =^{α} q_{i} for i=1, …, n. Let π be a proof of P ⊢ q \underrightarrow{a} q′

from P. By Defs. 4 and 13, there must be a pure ntyft rule r = \frac{H}{f(x_{1},...,x_{n})⟶^{a}t} in R and a closed substitution ν with ν(x_{i}) = q_{i} for i = 1, ..., n and t[ν] = q′, such that for each (t_{y} ⟶^{c} y) ∈ H the transition P ⊢ t_{y}[ν] \underrightarrow{c} ν(y) is provable from P by means of a strict subproof of π, and P ⊢ u[ν]\underrightarrow{c̸} for each (u−↛^{c}) ∈ H. Next, I define a substitution σ : var(r) → T(Σ) such that

(i) σ(x_{i}) = p_{i} for i = 1, …, n, (ii) σ(y) =^{α} ν(y) for each y ∈ var(r), (iii) P ⊢ t_{y}[σ] \underrightarrow{c}_{λ} σ(y) for each (t_{y} ⟶^{c} y) ∈ H. The definition of σ(y) and the inference of (i)–(iii) above proceed with induction on the distance of y∈var(r) from the source of r,

Base case: Let σ(x_{i}) := p_{i} for i = 1, …, n, so that Property (i) is satisfied. Regarding Property (ii), σ(x_{i}) =^{α} ν(x_{i}) for i = 1, …, n.

Induction step: When defining σ(y) for some y ∈ Var with (t_{y} ⟶^{c} y) ∈ H, by induction σ(x) has been defined already for all x ∈ var(t_{y}), so I may assume that σ(x) =^{α} ν(x) for all x ∈ var(t_{y}) and hence t_{y}[σ] =^{α} t_{y}[ν]. By induction on π, there is a p_{y} with P ⊢ t_{y}[σ] \underrightarrow{c}_{λ} p_{y} and p_{y} =^{α} ν(y). Define σ(y) := p_{y}. Properties (ii) and (iii) now hold for y.

Take p′ := t[σ]. So p′ = t[σ] =^{α} t[ν] = q′ by Property (ii) of σ. For each premise (u−↛^{c}) ∈ H one has u[σ] =^{α} u[ν] by Property (ii) of σ. So P ⊢ u[σ]\underrightarrow{c̸}_{λ} by Claim 1. By Defs. 4 and 13, together with Property (iii) of σ, this implies P ⊢ p = f(p_{1}, …, p_{n}) \underrightarrow{a}_{λ} t[σ] = p′.

• Let p = {/ \atop \}X|S{\ \atop /}. Then q = {/ \atop \}α(X)|S′[α]{\ \atop /} for some recursive specification S′ : V_{S} → 𝕋(Σ) with S_{Y} =^{α} S′_{Y} for all Y ∈ V_{S}, and an injective substitution α : V_{S} → Var such that the range of α contains no variables occurring free

in {/ \atop \}S′_{Y} |S{\ \atop /} for some Y ∈ V_{S}. Now {/ \atop \}S_{X}|S{\ \atop /} =^{α} {/ \atop \}S_{X}|S′{\ \atop /} =^{α}

{/ \atop \}S′_{α(X)}|S′[α]{\ \atop /}. Let π be a proof of P ⊢ q \underrightarrow{a} q′ from P. By Defs. 4 and 13 P ⊢ {/ \atop \}S′_{α(X)}|S′[α]{\ \atop /} \underrightarrow{a} q′ is provable from P by means of a strict subproof of π. So by induction there is a p′ such that P ⊢ {/ \atop \}S_{X}|S{\ \atop /} \underrightarrow{a}_{λ} p′ and

p′ =^{α} q′. By Defs. 4 and 13, P ⊢ p = {/ \atop \}X|S{\ \atop /} \underrightarrow{a}_{λ} p′.

This establishes Claim 2.

Next, suppose that p =^{α} q and P ⊢ p−̸→^{a}_{λ}. By Def. 5 there is no p′ ∈ T(Σ) with P ⊢ p \underrightarrow{a}_{λ} p′. Using Claim 2, there is no q′ ∈ T(Σ) with P ⊢ q \underrightarrow{a} q′. By Remark 2, P ⊢ q−̸→^{a}. This yields Claim 3.

Claim 4 follows by structural induction on the proof of p ⟶^{a}_{λ} p′ from P, pretty much in the same way as Claim 2 above. □

Prop. 3 could be classified as “self-evident”. One reason to spell out the proof above is to obtain a template for bisimilarity proofs in the setting of the well-founded semantics. I will use this template in the forthcoming lean congruence proof.

VI. A lean congruence result

The following congruence proof is strongly inspired by the one in [12].

Theorem 2 Bisimilarity is a lean precongruence for any language specified by a TSS in the ntyft/ntyxt format with recursion.

Proof: By Thm. 1 I may assume, without loss of generality, that P = (Σ, R) is a TSS in the pure ntyft format with recursion. Let R be the smallest lean precongruence containing bisimilarity, i.e., R ⊆ T(Σ) × T(Σ) is the smallest relation on processes satisfying

• if p ⊑_{B} q then p R q,

• if (f, n) ∈ Σ and p_{i} R q_{i} for all i = 1, ..., n, then f(p_{1}, …, p_{n}) R f(q_{1}, …, q_{n}),

• and if S : V_{S} → 𝕋(Σ) with Z ∈ V_{S} ⊆ Var, and ρ, ν : Var\V_{S} → T(Σ) satisfy ρ(x) R ν(x) for all x∈Var\V_{S}, then {/ \atop \}Z|S{\ \atop /}[ρ] R {/ \atop \}Z|S{\ \atop /}[ν].

A trivial structural induction on t ∈ 𝕋(Σ), using the last two clauses, shows that if ρ, ν: Var → T(Σ) satisfy ρ(x) R ν(x) for all x ∈ var(t), then t[ρ] R t[ν]. (*) As {/ \atop \} |S{\ \atop /}[ρ] : V_{S} → T(Σ) and {/ \atop \} |S{\ \atop /}[ν] : V_{S} → T(Σ), this implies that in the last clause one even has {/ \atop \}t|S{\ \atop /}[ρ] R {/ \atop \}t|S{\ \atop /}[ν] for all terms t ∈ 𝕋(Σ, V_{S}). ($)

It suffices to show that R is a bisimulation, because this implies R ⊆ ⊑_{B}, so that R equals ⊑_{B}, and (*) says that R is a lean precongruence. Thus I need to show that, for p, q ∈ T(Σ) and a ∈ A,

• if p R q and P ⊢ p ⟶^{a} p′, then there is a q′ with

P ⊢ q ⟶^{a} q′ and p′ R q′,

• if p R q and P ⊢ q \underrightarrow{a} q′, then there is a p′ with P ⊢ p \underrightarrow{a} p′ and p′ R q′.

To this end it suffices to establish, for all ordinals λ, that 4. if p R q and P ⊢ p ⟶^{a}_{λ} p′, then there is a q′ with

P ⊢ q ⟶^{a} q′ and p′ R q′,

2. if p R q and P ⊢ q \underrightarrow{a} q′, then there is a p′ with P ⊢ p \underrightarrow{a}_{λ} p′ and p′ R q′.

The desired result is then obtained by taking λ to be the closure ordinal κ of Def. 6. This I will do by induction on λ, at the same time establishing that

3. if p R q and P ⊢ p−̸→^{a}_{λ}, then P ⊢ q−̸→^{a},

1. if p R q and P ⊢ q\underrightarrow{a̸}, then P ⊢ p\underrightarrow{a̸}_{λ}. So assume Claims 1–4 have been established for all κ < λ.

Suppose p R q and P ⊢ q\underrightarrow{a̸}. By Remark 2 there is no q′ ∈ T(Σ) with P ⊢ q ⟶^{a} q′. So by induction, using Claim 4 above, there is no p′ ∈ T(Σ) with P ⊢ p ⟶^{a}_{κ} p′ for some κ < λ. By Def. 5 P ⊢ p\underrightarrow{a̸}_{λ}. This yields Claim 1.

Now suppose p R q and P ⊢ q \underrightarrow{a} q′. I need to find a p′ with P ⊢ p \underrightarrow{a}_{λ} p′ and p′ R q′. This I will do by structural induction on the proof π of q \underrightarrow{a} q′ from P. I make a case distinction based on the derivation of p R q.

• Let p ⊑_{B} q. Using that ⊑_{B} is a bisimulation, there must be a process p′ such that P ⊢ p \underrightarrow{a} p′ and p′ ⊑_{B} q′, hence p′ R q′. Since P ⊢ p \underrightarrow{a} p′, certainly P ⊢ p \underrightarrow{a}_{λ} p′, by Remark 1.

• Let p = f(p_{1}, …, p_{n}) and q = f(q_{1}, …, q_{n}) where p_{i} R q_{i} for i = 1, …, n. Let π be a proof of q \underrightarrow{a} q′ from P. By Defs. 4 and 13, there must be a pure ntyft rule r = \frac{H}{f(x_{1},...,x_{n})⟶^{a}t} in R and a closed substitution ν with ν(x_{i}) = q_{i} for i = 1, ..., n and t[ν] = q′, such that for each (t_{y} ⟶^{c} y) ∈ H the transition t_{y}[ν] \underrightarrow{c} ν(y) is provable from P by means of a strict subproof of π, and P ⊢ u[ν]\underrightarrow{c̸} for each (u−↛^{c}) ∈ H. Next, I define a substitution σ : var(r) → T(Σ) such that

(i) σ(x_{i}) = p_{i} for i = 1, …, n, (ii) σ(y) R ν(y) for each y ∈ var(r), (iii) P ⊢ t_{y}[σ] \underrightarrow{c}_{λ} σ(y) for each (t_{y} ⟶^{c} y) ∈ H. The definition of σ(y) and the inference of (i)–(iii) above proceed with induction on the distance of y∈var(r) from the source of r,

Base case: Let σ(x_{i}) := p_{i} for i = 1, …, n, so that Property (i) is satisfied. Regarding Property (ii), σ(x_{i}) R ν(x_{i}) for i = 1, …, n.

Induction step: When defining σ(y) for some y ∈ Var with (t_{y} ⟶^{c} y) ∈ H, by induction σ(x) has been defined already for all x ∈ var(t_{y}), so I may assume that σ(x) R ν(x) for all x ∈ var(t_{y}) and hence t_{y}[σ] R t_{y}[ν] by (*). By induction on π, there is a p_{y} with P ⊢ t_{y}[σ] \underrightarrow{c}_{λ} p_{y} and p_{y} R ν(y). Define σ(y) := p_{y}. Properties (ii) and (iii) now hold for y.

Take p′ := t[σ]. So p′ = t[σ] R t[ν] = q′ by (*) and Property (ii) of σ. For each premise (u−↛^{c}) ∈ H one has u[σ] R u[ν] by (*) and Property (ii) of σ. So P ⊢ u[σ]\underrightarrow{c̸}_{λ} by Claim 1. By Defs. 4 and 13, together with Property (iii) of σ, this implies P ⊢ p = f(p_{1}, …, p_{n}) \underrightarrow{a}_{λ} t[σ] = p′.

• Let p = {/ \atop \}Z|S{\ \atop /}[ρ] = {/ \atop \}Z|S[ρ]{\ \atop /} and q = {/ \atop \}Z|S{\ \atop /}[σ] = {/ \atop \}Z|S[σ]{\ \atop /} where S : V_{S} → 𝕋(Σ) with Z ∈ V_{S} ⊆ Var, ρ, σ : Var\V_{S} → T(Σ), and for all x ∈ Var \ V_{S} one has ρ(x) R σ(x). Let π be a proof of q \underrightarrow{a} q′ from P. By Defs. 4 and 13 {/ \atop \}S_{Z}|S[σ]{\ \atop /} \underrightarrow{a} q′ is provable from P by means of a strict subproof of π. By ($) above one has {/ \atop \}S_{Z}|S[ρ]{\ \atop /} R {/ \atop \}S_{Z}|S[σ]{\ \atop /}. So by induction there is a p′ such that P ⊢ {/ \atop \}S_{Z}|S[ρ]{\ \atop /} \underrightarrow{a}_{λ} p′ and p′ R q′. By Defs. 4 and 13, P ⊢ p = {/ \atop \}Z|S[σ]{\ \atop /} \underrightarrow{a}_{λ} p′.

Next, suppose that p R q and P ⊢ p−̸→^{a}_{λ}. By Def. 5 there is no p′ ∈ T(Σ) with P ⊢ p \underrightarrow{a}_{λ} p′. Using Claim 2, there is no q′ ∈ T(Σ) with P ⊢ q \underrightarrow{a} q′. By Remark 2, P ⊢ q−̸→^{a}. This yields Claim 3.

Finally, suppose p R q and P ⊢ p ⟶^{a}_{λ} p′. I need to find a q′ with P ⊢ q ⟶^{a} q′ and p′ R q′. This I will do by structural induction on the proof π of p ⟶^{a}_{λ} p′ from P. I make a case distinction based on the derivation of p R q.

• Let p ⊑_{B} q. Since P ⊢ p ⟶^{a}_{λ} p′, certainly P ⊢ p ⟶^{a} p′, by Remark 1. Using that ⊑_{B} is a bisimulation, there must be a process q′ such that P ⊢ q ⟶^{a} q′ and p′ ⊑_{B} q′, hence p′ R q′.

• Let p=f(p_{1}, …, p_{n}) and q=f(q_{1}, …, q_{n}) where p_{i} R q_{i} for i = 1, …, n. Let π be a proof of p ⟶^{a}_{λ} p′ from P. By Defs. 4, 5 and 13, there must be a pure ntyft rule r = \frac{H}{f(x_{1},...,x_{n})⟶^{a}t} in R and a closed substitution σ with σ(x_{i}) = p_{i} for i = 1, ..., n and t[σ] = p′, such that for each (t_{y} ⟶^{c} y) ∈ H the transition t_{y}[σ] ⟶^{c}_{λ} σ(y) is provable from P by means of a strict subproof of π, and P ⊢ u[σ]−↛^{c}_{λ} for each (u−↛^{c}) ∈ H. Next, I define a substitution ν:var(r) → T(Σ) such that

(i) ν(x_{i}) = q_{i} for i = 1, …, n, (ii) σ(y) R ν(y) for each y ∈ var(r), (iii) P ⊢ t_{y}[ν] ⟶^{c} ν(y) for each (t_{y} ⟶^{c} y) ∈ H. The definition of ν(y) and the inference of (i)–(iii) above proceed with induction on the distance of y∈var(r) from the source of r,

Base case: Let ν(x_{i}) := q_{i} for i = 1, …, n, so that Property (i) is satisfied. Regarding Property (ii), σ(x_{i}) R ν(x_{i}) for i = 1, …, n.

Induction step: When defining ν(y) for some y ∈ Var with (t_{y} ⟶^{c} y) ∈ H, by induction ν(x) has been defined already for all x ∈ var(t_{y}), so I may assume that σ(x) R ν(x) for all x ∈ var(t_{y}) and hence t_{y}[σ] R t_{y}[ν] by (*). By induction on π, there is a q_{y} with P ⊢ t_{y}[ν] ⟶^{c} q_{y} and σ(y) R q_{y}. Define ν(y) := q_{y}. Properties (ii) and (iii) now hold for y.

Take q′ := t[ν]. So p′ = t[σ] R t[ν] = q′ by (*) and Property (ii) of ν. For each premise (u−↛^{c}) ∈ H one has u[σ] R u[ν] by (*) and Property (ii) of ν. So P ⊢ u[ν]−↛^{c} by Claim 3. Since CT^{+} is closed under deduction, together with Property (iii) of ν this implies

P ⊢ q = f(q_{1}, …, q_{n}) ⟶^{a} t[ν] = q′.

• Let p = {/ \atop \}Z|S{\ \atop /}[ρ] = {/ \atop \}Z|S[ρ]{\ \atop /} and q = {/ \atop \}Z|S{\ \atop /}[ν] = {/ \atop \}Z|S[ν]{\ \atop /} where S : V_{S} → 𝕋(Σ) with Z ∈ V_{S} ⊆ Var, ρ, ν :

Var\V_{S} → T(Σ), and for all x ∈ Var \ V_{S} one has ρ(x) R ν(x). Let π be a proof of p ⟶^{a}_{λ} p′ from P. By Defs. 4, 5 and 13 {/ \atop \}S_{Z}|S[ρ]{\ \atop /} ⟶^{a}_{λ} p′ is provable from P by means of a strict subproof of π. By ($) above one has {/ \atop \}S_{Z}|S[ρ]{\ \atop /} R {/ \atop \}S_{Z}|S[ν]{\ \atop /}. So by induction there is a q′ such that P ⊢ {/ \atop \}S_{Z}|S[ν]{\ \atop /} ⟶^{a} q′ and p′ R q′. By Defs. 4

and 13, P ⊢ q = {/ \atop \}Z|S[ν]{\ \atop /} ⟶^{a} q′.

This yields Claim 4. □

The above result implies that any ntyft/ntyxt language with recursion satisfies congruence requirement (1) up to ⊑_{B}, but is not strong enough to yield (2).

VII. A full congruence result

In this section I deal with positive TSSs only. Here the relations \underrightarrow{a}_{λ} and ⟶^{a}_{μ} for ordinals λ and μ all coincide, and ⊑_{B} = ≡_{B}. The following auxiliary concept was used in [44] to show that CCS satisfies Condition (2) of Def. 11.

Definition 15 A symmetric relation R ⊆ T(Σ) × T(Σ) is a bisimulation up to ∼ if p R q and P ⊢ p ⟶^{a} p′ imply that there is a q′ with P ⊢ q ⟶^{a} q′ and p′ ∼R∼ q′, for all a ∈ A. Here ∼R∼ := {(r, s)| ∃r′, s′. r ∼ r′ R s′ ∼ s}.

Proposition 4 ([44]) If p R q for some bisimulation R up to ≡_{B}, then p ≡_{B} q.

Proof: Using the reflexivity of ≡_{B} it suffices to show that ≡_{B}R≡_{B} is a bisimulation. Using symmetry and transitivity of ≡_{B} this is straightforward. □

Theorem 3 Bisimilarity is a full congruence for any language specified by a TSS in the tyft/tyxt format with recursion.

Proof: By Thm. 1 I may assume, without loss of generality, that P = (Σ, R) is a TSS in the pure tyft format with recursion. Let S, S′ : W → 𝕋(Σ, W) be recursive specifications with S_{Y} [σ] ≡_{B} S′_{Y} [σ] for all Y ∈ W and σ : W → T(Σ).^{7} I need to show that {/ \atop \}X|S{\ \atop /} ≡_{B} {/ \atop \}X|S′{\ \atop /} for all X ∈ W. Let R ⊆ T(Σ) × T(Σ) be the smallest relation on processes satisfying

• {/ \atop \}X|S{\ \atop /} R {/ \atop \}X|S′{\ \atop /} and {/ \atop \}X|S′{\ \atop /} R {/ \atop \}X|S{\ \atop /} for all X ∈ W,

• if (f, n) ∈ Σ and p_{i} R q_{i} for all i = 1, ..., n, then f(p_{1}, …, p_{n}) R f(q_{1}, …, q_{n}),

• and if S′′ : V_{S′′} → 𝕋(Σ) with Z ∈ V_{S′′} ⊆ Var, and ρ, ν : Var \ V_{S′′} → T(Σ) satisfy ρ(x) R ν(x) for all x ∈ Var \ V_{S′′}, then {/ \atop \}Z|S′′{\ \atop /}[ρ] R {/ \atop \}Z|S′′{\ \atop /}[ν].

A trivial structural induction on t ∈ 𝕋(Σ), using the last two clauses, shows that if ρ, ν : Var → T(Σ) satisfy ρ(x) R ν(x) for all x ∈ Var, then t[ρ] R t[ν]. (*) So in the first clause one even has {/ \atop \}t|S{\ \atop /} R {/ \atop \}t|S′{\ \atop /} for all t ∈ 𝕋(Σ, W), (#) and in the last clause {/ \atop \}t|S′′{\ \atop /}[ρ] R {/ \atop \}t|S′′{\ \atop /}[ν] for all t ∈ 𝕋(Σ, V_{S′′}). ($)

It suffices to show that R is a bisimulation up to ≡_{B}, because with Prop. 4 this implies R ⊆ ≡_{B}. By construction R is symmetric. So it suffices to show that, if p R q and P ⊢ p ⟶^{a} p′, then there is a q′ with

P ⊢ q ⟶^{a} q′ and p′ R≡_{B} q′,

for all p, q ∈ T(Σ) and a ∈ A, This I will do by structural induction on the proof π of p ⟶^{a} p′ from P. I make a case distinction based on the derivation of p R q.

• Let p = {/ \atop \}X|S{\ \atop /} and q = {/ \atop \}X|S′{\ \atop /} with X ∈ W. Let π be a proof of p ⟶^{a} p′ from P. By Definitions 4 and 13 {/ \atop \}S_{X}|S{\ \atop /} ⟶^{a} p′ is provable from P by means of a strict subproof of π. By (#) above one has {/ \atop \}S_{X}|S{\ \atop /} R {/ \atop \}S_{X}|S′{\ \atop /}. So by induction there is an r′ such that

P ⊢ {/ \atop \}S_{X}|S′{\ \atop /} ⟶^{a} r′ and p′ R≡_{B} r′. Since {/ \atop \} |S′{\ \atop /} is

a substitution of the form σ : W → T(Σ), one has {/ \atop \}S_{X}|S′{\ \atop /} ≡_{B} {/ \atop \}S′_{X}|S′{\ \atop /}. Hence there is a q′ such that

P ⊢ {/ \atop \}S′_{X}|S′{\ \atop /} ⟶^{a} q′ and r′ ≡_{B} q′. So p′ R≡_{B} q′. By

Definitions 4 and 13 P ⊢ q = {/ \atop \}X|S′{\ \atop /} ⟶^{a} q′.

• The case p = {/ \atop \}X|S′{\ \atop /} and q = {/ \atop \}X|S{\ \atop /} goes likewise, swapping the rôles of S′_{X} and S_{X}, and using the substitution {/ \atop \} |S{\ \atop /}.^{7}

• The remaining two cases proceed in the same way as in the proof of Claim 4 for Thm. 2, but suppressing λ and with R≡_{B} substituted for the blue occurrences of R. In the last case there are no further changes, so I will not repeat it here. The remaining case needs a few elaborations—these involve the blue coloured segments in the proof of Claim 4:

• Let p=f(p_{1}, …, p_{n}) and q=f(q_{1}, …, q_{n}) where p_{i} R q_{i} for i = 1, …, n. Let π be a proof of p ⟶^{a} p′ from P. By Defs. 4 and 13, there must be a pure tyft rule r = \frac{H}{f(x_{1},...,x_{n})⟶^{a}t} in R and a closed substitution σ with σ(x_{i})=p_{i} for i=1, ..., n and t[σ]=p′, such that for each (t_{y} ⟶^{c} y) ∈ H the transition t_{y}[σ] ⟶^{c} σ(y) is provable from P by means of a strict subproof of π. Next, I define a substitution ν:var(r) → T(Σ) such that

(i) ν(x_{i}) = q_{i} for i = 1, …, n, (ii) σ(y) R≡_{B} ν(y) for each y ∈ var(r), (iii) P ⊢ t_{y}[ν] ⟶^{c} ν(y) for each (t_{y} ⟶^{c} y) ∈ H. The definition of ν(y) and the inference of (i)–(iii) above proceed with induction on the distance of y∈var(r) from the source of r,

Base case: Let ν(x_{i}) := q_{i} for i = 1, …, n, so that Property (i) is satisfied. Regarding Property (ii), σ(x_{i}) R ν(x_{i}) for i = 1, …, n.

Induction step: When defining ν(y) for some y ∈ Var with (t_{y} ⟶^{c} y) ∈ H, by induction ν(x) has been defined already for all x ∈ var(t_{y}), so I may assume that σ(x) R≡_{B} ν(x) for all x ∈ var(t_{y}), i.e., there exists a substitution ρ:var(r) → T(Σ) with σ(x) R ρ(x) ≡_{B} ν(x) for all x ∈ var(t_{y}). Now t_{y}[σ] R t_{y}[ρ] by (*) and t_{y}[ρ] ≡_{B} t_{y}[ν] by Thm. 2. By induction on π, there is an r_{y} with P ⊢ t_{y}[ρ] ⟶^{c} r_{y} and σ(y) R≡_{B} r_{y}. By the definition of bisimilarity, there

7This proof shows that in the full congruence property (2) one only needs to assume S_{Y} [σ] ≡_{B} S′_{Y} [σ] for two specific substitutions σ: namely σ(Y) := / \Y |S′\ /, resp. / \Y |S\ /.

is a q_{y} with P ⊢ t_{y}[ν] ⟶^{c} q_{y} and r_{y} ≡_{B} q_{y}. Define ν(y) := q_{y}. Properties (ii) and (iii) now hold for y.

Take q′ := t[ν]. So p′ =t[σ] R≡ t[ν]=q′ by (*), Property (ii) of ν, and Thm. 2. By Defs. 4 and 13, together with Property (iii) of ν, this implies

P ⊢ q = f(q_{1}, …, q_{n}) ⟶^{a} t[ν] = q′. □

It remains an open question whether the above result can be generalised to the ntyft/ntyxt format with recursion. A direct combination of the proofs of Thms. 2 and 3 does not work, however. An attempt in this direction would substitute either R⊑_{B} or ⊑_{B}R for the red R in Claim 2 in the proof of Thm. 2. Both attempts fail on the case p = {/ \atop \}X|S{\ \atop /} and q = {/ \atop \}X|S′{\ \atop /} in the proof of Thm. 3.

The first attempt would from P ⊢ {/ \atop \}S′_{X}|S′{\ \atop /} \underrightarrow{a} q′ infer P ⊢ {/ \atop \}S_{X}|S′{\ \atop /} \underrightarrow{a} r′ by bisimilarity, and then infer P ⊢ {/ \atop \}S_{X}|S{\ \atop /} \underrightarrow{a}_{λ} p′ by induction. However, one may not use induction, as the transition {/ \atop \}S_{X}|S′{\ \atop /}\underrightarrow{a}r′ may be derived later than {/ \atop \}X|S′{\ \atop /} \underrightarrow{a}q′. In fact, if a variant of this approach would work, skipping {/ \atop \}X|S′{\ \atop /} R {/ \atop \}X|S{\ \atop /} from the definition of R, one could prove a false version of (2) that assumes the antecedent only for the single substitution {/ \atop \} |S′{\ \atop /} (cf. Footnote 7); it is trivial to find a counterexample in the GSOS format with unguarded recursion.

The second attempt would from P ⊢ {/ \atop \}S′_{X}|S′{\ \atop /} \underrightarrow{a} q′ infer P ⊢ {/ \atop \}S′_{X}|S{\ \atop /}\underrightarrow{a}_{λ}r′ by induction, and then P ⊢ {/ \atop \}S_{X}|S{\ \atop /}\underrightarrow{a}_{λ} p′ by bisimilarity. The latter step is invalid, as {/ \atop \}S_{X}|S′{\ \atop /}\underrightarrow{a}_{λ}r′ is only an overapproximation of P ⊢ {/ \atop \}S_{X}|S′{\ \atop /} \underrightarrow{a} r′.

References

[1] L. Aceto, A. Birgisson, A. Ingólfsdóttir, M.R. Mousavi & M.A. Reniers (2012): Rule formats for determinism and idempotence. Science of Computer Programming 77(7-8), pp. 889–907, doi:10.1016/j.scico.2010. 04.002.

[2] L. Aceto, M. Cimini, A. Ingólfsdóttir, M.R. Mousavi & M.A. Reniers (2011): SOS rule formats for zero and unit elements. Theoretical Computer Science 412(28), pp. 3045–3071, doi:10.1016/j.tcs.2011.01. 024.

[3] L. Aceto, M. Cimini, A. Ingólfsdóttir, M.R. Mousavi & M.A. Reniers (2012): Rule formats for distributivity. Theoretical Computer Science 458, pp. 1–28, doi:10.1016/j.tcs.2012.07.036.

[4] L. Aceto, W.J. Fokkink & C. Verhoef (2000): Structural Operational Semantics. In J.A. Bergstra, A. Ponse & S.A. Smolka, editors: Handbook of Process Algebra, chapter 3, Elsevier, pp. 197–292.

[5] G. Bacci & M. Miculan (2015): Structural operational semantics for continuous state stochastic transition systems. Journal of Computer and System Sciences 81(5), pp. 834–858, doi:10.1016/j.jcss.2014.12.003.

[6] J. C. M. Baeten, T. Basten & M. A. Reniers (2010): Process Algebra: Equational Theories of Communicating Processes. Cambridge University Press.

[7] J.C.M. Baeten, editor (1990): Applications of Process Algebra. Cambridge Tracts in Theoretical Computer Science 17, Cambridge University Press.

[8] F. Bartels (2002): GSOS for Probabilistic Transition Systems. Electr. Notes Theor. Comput. Sci. 65(1), pp. 29–53, doi:10.1016/ S1571-0661(04)80358-X.

[9] B. Bloom (1995): Structural operational semantics for weak bisimulations. Theoretical Computer Science 146, pp. 25–68, doi:10.1016/ 0304-3975(94)00152-9.

[10] B. Bloom, W.J. Fokkink & R.J. van Glabbeek (2004): Precongruence Formats for Decorated Trace Semantics. Transactions on Computational Logic 5(1), pp. 26–78, doi:10.1145/963927.963929.

[11] B. Bloom, S. Istrail & A.R. Meyer (1995): Bisimulation Can’t be Traced. Journal of the ACM 42(1), pp. 232–268, doi:10.1145/200836.200876.

[12] R.N. Bol & J.F. Groote (1996): The meaning of negative premises in transition system specifications. Journal of the ACM 43(5), pp. 863–914, doi:10.1145/234752.234756.

[13] E. Bres, R.J. van Glabbeek & P. Höfner (2016): A Timed Process Algebra for Wireless Networks with an Application in Routing. Technical Report 9145, NICTA. Available at http://arxiv.org/abs/1606.03663. Extended abstract in P. Thiemann, editor: Proc. ESOP’16, LNCS 9632, Springer, 2016, pp. 95-122.

[14] S.D. Brookes, C.A.R. Hoare & A.W. Roscoe (1984): A theory of communicating sequential processes. Journal of the ACM 31(3), pp. 560–599, doi:10.1145/828.833.

[15] S. Cranen, M. R. Mousavi & M. A. Reniers (2008): A Rule Format for Associativity. In F. van Breugel & M. Chechik, editors: Proc. CONCUR’08, LNCS 5201, Springer, pp. 447–461, doi:10.1007/ 978-3-540-85361-9 35.

[16] P.R. D’Argenio, D. Gebler & M.D. Lee (2016): A general SOS theory for the specification of probabilistic transition systems. Information and Computation 249, pp. 76–109, doi:10.1016/j.ic.2016.03.009.

[17] W. J. Fokkink (2000): Introduction to Process Algebra. Texts in Theoretical Computer Science, An EATCS Series, Springer, doi:10. 1007/978-3-662-04293-9.

[18] W.J. Fokkink (2000): Rooted Branching Bisimulation as a Congruence. Journal of Computer and System Sciences 60(1), pp. 13–37, doi:10.1006/ jcss.1999.1663.

[19] W.J. Fokkink & R.J. van Glabbeek (1996): Ntyft/ntyxt rules reduce to ntree rules. Information and Computation 126(1), pp. 1–10, doi:10.1006/ inco.1996.0030.

[20] W.J. Fokkink & R.J. van Glabbeek (2016): Divide and Congruence II: Delay and Weak Bisimilarity. In: Proc. LICS’16, ACM, pp. 778–787, doi:10.1145/2933575.2933590.

[21] W.J. Fokkink & R.J. van Glabbeek (2017): Precongruence Formats with Lookahead through Modal Decomposition. Available at http://theory. stanford.edu/^{∼}rvg/abstracts.html#122.

[22] W.J. Fokkink, R.J. van Glabbeek & P. de Wind (2006): Compositionality of Hennessy-Milner Logic by Structural Operational Semantics. Theoretical Computer Science 354(3), pp. 421–440, doi:10.1016/j.tcs.2005. 11.035.

[23] W.J. Fokkink, R.J. van Glabbeek & P. de Wind (2012): Divide and congruence: From decomposition of modal formulas to preservation of branching and η-bisimilarity. Information and Computation 214, pp. 59–85, doi:10.1016/j.ic.2011.10.011.

[24] H. Garavel, F. Lang, R. Mateescu & W. Serwe (2011): CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes. In P.A. Abdulla & K.R.M. Leino, editors: Proc. TACAS’11, LNCS 6605, Springer, pp. 372–387, doi:10.1007/978-3-642-19835-9 33.

[25] D. Gebler & S. Tini (2013): Compositionality of Approximate Bisimulation for Probabilistic Systems. In Johannes Borgström & Bas Luttik, editors: Proc. EXPRESS/SOS’13, EPTCS 120, Open Publishing Association, pp. 32–46, doi:10.4204/EPTCS.120.4.

[26] A. van Gelder, K. Ross & J.S. Schlipf (1991): The well-founded semantics for general logic programs. Journal of the ACM 38(3), pp. 620–650, doi:10.1145/116825.116838.

[27] R.J. van Glabbeek (1993): Full abstraction in structural operational semantics (extended abstract). In M. Nivat, C. Rattray, T. Rus & G. Scollo, editors: Proc. AMAST’93, Workshops in Computing, Springer, pp. 77– 84. Available at http://theory.stanford.edu/^{∼}rvg/abstracts.html#28.

[28] R.J. van Glabbeek (1993): The Linear Time – Branching Time Spectrum II; The semantics of sequential systems with silent moves (extended abstract). In E. Best, editor: Proc. CONCUR’93, LNCS 715, Springer, pp. 66–81, doi:10.1007/3-540-57208-2 6.

[29] R.J. van Glabbeek (1994): On the expressiveness of ACP (extended abstract). In A. Ponse, C. Verhoef & S.F.M. van Vlijmen, editors: Proceedings First Workshop on the Algebra of Communicating Processes, ACP94, Utrecht, The Netherlands, May 1994, Workshops in Computing, Springer, pp. 188–217. Available at http://theory.stanford. edu/^{∼}rvg/abstracts.html#31.

[30] R.J. van Glabbeek (1995): The Meaning of Negative Premises in Transition System Specifications II. Technical Report STAN-CS-TN-95-16, Stanford University. Available at http://theory.stanford.edu/^{∼}rvg/ abstracts.html#32. Extended abstract in F. Meyer auf der Heide & B. Monien, editors: Proc. ICALP’96, LNCS 1099, Springer, pp. 502–513, doi: 10.1007/3-540-61440-0 154.

[31] R.J. van Glabbeek (2004): The Meaning of Negative Premises in Transition System Specifications II. Journal of Logic and Algebraic Programming 60–61, pp. 229–258, doi:10.1016/j.jlap.2004.03.007.

[32] R.J. van Glabbeek (2011): On Cool Congruence Formats for Weak Bisimulations. Theoretical Computer Science 412(28), pp. 3283–3302, doi:10.1016/j.tcs.2011.02.036.

[33] R.J. van Glabbeek (2012): Musings on Encodings and Expressiveness. In B. Luttik & M.A. Reniers, editors: Proc. EXPRESS/SOS’12, EPTCS 89, Open Publishing Association, pp. 81–98, doi:10.4204/EPTCS.89.7.

[34] R.J. van Glabbeek, B. Luttik & N. Trčka (2009): Branching Bisimilarity with Explicit Divergence. Fundamenta Informaticae 93(4), pp. 371–392.

[35] R.J. van Glabbeek & W.P. Weijland (1989): Branching Time and Abstraction in Bisimulation Semantics (extended abstract). In G.X. Ritter, editor: Information Processing 89, Proceedings of the IFIP 11th World Computer Congress, San Francisco 1989, North-Holland, pp. 613–618. Full version in Jounal of the ACM 43(3), 1996, pp. 555–600.

[36] J.F. Groote (1993): Transition System Specifications with Negative Premises. Theoretical Computer Science 118, pp. 263–299, doi:10.1016/ 0304-3975(93)90111-6.

[37] J.F. Groote & M.R. Mousavi (2014): Modeling and Analysis of Communicating Systems. MIT Press.

[38] J.F. Groote, M.R. Mousavi & M.A. Reniers (2006): A Hierarchy of SOS Rule Formats. Electr. Notes Theor. Comput. Sci. 156(1), pp. 3–25, doi:10.1016/j.entcs.2005.11.077.

[39] J.F. Groote & F.W. Vaandrager (1992): Structured Operational Semantics and Bisimulation as a Congruence. Information and Computation 100(2), pp. 202–260, doi:10.1016/0890-5401(92)90013-6.

[40] B. Klin & V. Sassone (2013): Structural operational semantics for stochastic and weighted transition systems. Information and Computation 227, pp. 58–83, doi:10.1016/j.ic.2013.04.001.

[41] R. Lanotte & S. Tini (2009): Probabilistic bisimulation as a congruence. ACM Transactions on Computational Logic 10(2):9, doi:10.1145/ 1462179.1462181.

[42] K.G. Larsen & B. Thomsen (1988): A Modal Process Logic. In: Proc. LICS’88, IEEE Computer Society Press, pp. 203–210, doi:10.1109/ LICS.1988.5119.

[43] M. Miculan & M. Peressotti (2014): GSOS for non-deterministic processes with quantitative aspects. In Nathalie Bertrand & Luca Bortolussi, editors: Proc. QAPL’14, EPTCS 154, Open Publishing Association, pp. 17–33, doi:10.4204/EPTCS.154.2.

[44] R. Milner (1990): Operational and algebraic semantics of concurrent processes. In J. van Leeuwen, editor: Handbook of Theoretical Computer Science, chapter 19, Elsevier Science Publishers B.V. (North-Holland), pp. 1201–1242. Alternatively see Communication and Concurrency, Prentice-Hall, Englewood Cliffs, 1989, of which an earlier version appeared as A Calculus of Communicating Systems, LNCS 92, Springer, 1980.

[45] M.R. Mousavi, M.A. Reniers & J.F. Groote (2005): A syntactic commutativity format for SOS. Information Processing Letters 93(5), pp. 217–223, doi:10.1016/j.ipl.2004.11.007.

[46] G.D. Plotkin (2004): A Structural Approach to Operational Semantics. The Journal of Logic and Algebraic Programming 60–61, pp. 17–139, doi:10.1016/j.jlap.2004.05.001. Originally appeared in 1981.

[47] T.C. Przymusinski (1990): The Well-founded Semantics Coincides with the Three-valued Stable Semantics. Fundamenta Informaticae XIII(4), pp. 445–463.

[48] R. de Simone (1984): Calculabilité et Expressivité dans l’Algebra de Processus Parallèles Meije. Thèse de 3^{e} cycle, Univ. Paris 7.

[49] R. de Simone (1985): Higher-level synchronising devices in Meije-SCCS. Theoretical Computer Science 37, pp. 245–267, doi:10.1016/ 0304-3975(85)90093-3.

[50] I. Ulidowski (1992): Equivalences on Observable Processes. In: Proc. LICS’92, IEEE Computer Society Press, pp. 148–159, doi:10.1109/ LICS.1992.185529.

[51] I. Ulidowski (2000): Finite axiom systems for testing preorder and De Simone process languages. Theoretical Computer Science 239(1), pp. 97–139, doi:10.1016/S0304-3975(99)00214-5.

[52] I. Ulidowski & I. Phillips (2002): Ordered SOS Rules and Process Languages for Branching and Eager Bisimulations. Information and Computation 178(1), pp. 180–213, doi:10.1006/inco.2002.3161.