Abstract 1 Introduction 2 Nominal sets and fresh labelled transition systems (FLTSs) 3 Fresh HML with recursion (𝝁FHML) 4 Parity games and model checking 5 Conclusion References Appendix A Appendix Appendix B Model-checking for the 𝝅-calculus

A Logic for Fresh Labelled Transition Systems

Mohamed H. Bandukara ORCID Queen Mary University of London, UK Nikos Tzevelekos ORCID Queen Mary University of London, UK
Abstract

We introduce a Hennessy-Milner logic with recursion for Fresh Labelled Transition Systems (FLTSs). These are nominal labelled transition systems which keep track of the history, i.e. of data values seen so far, and can model fresh data generation. In particular, FLTSs generalise the computations of Fresh-Register Automata, which in turn can be seen as a “regular” class of history-tracking automata operating on infinite input alphabets. The logic we introduce is a modal mu-calculus equipped with infinite disjunctions over arbitrary and fresh data values respectively, while its recursion is parameterised on vectors of data values. It can express a variety of properties, such as the existence of an infinite path of distinct data values, the absence of paths where values are repeated, or the existence of a finite path where some taint property is violated. We study the model-checking problem and its complexity via a reduction to parity games and, using nominal sets techniques, provide an exponential upper bound for it.

Keywords and phrases:
Nominal Transition Systems, Hennessy-Milner Logic, Modal Mu-Calculus, Register Automata, Nominal Sets, Parity Games
Funding:
Mohamed H. Bandukara: supported by EPSRC DTP EP/R513106/1.
Copyright and License:
[Uncaptioned image] © Mohamed H. Bandukara and Nikos Tzevelekos; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Automata over infinite objects
; Theory of computation Modal and temporal logics
Related Version:
Full Version: https://arxiv.org/abs/2506.14538
Editors:
Stefano Guerrini and Barbara König

1 Introduction

Nominal Labelled Transition Systems (LTSs) can capture computational scenarios which require unbounded sets of data values [5]. In the most elementary case, data values are just names, that is, atomic identifiers that can only be compared for equality. Nominal LTSs can be used, for example, for modelling mobile processes [38] and computation with variables [24, 21], and for verifying XML query languages [41]. A particularly popular class of nominal LTSs are the ones generated by computations of “regular” automata over infinite alphabets, such as register automata [24] and the (largely) equivalent nominal automata [5]. A register automaton is equipped with a finite set of states, and hence the nod to regularity, but also a finite set of registers where it can store data values and compare them with, and possibly update them with, data values from the input. This design allows register automata to capture languages over infinite alphabets even though their specification is finite.

Fresh-Register Automata (FRAs) [44] expand on this design by having the option of allowing the automaton to accept a name just if it is globally fresh, that is, it has not appeared so far in the input. FRAs can be used to capture computational models that use names and name generation, e.g. (finitary) π-calculus processes [44, 3] and programs with mutable references or objects [35, 32]. They have been applied to program verification and system modelling, leading to verification tools [32, 20] and model learning techniques [6, 1]. Verification of FRAs has mainly focussed on bisimulation equivalence [44, 33, 34]. In this work we are interested in furthering formal verification for nominal computation, with an interest on FRAs and more generally history-dependent computation, in the direction of modal logics.

Hennessy-Milner Logic (HML) is a modal behavioural logic that captures branching-time properties of labelled transition systems. It was initially introduced in 1980 by Hennessy and Milner [22] as an alternative exposition of observational equivalence [8]. Observational equivalence has a focus on testing whether two systems can simulate each other in a step-by-step manner, whereas HML logic focuses on the expressiveness of a single system. In image-finite systems, two states are equivalent just if they satisfy the same HML formulas [23]. The extension of HML with recursion, called modal μ-calculus, was introduced by Kozen [29]. Here, we study a nominal extension thereof, where modalities are allowed to include names and where quantifications over some/all names and some/all fresh names are catered for. More specifically, our contributions include:

  • We introduce the notion of fresh LTS (FLTS), which extends nominal LTS with history dependence.

  • We introduce fresh HML with recursion, in short μFHML, which allows us to express recursive branching-time properties involving names and name-freshness.

  • We study the model-checking problem for μFHML formulas on FLTSs. This leads us to developing parity games for μFHML and, through a series of reductions and using nominal techniques, devising a decision procedure for them.

  • We provide (exponential) upper bound calculations for μFHML parity games and μFHML model checking, in the latter case both on general FLTSs and on FRAs.

Although FRAs are our main target model, there are several advantages in defining and utilising FLTSs here. FLTS is a more general formalism, encompassing more scenarios besides FRAs (e.g. π-calculus processes). Actions performed in an FLTS can be more general than those given in FRAs, and allow e.g. for several fresh names to be generated at once or extra mechanisms for manipulating names between transitions (permutations, duplications, etc.). Additionally, FLTSs offer high-level reasoning and abstract away name/register manipulations.

Related work.

HML for the π-calculus was first examined in [31]. For properties involving paths of unbounded length, it is natural to examine recursive extensions thereof such as the modal μ-calculus and variants thereof [8]. The logic we introduced is based on the π-μ-calculus of Dam [12] and is related to the recent work on nominal μ-calculi of Klin and collaborators [26, 27, 15]. The π-μ-calculus [12] specifically targets π-calculus processes, but the syntax used for recursion is the same as ours. The study of a history-dependent nominal μ-calculus in [15] is the work closest to ours. In a certain sense, our work continues that of loc cit. by operating on history-dependent LTSs (and FRAs) and accommodating a vectorial version of recursion. We show that this combination still yields a decidable model-checking problem, and also provide a more algorithmic view on model checking via parity games and produce complexity bounds.

In the area of nominal techniques, the modal logics for nominal LTSs by Parrow et al. [37] can subsume our logic but do not allow for decidable model checking. Logics for variants of register automata have been widely studied, e.g. [42, 14, 18]. The main focus of those works is on decidability, e.g. by restricting the number of registers allowed. No such restrictions are imposed on our logic, which is undecidable for satisfiability but our focus is instead on model checking. There have also been a series of works on logics related to the π-calculus, e.g. [36, 28, 4]. Those works mainly study expressiveness and characterisation of variants of behavioural equivalence for π-calculus processes. Other related works, such as [11, 7], expand on the modal μ-calculus and study model checking, and show it to be decidable for finitary π-calculus processes.

2 Nominal sets and fresh labelled transition systems (FLTSs)

We start by briefly introducing the nominal sets framework, which will be the basis of much of this paper. Let us fix 𝔸 to be a countably infinite set of names (or data values) upon which nominal sets are built. A permutation π on 𝔸 (i.e. a bijection π:𝔸𝔸) is considered finite if supp(π)={a𝔸π(a)a} is finite. For example, the identity permutation id is finite (id(a)=a for all a𝔸) and, for any a,b𝔸, so is the permutation (ab) given by: (ab)(a)=b, (ab)(b)=a, and (ab)(x)=x for all xa,b. We denote the set of all finite permutations in 𝔸 as 𝖯𝖾𝗋𝗆. Given sequences of distinct names a,b𝔸k, we write (ab) for the finite permutation obtained by canonically extending the map {(ai,bi)1ik}.

Definition 1 ([19, 39]).

A nominal set 𝒳 is a set X equipped with an action from 𝖯𝖾𝗋𝗆, i.e. a function __:𝖯𝖾𝗋𝗆×XX such that for all xX and π,π𝖯𝖾𝗋𝗆:

  • π(πx)=(ππ)x,idx=x.

A set of names N𝔸 supports an element xX if, for all π𝖯𝖾𝗋𝗆, if π fixes all elements of N then πx=x. We stipulate that all elements of X be finitely supported, i.e. for all xX there is some finite N𝔸 that supports x. We write supp(x) for the support of x, i.e. the least set supporting x. We say that a is fresh for x, and write a#x, if asupp(x).

By abuse of notation, we may identify 𝒳 with its carrier set X. The action on a nominal set extends to products and subsets by π(x,y)=(πx,πy) and, for any S𝒳, by πS={πxxS}. Additionally, if 𝒳,𝒴 are nominal sets then so is 𝒳×𝒴, and the set of subsets of 𝒳 with finite support. Accordingly, given a relation R𝒳×𝒴 and π𝖯𝖾𝗋𝗆, we have πR={(πx,πy)(x,y)R}. We call R equivariant if supp(R)=, i.e. for all π and (x,y)𝒳×𝒴, (x,y)R(πx,πy)R.

A notion in nominal sets we will be making extensive use of is that of an orbit.

Definition 2.

Let 𝒳 be a nominal set. Two elements x,y𝒳 are nominally equivalent (denoted x𝗇𝗈𝗆y) if πx=y for some π𝖯𝖾𝗋𝗆. Note 𝗇𝗈𝗆 is an equivalence relation.
For each x𝒳, we define its orbit 𝕆(x) to be its 𝗇𝗈𝗆-equivalence class; whereas for each finite N𝔸 we let 𝕆N(x) be its N-orbit, i.e. its closure under permutations fixing N:

𝕆(x) ={πxπ𝖯𝖾𝗋𝗆} 𝕆N(x) ={πxaN.π(a)=a}

Observe that 𝕆(x)=𝕆(x). Moreover, for any S𝒳 with finite support we let:

  • the closure of S be 𝒞(S)={πxxSπ𝖯𝖾𝗋𝗆};

  • the set of orbits of S be 𝒪(S)={𝕆supp(S)(x)xS}.

We say that a nominal set 𝒳 is orbit-finite if 𝒪(𝒳) is finite. If 𝒳 is orbit-finite, we let its register index be ri(𝒳)=max{|supp(x)|x𝒳}.

Note in particular that 𝕆(x)=𝒞({x}), for any x𝒳, and 𝒪(𝒳)={𝕆(x)x𝒳}. Given NN and any x𝒳, we have 𝕆N(x)𝕆N(x)𝒳 and supp(𝕆N(x))N. Moreover, for any finitely supported S𝒳 we can see by inspection that:

𝒪(S)=S𝒞(S)𝒳

and supp(𝒞(S))=. Orbit-finiteness essentially captures the notion of a set being “finite up to permutation”, and it is central in the development of automata over nominal sets [5]. Some useful albeit more technical properties follow.

Lemma 3.

Let 𝒳,𝒴 be nominal sets and X,Y𝒳. Then:

  1. 1.

    {𝕆(x)xX}=𝒪(𝒞(X)) and |𝒪(𝒞(X))||𝒪(X)|;

  2. 2.

    if X has empty support then 𝒞(X×Y)=X×𝒞(Y);

  3. 3.

    if 𝒳,𝒴 are orbit-finite then |𝒪(𝒳×𝒴)||𝒪(𝒳)||𝒪(𝒴)|n1n2(1+ϵ) where {n1,n2}={ri(𝒳),ri(𝒴)}{0} and n1n2, and ϵ1 is a constant that vanishes for n24.

We next define nominal labelled transition systems, where states and labels form nominal sets, which retain a possibly unbounded history component but are otherwise orbit-finite. For that purpose, orbit-finiteness is relaxed to accommodate histories of unbounded size. One part of our solution is to use configurations comprising pairs of a state s and a history H, with supp(s)H, where only the set of states is orbit-finite. The other part is to stipulate that the names appearing only in the history component of a configuration do not matter, in the following way. If a transition can be taken from a given configuration then:

  • weakening the configuration with some fresh name (i.e. fresh both for the source and target configurations), or

  • strengthening the configuration by removing a name appearing only in its history (and not in its state),

should not affect whether the transition can be taken or not. Note here the asymmetry in the freshness requirements for a in weakening and strengthening: weakening requires that the name be completely fresh. This is in order to account for transitions performing fresh name generation. A transition freshly generating some name a would be rendered invalid if we added a to that transition’s initial history.

Definition 4.

A Fresh Nominal Labelled-Transition System (FLTS) is a tuple =𝒮,L,, where (writing 𝒫fin for the finite powerset operator):

  • 𝒮 is a nominal set of states and L is a nominal set of actions,

  • 𝒮^×L×𝒮^ is an equivariant transition relation,

  • where 𝒮^={(s,H)𝒮×𝒫fin(𝔸)supp(s)H} is the nominal set of configurations;

and such that, for all (s,H)(s,H) and a𝔸:

  • supp(s)supp(s)supp() and H=Hsupp();

  • if aH then (s,H{a})(s,H{a}) (weakening);

  • if asupp(s) then (s,H{a})(s,H′′) for some H′′ (strengthening).

is called fresh-orbit-finite if 𝒮 and L are orbit-finite.

The notion of FLTS is fairly general and encompasses popular computational scenarios such as name-carrying processes (e.g. in the π-calculus) and name-manipulating programs (e.g. Java programs with objects). At the automata level, one such formalism is that of fresh-register automata [44], which are the baseline paradigm in our study. As we are interested in behavioural properties, rather than language acceptance, we disregard initial and final states. The automata we define next operate on inputs (t,a)Σ×𝔸 where t comes from a finite set of tags and a is a name.

Definition 5.

An r-Fresh-Register Automaton (r-FRA) is a tuple 𝒜=Q,μ,Σ,δ, where r is the number of registers in 𝒜 and:

  • Q is a finite set of states, and μ:Q𝒫([1,r]) an availability function;

  • Σ is a finite set of tags, and δ:Q×Σ×{i,i,i1ir}×Q is the transition relation;

subject to the following conditions:

  • if (q,t,i,q)δ then iμ(q) and μ(q)μ(q);

  • if (q,t,i,q)δ or (q,t,i,q)δ, then μ(q)μ(q){i}.

We shall write qt,xq for (q,t,x,q)δ.

We can see that the labels appearing in FRA transitions are of the form (t,x), where t comes from a finite alphabet while x is a variant of a register index i. Assuming the automaton is at state q and given qt,xq, depending on x the automaton will perform one of the following actions before moving to state q:

  • x=i: read the input (t,a), where a is the name currently in register i  –  note here that i needs to be available at q (i.e. iμ(q));

  • x=i: read any input (t,a) so long a is not currently stored in any register (i.e. it is locally fresh), and store a in register i;

  • x=i: read any input (t,a) so long a has not be seen before (i.e. it is globally fresh), and store a in register i.

Formally, the semantics of an FRA can be given in terms of its derived FLTS. The latter features states of the form (q,ρ) where q is a state and ρ an assignment of values to available registers, i.e. the ones in μ(q). It is good to bear in mind that q has empty support.

Definition 6.

Given an r-FRA 𝒜=Q,μ,Σ,δ we define its FLTS 𝒢𝒜=𝒮𝒜,Σ×𝔸, by setting (and writing configurations simply as (q,ρ,H) instead of ((q,ρ),H)):

  • 𝒮𝒜={(q,ρ)qQρ:μ(q)𝔸 injective};

  • (q,ρ,H)t,a(q,ρ,H) whenever there is qt,xq such that, for some register i:

    • x=i and a=ρ(i), while ρ=ρ; or

    • x=i and arng(ρ), while ρ=ρ[ia]μ(q); or

    • x=i and aH, while ρ=ρ[ia]μ(q);

    where ρ[ia] is the update of ρ mapping i to a, and the operator performs domain restriction. In all cases, H=H{a}.

It is not difficult to verify that 𝒢𝒜 is indeed an FLTS. First, the sets 𝒮𝒜 and Σ×𝔸 are closed under permutation, hence they are nominal sets. The definition of the transition relation does not single out any specific names and is therefore equivariant. Moreover, the names appearing in the history but not in the registers of a configuration are indistinguishable to the automaton, and that makes the conditions of strengthening and weakening true. Finally, in every transition, names in the final register assignment are sourced from those of the initial assignment and the label, and the history is correctly updated.

Lemma 7.

Given an r-FRA 𝒜=Q,μ,Σ,δ, its FLTS 𝒢𝒜=𝒮𝒜,Σ×𝔸, is well defined.

We conclude this section with some motivating examples. These include examples of properties used in the literature and simple properties one may want to check in a verification scenario.

Example 8.

Let us assume a unique tag, e.g. Σ={}, which we suppress for brevity. Consider the following properties (cf. [15]):

All paths, finite and infinite, contain pairwise distinct names. (#All)
There is an infinite path where all names are distinct. (#Path)

Thus, both properties specify paths of the forms a1a2an or a1a2a3 where, for each ai, there is no j<i such that ai=aj. Let us now examine the following basic FRAs.

The sets beneath each state indicate available registers. The paths (in the FLTS) of the first FRA will always have distinct names, so this FRA satisfies both #All and #Path. In fact, all three FRAs, from all possible configurations, satisfy #Path as the locally fresh transitions can be realised by names that are in fact globally fresh. Moreover:

  • the second FRA fails #All from both states: for any H,ρ,a,b with a#ρ,b and i=0,1, (qi,ρ,H)𝑎(q1,[1a],H{a})𝑏(q1,[1b],H{a,b})𝑎(q1,[1a],H{a,b});

  • the third FRA satisfies #All everywhere: even if going from q0 to q1 may involve an old name (already in history), the remaining names are all going to be globally fresh.

Example 9.

Let us assume a set of tags Σ={𝖲,𝖴,𝖳} which stand for 𝗌𝗍𝖺𝗋𝗍, 𝗎𝗌𝖾 and 𝗍𝖾𝗋𝗆𝗂𝗇𝖺𝗍𝖾 respectively. Consider an application in which a new session is created each time the application is launched. This session can be used an arbitrary number of times, and then the session is terminated once the application is closed. We declare the following property for this application:

There is an infinite path that repeatedly starts a fresh session, arbitrarily uses it
and then terminates it.

Once the session is terminated, it cannot be resumed or reactivated, a new session must be created. A path for this will look as follows:

𝖲(s1)𝖴(s1)𝖳(s1)𝖲(s2)𝖴(s2)𝖳(s2)𝖲(s3)

where, for each si, there is no j<i such that si=sj. Let us now consider this basic FRA below.

The FRA satisfies the property #SUT from q0. For any H,s1,s2 with s1,s2H, H=H{s1} and H′′=H{s2}:

Example 10.

In [44, 2] we showed that finitary π-calculus processes can be encoded as FRAs. We briefly discuss an example of a π-calculus process P that satisfies property #All:

P=νx.a¯x.(P+0)

The νx creates a new name (or channel) x, and then a¯x sends x on the given channel a. Following this, the process P is repeated, or the process terminates. This ensures that on each path, all names are pairwise distinct, as the ν operator ensures that each channel that is created is fresh, hence there will be no repetitions. See Appendix B for a short presentation of the π-calculus and its modelling in FLTSs.

3 Fresh HML with recursion (𝝁FHML)

In this section we present our logic μFHML. We introduce the syntax and semantics of formulas, and show that the semantics is well defined. Recall the sets 𝔸,Σ of names and tags, where the former is ranged over by a,b, etc. It will be useful to consider tags as having arbitrary finite arities, and not just unary as in FRAs, determined by a map 𝖺𝗋:Σ. Let us also assume a set 𝑉𝑎𝑟 of value variables and a set 𝑉𝐴𝑅 of recursion variables. These are ranged over respectively by x,y, etc. and X,Y, etc. Recursion variables have also arities, given by a map 𝖺𝗋:𝑉𝐴𝑅 (note function overload). Here and in the sequel, when writing variable sequences x we shall tacitly assume they contain distinct elements.

Definition 11.

The formulas of fresh HML with recursion (μFHML) are:

Formulasϕ ::=u=uϕϕ¬ϕxϕx.ϕϕ(μX(x).ϕ)(u)X(u)
Valuesu ::=xa
Labels ::=(t,u)(with 𝖺𝗋(t)=|u|)

where in X(u) and (μX(x).ϕ)(u) we have |u|=|x|=𝖺𝗋(X).

A variable X can be free or bound, with binding performed with μX. As usual, we impose that each recursion variable X appears within an even number of negation operations from its binder, implying that there must be at least one appearance of every such X. Value variables x are bound by x, x. and μX(x). We say that a formula is firm if it has no free value variables, and closed if it has no free recursion variables. Note also that formulas form a nominal set: for each formula, its support is simply the set of names featuring in it. Finally, we can express tautology e.g. by 𝗍𝗋𝗎𝖾x(x=x).

The size of a formula is calculated in such a way that it be no smaller than the size of its support, and moreover, be linearly related to a concise machine representation of the formula (e.g. using de Bruijn indices [13]).

Definition 12.

The size for each formula is inductively defined as:

|u=v| =2 |xϕ|=|x.ϕ|=|¬ϕ| =1+|ϕ|
|t,uϕ| =1+|u|+|ϕ| |X(u)| =1+|u|
|ϕψ| =1+|ϕ|+|ψ| |(μX(x).ϕ)(u)| =1+|ϕ|+2|u|

The semantics of formulas is given with respect to a given FLTS: a formula is mapped to a subset of its configurations. We shall use the following grammars for value and recursion variable substitutions respectively:

γ ::=εγ,{a/x} θ ::=εθ,{σX(x).ϕ/X}

Thus, substitutions are sequences of mappings which can be on sequences of distinct value variables or single recursion variables. We may write dom(γ) for the union of the domains of all elements in γ, while in γ,{a/x} we assume that |a|=|x| and, for each i, xidom(γ). A formula ϕ acted on by a substitution γ is written ϕ{γ} and defined recursively by:

ϕ{ε} =ϕ ϕ{γ,{a/x}} =(ϕ{γ}){a/x}

Similar conventions and definitions relate to recursion variable substitutions. In addition, ϕ{θ} is only ever going to be considered in cases where no variable capture be possible.

Definition 13.

Given an FLTS =𝒮,L, with L{(t,a)Σ×𝔸𝖺𝗋(t)=|a|}, let us set 𝒰=𝒫(𝒮^) and, for each n, 𝒰n=𝔸n𝒰.
A 𝒰-variable assignment is a finite partial map ξ:𝑉𝐴𝑅n𝒰n such that, for each Xdom(ξ), ξ(X)𝒰𝖺𝗋(X) (=𝔸𝖺𝗋(X)𝒰). Given a 𝒰-variable assignment ξ, the semantics ϕξ of a firm formula ϕ with respect to ξ is an element of 𝒰 given inductively by:

a=bξ =(if ab) xϕξ =a𝔸ϕ{a/x}ξ
a=aξ =𝒮^ x.ϕξ =a#ϕ,ξ{(s,H)ϕ{a/x}ξaH}
ϕ1ϕ2ξ =ϕ1ξϕ2ξ X(a)ξ =ξ(X)(a)
¬ϕξ =𝒮^ϕξ (μX(x).ϕ)(a)ξ =(𝗅𝖿𝗉(λf.λb.ϕ{b/x}ξ[Xf]))(a)
ϕξ ={(s,H)𝒮^(s,H)(s,H).(s,H)ϕξ}

When ξ is empty, we may simply write ϕ.

Note that the notation λb.ϕ{b/x}ξ is shorthand for the function {(b,ϕ{b/x}ξ)b𝔸n}. More generally, the semantics is only defined on firm formulas.

For the semantics to be well-defined, we need to ensure that the required least fixpoints exist. From the Knaster-Tarski theorem, this can be done by showing that 𝒰n is a complete lattice and that λf.λb.ϕ{b/x}ξ[Xf] is a monotone function. In particular, setting F=λf.λb.ϕ{b/x}ξ[Xf], we have 𝗅𝖿𝗉(F)={g𝒰nF(g)g}, where order and least-upper-bounds in 𝒰n are given as expected:

fg a𝔸n.f(a)g(a) S =λa.{f(a)fS}

for any f,g𝒰n and S𝒰n.

Lemma 14.

𝒰n is a complete lattice and, for any ϕ,ξ, the function λf.λb.ϕ{b/x}ξ[Xf] is monotone.

Finally, we show that for any μFHML formula ϕ and 𝒰-variable assignment ξ, supp(ϕξ)supp(ϕ)supp(ξ). To do this, we show that the function λϕ,ξ.ϕξ is equivariant, and then use the equivariance principle.

Lemma 15.

The function λϕ,ξ.ϕξ is equivariant. Therefore, for any formula ϕ and 𝒰-variable assignment ξ, supp(ϕξ)supp(ϕ)supp(ξ).

A direct consequence of the latter result is that ϕξ is finitely supported, and so is the function λf.λb.ϕ{b/x}ξ[Xf].

Theorem 16.

The semantics of Definition 13 is well defined. Its image is within the subset of 𝒰 of finitely-supported sets of configurations.

Proof.

For the former, we must show that least fixpoints exist for any 𝗅𝖿𝗉(λf.λb.ϕ{b/x}ξ[Xf]). By definition, the function F=λf.λb.ϕ{b/x}ξ[Xf] is in 𝒰𝖺𝗋(X) and by Lemma 14, 𝒰𝖺𝗋(X) is a complete lattice and F is monotone. Thus, by the Knaster-Tarski theorem [43], the least fixpoint of any such F exists. The proof of the latter follows from Lemma 15.

 Remark 17 (Derived connectives).

We can define standard dual connectives for μFHML as:

ϕψ ¬(¬ϕ¬ψ) []ϕ ¬¬ϕ (νX(x).ϕ)(u) ¬(μX(x).¬ϕ{¬X/X})(u)

and write uv for ¬(u=v). The semantics of the above can be derived from Definition 13 as expected. For instance: (νX(x).ϕ)(a)ξ=(𝗀𝖿𝗉(λf.λb.ϕ{b/x}ξ[Xf]))(a).
In the same vein, we show below that fresh selection is its self-dual: ¬x.ϕξ=x.¬ϕξ.

As in [19, 39], we can show that x.ϕ can be taken as meaning “for any fresh x, ϕ holds” or “there is some fresh x such that ϕ holds”.

Lemma 18.

For any ϕ,ξ and configuration (s,H),

(s,H)x.ϕξa#ϕ,ξ,H.(s,H)ϕ{a/x}ξ (1)
a#ϕ,ξ,H.(s,H)ϕ{a/x}ξ (2)

Therefore, we have ¬x.ϕξ=x.¬ϕξ.

Proof.

We note that (1) is a restatement of the definition of the semantics for x.ϕ. For (2) it suffices to show the left-to-right inclusion, as the other one follows from there always being some a#ϕ,ξ,H. For any (s,H):

(s,H)¬x.ϕξ a#ϕ,ξ,H.(s,H)ϕ{a/x}ξ
a#ϕ,ξ,H.b#ϕ,ξ,H.(s,H)=(ab)(s,H)ϕ{b/x}ξ
b#ϕ,ξ,H.(s,H)ϕ{b/x}ξ

The final claim then follows using (1) and (2).

 Remark 19 (Comparison with logics of Dam [12] and Klin et al. [27, 15]).

The π-μ-calculus is a recursive modal logic for π-calculus, accompanied with a proof system that is sound and complete for finitary processes [12]. Its connectives are very similar to ours and, in fact, our syntax for the recursive connectives is taken from loc cit. Being a logic specifically for the π-calculus, it employs connectives such as free/bound input and output, in addition to modal connectives that specify the communication channel. Bound I/O in particular makes fresh-name quantification redundant.
The μ-calculi with atoms of [27, 15] are probably the closest to our logic. While those logics only feature recursion variables of nullary arities, the vectorial version studied in [27] can capture scenarios where non-zero arities are needed. The history-dependent logic of [15] captures freshness with this connective and corresponding semantics (in our terminology):

ϕ ::=#v(for value v) #aξ ={(s,H)aH}

The analogy is not fully exact as our semantics is over history-dependent LTSs, while in loc cit. on nominal LTSs. In fact, the approaches are incomparable: fresh-orbit-finite LTSs (where model checking is decidable) are more general than the orbit-finite LTSs of [15], but our logic is less general than theirs. Using #u, we can define fresh quantification:

x.ϕx#x(xv1)(xvn)ϕ

where v1,,vn is an enumeration of all (free) values in ϕ. But one can be even more expressive. E.g. the following formula stipulates that there are exactly two names in the current history:

x,yxy¬(#x#y)zzx,y#z

We find this added expressivity not necessary for specifying FLTSs built e.g. from FRAs, as the exact size of the history is in general not accessible. Another property expressible with the fresh-name connective is (we thank the anonymous reviewer for providing this):

Every next transition is on a fresh name. (#AllNext)

Assuming Σ={} and suppressing labels, this can be expressed by x[x]#x. One may wish to use #AllNext to specify e.g. a name generator that produces fresh names independently of its current history (for a given history H, #AllNext can be expressed by simply enumerating the names in H). Being able to express #AllNext, say by a formula ϕ[#], would again allow us to pry too invasively into the history. For example, the formula

ϕ[#]x,yxy¬(x𝗍𝗋𝗎𝖾y𝗍𝗋𝗎𝖾)zzx,yz𝗍𝗋𝗎𝖾

stipulates that #AllNext holds and there are exactly two names in the history. Such history-counting properties seem beyond the reach of μFHML.
Finally, the history-bounded parity games presented herein provide a simpler route to model checking than the history-bounding construction in [15]. It is interesting to see if our approach can also be applied in the presence of the #v connective. We conjecture that it can, and that would render the model-checking problem decidable in that case as well.

By reduction from satisfiability for the μ-calculus with atoms [27] (i.e. even without histories), we know that the satisfiability problem is undecidable for μFHML. In the next section we shall study instead the model-checking problem, show it is decidable and calculate an upper bound for its complexity. The following definition will be of use then.

Definition 20.

Given a μFHML formula ϕ, its binding depth ϕ is given recursively by:

u=v =X(u)=0 ¬ϕ =ϕ=ϕ (μX(x).ϕ)(u)=ϕ+|x|
ϕψ =max(ϕ,ψ) xϕ =x.ϕ=1+ϕ

We conclude this section by revisiting Examples 8 and 9 and building formulas for them.

Example 21.

The property #All can be represented by the formula ¬ϕ, where:

ϕ=μX.xx(XμY.yy(Yx=y))

Note we omit tags as they are not used here. The subformula μY.yy(Yx=y) represents all finite paths that eventually accept an x, that is, for each call of Y we accept any name y and either we repeat Y or, in case x=y, we stop. Similarly, ϕ represents all finite paths where eventually, some a is repeated, that is, for each call of X we accept any name x and either we repeat X, or x is eventually accepted again (using μY.yy(Yx=y)). Thus, ¬ϕ represents all paths such that no name is ever repeated. Note that, by negation elimination, ¬ϕ can be written as: νX.x[x](XνY.y[y](Yxy)).

Additionally, the property #Path can be represented by the formula:

ϕ=νX.x.xX

The formula states that the recursive property X always holds, where property X states that we select a fresh name x, and perform an x action where we can then repeat property X.

Example 22.

Let us consider Example 9, where we start, repeatedly use, and then terminate a session that cannot be resumed or reactivated. This can be represented by:

ψ=νX.s.𝖲,s.μY.(𝖴,sY𝖳,sX)

where 𝖲,𝖴,𝖳 stand for start, use and terminate respectively. We begin by entering the recursive ν-variable X, where each time we enter X, we select a fresh session s and perform the action 𝗌𝗍𝖺𝗋𝗍(s). From here, we enter the μ-variable Y where each time we enter, we repeatedly perform the action 𝗎𝗌𝖾(s) and eventually perform the action 𝗍𝖾𝗋𝗆𝗂𝗇𝖺𝗍𝖾(s). Once s has been terminated, we repeat the process by re-entering the ν-variable X, starting some new session s. Note that the use of the μ-variable Y ensures that the session will eventually terminate, and the use of the ν-variable X ensures that the property is never violated.

4 Parity games and model checking

Given an FLTS L, a configuration (s0,H0) in L and a firm closed formula ϕ0, the model-checking problem asks whether (s0,H0)ϕ0. To solve this problem, in this section we introduce parity games that capture satisfiability of formulas in given configurations. To establish this connection it will be useful to consider formulas ϕ0 which may not be closed. We start off with a general definition of parity games in nominal sets. These are essentially atomic parity games [27] though, in contrast to loc. cit., here we use them for games with bounded histories.

Definition 23.

A (nominal) parity game is a tuple 𝒢=V,VA,VD,E,Ω where V,E is a directed graph, with vertices called positions and edges called moves, V=VAVD is a partitioning of positions into Attacker and Defender ones respectively, and Ω:V{0,,d} is a ranking function for some maximum rank d.
In addition, V is a finitely supported subset of some nominal set V^ and, for all P1,P2V and P1,P2V^, if (P1,P1)𝗇𝗈𝗆(P2,P2) then:

  • if P1Vχ then P2Vχ (for χ{A,D}), and Ω(P1)=Ω(P2);

  • if (P1,P1)E then (P2,P2)E.

Given a game 𝒢, we may write Pos(𝒢) for its set of positions V. Intuitively, the nominal conditions in Definition 23 say that the game seen from two nominally equivalent positions is the same up to permutation. Note that 𝒢 is not equivariant in general, and its support is the support of V.

Starting from a root position P0V, a play is a path within 𝒢, i.e. a finite or infinite sequence Π=P0,P1, such that (Pi,Pi+1)E for each i. A play is complete if it ends in a leaf. Defender (Attacker) wins a complete play if the last position in it belongs to Attacker (resp. Defender). Defender (Attacker) wins an infinite play if the highest position rank in it is even (resp. odd). We say that P0 is a winning position for Defender (or Defender wins from P0) if there is a partial function Θ:VDE (called a strategy) such that Defender wins every complete or infinite play P0,P1, such that for each PiVD we have Θ(Pi)=(Pi,Pi+1).

The development of parity games for μFHML follows parity games for the μ-calculus, cf. [16]. We start by considering the negation-free fragment of our logic. In the sequel, we shall consider the derived connectives of Remark 17, along with inequality uv, as primitive (and exclude negation).

Definition 24.

A formula is called negation-free if it contains no negations. For each formula ϕ, we write !ϕ for its negation-free variant. This can be constructed by induction using standard duality rules for pushing negation inside boolean, modal and recursion constructors, along with the rules: !(¬¬ϕ)=!ϕ,!(¬x.ϕ)=x.!(¬ϕ).

Lemma 25.

For any formula ϕ, |!(ϕ)| is bounded by |ϕ|n, where n is the number of negations in ϕ.

For the remainder of this section, and unless specified otherwise, any μFHML formulas used are going to be assumed to be firm and negation-free.

We shall make use of the (recursion) alternation depth of formulas. At this point it is important that the formulas we examine have a unique specification for each of their bound variables. More specifically, for any formula ϕ we stipulate that:

  • the bound and free recursion variables of ϕ be disjoint;

  • if σ1X(x1).ϕ1,σ2X(x2).ϕ2 are subformulas of ϕ then (σ1,x1,ϕ1)=(σ2,x2,ϕ2).

Note that these conditions are not unusual (cf. [26]). They are not restricting our logic either as any formula has an α-equivalent one in the form above. At the same time, they allow us to match bound recursion variables with their binding subformulas.

For value variables, on the other hand, we simply disallow a binder on a variable x to be within the scope of another binder on x.

Definition 26 ([9, 17]).

Let ϕ be a μFHML formula. We define the dependency order on bound variables of ϕ as the smallest partial order ϕ such that XϕY if X(u) occurs free in some ϕ such that σY(x).ϕ appears in ϕ (for some u).
The alternation depth of a bound variable X in ϕ is defined as the maximal length of a chain X=X1ϕϕXn such that:

  • if X is a μ-variable, each Xi is a μ-variable if i is odd, and a ν-variable otherwise;

  • if X is a ν-variable, each Xi is a ν-variables if i is odd, and a μ-variable otherwise.

The alternation depth of a formula ϕ (denoted adepth(ϕ)) is the maximum alternation depth of variables bound in ϕ, or zero if there are no fixpoints.

Parity games for μFHML have positions of the form (s,H,ξ,ψ), with:

  • (s,H)𝒮^ being the current configuration that is examined;

  • ξ being a 𝒰-variable assignment;

  • ψ being the current formula.

We define games with respect to a root position corresponding to the model-checking problem we aim to decide. The positions and moves are given inductively using game rules.

Definition 27.

Let ϕ0 be a firm negation-free μFHML formula, ξ a 𝒰-variable assignment containing the free recursion variables of ϕ0, an FLTS and (s0,H0) a configuration in . The game 𝒢(,ϕ0,ξ,s0,H0) has root position (s0,H0,ξ,ϕ0) and game rules:

  • (s,H,ξ,a=a) belongs to Attacker, whereas (s,H,ξ,a=b) to Defender;

  • (s,H,aa) belongs to Defender, whereas (s,H,ab) to Attacker;

  • (s,H,ξ,X(a)) belongs to Attacker if (s,H)ξ(X)(a), and to Defender otherwise;

  • (s,H,ξ,ϕ)(s,H,ξ,ϕ), if (s,H)(s,H), belongs to Defender if =, and to Attacker if =[];

  • (s,H,ξ,ϕ1ϕ2)(s,H,ξ,ϕi), i{1,2}, belongs to Defender if =, and to Attacker if =;

  • (s,H,ξ,xϕ)(s,H,ξ,ϕ{a/x}), a𝔸, belongs to Defender if =, and to Attacker if =;

  • (s,H,ξ,x.ϕ)(s,H,ξ,ϕ{a/x}),a#ϕ,ξ,H, belongs to either;

  • (s,H,ξ,(σX(x).ϕ)(a))(s,H,ξ,(ϕ{σX(x).ϕ/X}){a/x}), σ{μ,ν}, belongs to either.

The rank of a position with formula ϕ is given by Ω(ϕ):

Ω(ϕ)={2adepth(X)/2if ϕ is of the form (νX(x).ϕ)(a)2adepth(X)/2+1if ϕ is of the form (μX(x).ϕ)(a)0otherwise

In the case when ϕ0 is closed, we denote the game simply by 𝒢(,ϕ0,s0,H0).

Note that the formulas appearing inside positions are firm and negation-free (as is ϕ0 by assumption).

Later in this section it will be important to count the orbits of a history-bounded version of the parity game of Definition 27. To that effect, it is useful to the formulas appearing in the game, in terms of subformulas of ϕ0 and substitutions. This is achieved by the following notion of formula closure.

Definition 28.

Given a μFHML formula ϕ0, we define its closure 𝖼𝗅𝗈𝗌(ϕ0) to be the smallest set χ of triples (ϕ,γ,θ) such that (ϕ0,ε,ε)χ and:

  • if (ϕ1ϕ2,γ,θ)χ, with {,}, then (ϕ1,γ,θ),(ϕ2,γ,θ)χ;

  • if (ϕ,γ,θ)χ, with l{,[]}, then (ϕ,γ,θ)χ;

  • if (xϕ,γ,θ)χ, with {,}, then (ϕ,(γ,{a/x}),θ)χ, for all a𝔸;

  • if (x.ϕ,γ,θ)χ then (ϕ,(γ,{a/x}),θ)χ, for all a#ϕ{θ}{γ};

  • if ((σX(x).ϕ)(u),γ,θ)χ, with σ{μ,ν}, then (ϕ,(γ,{c/x}),(θ,{σX(x).ϕ/X}))χ, for all c𝔸𝖺𝗋(X).

We write 𝖼𝗅𝗈𝗌(ϕ0)={ϕ{θ}{γ}(ϕ,γ,θ)𝖼𝗅𝗈𝗌(ϕ0)}.

The following lemma shows that the formulas appearing in the game 𝒢(,ϕ0,s0,H0) can be traced back to the closure. It moreover provides some bounds on their orbits and supports.

Lemma 29.

Given a closed formula ϕ0, an FLTS and configuration (s0,H0):

  1. 1.

    for all positions (s,H,ϕ) in 𝒢(,ϕ0,s0,H0) we have that ϕ𝖼𝗅𝗈𝗌(ϕ0);

  2. 2.

    |𝒪(𝖼𝗅𝗈𝗌(ϕ0))| is bounded by |ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!;

  3. 3.

    for all (ϕ,γ,θ)𝖼𝗅𝗈𝗌(ϕ), |supp(ϕ,γ,θ)||supp(ϕ0)|+ϕ0.

We proceed to showing the correspondence between the semantics of an μFHML formula and its corresponding parity game.

Theorem 30.

Given a μFHML formula ϕ0, 𝒰-variable assignment ξ, FLTS and (s0,H0) from , we have (s0,H0)ϕ0ξ iff Defender wins from (s0,H0,ξ,ϕ0) in 𝒢(,ϕ0,ξ,s0,H0).

We have thus reduced model checking of formulas to winning in parity games. At this stage, we can restrict our attention to closed (firm negation-free) formulas ϕ0. The next step is deciding winning regions of our parity games. The latter requires the games to be finite, whereas ours are not so. We therefore reduce our parity games to equivalent finite ones. For this to be possible, we restrict our attention to FLTSs that are fresh-orbit-finite.

For brevity, in the remainder of this section we shall say that (,ϕ0,s0,H0) is a setup of grade N if:

  • is a fresh-orbit-finite FLTS with set of states 𝒮, and (s0,H0)𝒮^;

  • ϕ0 is a closed (firm negation-free) μFHML formula;

  • N=|supp(ϕ0)|+ϕ0+ri(𝒮).

Given a setup (,ϕ0,s0,H0) of grade N, we first present a version of 𝒢(,ϕ0,s0,H0) with bounded histories. The idea is to restrict the size of the history to the maximum number of names that are available to the formula and the states of the FLTS, and one extra to represent a fresh name. This amounts to a bound of N+1 names. When a new name is added and the size of the history is greater than N, then names that are in the history but no longer present in the formula are forgotten. Each position in this game is a tuple (s,H,ϕ) with |H|N+1.

Definition 31.

Let (,ϕ0,s0,H0) be a setup of grade N. The history-bounded game 𝒢N(,ϕ0,s0,H0) has root position (s0,H0,ϕ0), for some H0N(s0,ϕ0,H0), and game rules as in Definition 27, apart from the rule for modal connectives:

  • (s,H,ϕ)(s,H,ϕ), if =(t,a) and (s,H)t,a(s,H{a}) with HN(s,ϕ,H{a}), played by Defender if =, and by Attacker if =[];

while the ranking function is the same as in Definition 27. The well-bounding relation is given as follows. We let HN(s,ϕ,H) if HH and:

  • if |H|N then H=H,

  • else Hsupp(s,ϕ)HH and |H|=N+1.

We note that, though the positions in the unbounded game have their histories trimmed at modal operators, they remain FLTS configurations, i.e. for each (s,H,ϕ) we have supp(s)H. We next show that we can decide winning a parity game 𝒢 by examining its equivalent history-bounded game 𝒢N. To do this, we are going to build a bisimulation-like relation between Pos(𝒢) and Pos(𝒢N). Since the positions in the two games can have name-mismatches, but essentially do “the same” transitions, it is useful to introduce a notion of bisimilation up to renaming. Note we use relation composition: R1;R2={(x,z)y.(x,y)R1(y,z)R2}.

Definition 32.

Given parity games 𝒢1,𝒢2, we call a relation RPos(𝒢1)×Pos(𝒢2) a bisimulation if for all (P1,P2)R:

  • P1 has the same rank and belongs to the same player as P2;

  • for each P1P1, there exist some P2P2 such that (P1,P2)R;

  • for each P2P2, there exist some P1P1 such that (P1,P2)R.

We say that P1 and P2 are bisimilar (denoted P1P2) if there is a bisimulation R such that (P1,P2)R.
A bisimulation up to nominal equivalence (nom-bisimulation) is defined to be a relation R with the same properties as above, apart from the requirement in the last two bullet points being instead that (P1,P2)𝗇𝗈𝗆;R;𝗇𝗈𝗆. We say that P1 and P2 are nom-bisimilar (denoted P1𝗇𝗈𝗆P2) if there is a nom-bisimulation R such that (P1,P2)R.

In the following two lemmas, we let P1,P2 be positions in games 𝒢1,𝒢2 respectively.

Lemma 33.

If P1𝗇𝗈𝗆P2 then P1P2.

Proof.

Let RPos(𝒢1)×Pos(𝒢2) be a nom-bisimulation. We show that R=(𝗇𝗈𝗆;R;𝗇𝗈𝗆)(Pos(𝒢1)×Pos(𝒢2)) is a bisimulation. Suppose (P1,P2)R, i.e. πiPi=Qi (i=1,2) and (Q1,Q2)R, and let P1P1. We have P1,Q1Pos(𝒢1) and, taking Q1=π1P1, (P1,P1)𝗇𝗈𝗆(Q1,Q1), hence Q1Q1 (and Q1Pos(𝒢1)). Then, by nom-bisimulation, Q2Q2 (and Q2Pos(𝒢2)) and (Q1,Q2)R. Like before, setting P2=π21Q2, we obtain P2P2 (and P2Pos(𝒢2)). We observe that (P1,P2)(𝗇𝗈𝗆;R;𝗇𝗈𝗆)(Pos(𝒢1)×Pos(𝒢2))=R.

Lemma 34.

If P1P2 then Defender wins from P1 iff they win from P2.

We can relate games with their history-bounded counterparts by nom-bisimulations.

Definition 35.

Given a setup (,ϕ0,s0,H0) of grade N, consider 𝒢(,ϕ0,s0,H0) and 𝒢N(,ϕ0,s0,H0). We define the history-bounding relation (,ϕ0,s0,H0)Pos(𝒢)×Pos(𝒢N), by setting ((s1,H1,ϕ1),(s2,H2,ϕ2)) if s1=s2, ϕ1=ϕ2 and H2N(s1,ϕ1,H1).

Thus, a position (s,H,ϕ) in the unbounded game is related to itself if its history H is small, i.e. it has no more than N names. If |H| is larger, then we relate (s,H,ϕ) to each (s,H,ϕ) where HH has N+1 names and in particular contains supp(s) (as (s,H) is a configuration) and all names from supp(ϕ) that appear in H.

Lemma 36.

(,ϕ0,s0,H0) is a nom-bisimulation.

Combining Theorem 30 with Lemmas 36, 33, and 34, we can reduce μFHML model-checking to deciding winning a history-bounded parity game. However, although the size of histories, and therefore of positions, is now bounded, the number of positions can still be infinite due to the names appearing in them. We can resolve this by grouping together positions that are “equivalent” up to permuting their names. Formally, this is done by considering games in which positions are orbits of ordinary positions.

Definition 37.

Given a parity game 𝒢=V,VA,VD,E,Ω, we construct the orbits game 𝖮𝗋𝖻𝗌(𝒢)=V,VA,VD,E,Ω as follows:

  • V={𝕆(P)PV} and Vχ={𝕆(P)PVχ} (for χ{A,D});

  • E={(𝕆(P),𝕆(P))(P,P)E};

  • for each PV, Ω(𝕆(P))=Ω(P).

We can see that 𝖮𝗋𝖻𝗌(𝒢) is well defined. In particular, Ω is well defined due to the fact that Ω(P1)=Ω(P2) whenever P1𝗇𝗈𝗆P2. Moreover, we can show that the relation R={(P,𝕆(P))PPos(𝒢)} is a bisimulation.

Lemma 38.

Given 𝒢 as above and PPos(𝒢), P𝕆(P).

Taking stock of the game transformations defined above and the bisimulation relations between them, we can decide winning in a setup of finite grade.

Corollary 39.

Given a setup (,ϕ0,s0,H0) of grade N, Defender wins in 𝒢(,ϕ0,s0,H0) (from (s0,H0,ϕ0)) iff they win in 𝖮𝗋𝖻𝗌(𝒢N(,ϕ0,s0,H0)) from 𝕆(s0,H0,ϕ0). Hence, it is decidable whether (s0,H0)ϕ0.

Proof.

The first part follows from Theorems 30, 36, 33, 34, and 38. The second part follows from Theorem 30 and the fact that 𝖮𝗋𝖻𝗌(𝒢N(,ϕ0,s0,H0)) is a finite game.

We next calculate upper bounds for the size of 𝖮𝗋𝖻𝗌(𝒢N(,ϕ0,s0,H0)) and the time needed to construct it. This allows us to give a complexity bound for model checking. Recall that we set N=|supp(ϕ0)|+ϕ0+ri(𝒮). In the calculations below we prefer to distinguish between complexity due to ϕ0 and , so instead of N we shall use the measure: M(ϕ0)=|supp(ϕ0)|+ϕ0. This can be seen as the nominal potential of ϕ0.

In constructing the orbits game, we need to be able to check if two positions of 𝒢N are nominally equivalent. The way this is performed is the following: given (s1,H1,ϕ1),(s2,H2,ϕ2), we try to build a permutation π such that πs1=s2 and, if successful, we extend π to some π so that, in addition, πϕ1=ϕ2. The former part requires some oracle that is able to answer such questions for the given nominal set of states 𝒮. We let a permutation oracle Ψ to be a function that, given s,s𝒮, it returns a permutation (ab) such that {a}=supp(s), {b}=supp(s) and (ab)s=s, or 𝖭𝖮 if no such permutation exists (i.e. if s≁𝗇𝗈𝗆s). We stipulate that the time complexity of Ψ(s,s) is uniformly bounded by some Φ for all s,s𝒮.

Finally, given a configuration (s,H) and a label , we shall require the next configurations (s,H) under . While H is completely determined from H,, the number of target states s and the time complexity to retrieve them will depend on . We assume that both these quantities are bounded by the non-deterministic branching factor 𝗇𝖽𝖻 of .

Lemma 40.

Given a setup (,ϕ0,s0,H0) of grade N and 𝒢N=𝒢N(,ϕ0,s0,H0):

  1. 1.

    the size of Pos(𝖮𝗋𝖻𝗌(𝒢N)) is bounded by |𝒪(𝒮)||ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+ri(𝒮)+1)M(ϕ0)+1(1+o(1)).

  2. 2.

    the time complexity of constructing 𝖮𝗋𝖻𝗌(𝒢N) is in O((|ϕ0|+Φ+ri(𝒮))max(M(ϕ0)+ri(𝒮),𝗇𝖽𝖻)(|𝒪(𝒮)||ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+ri(𝒮)+1)M(ϕ0)+1)2).

Proof.

Due to lack of space, we only show 1 here. By definition and Lemma 29(1), we know that Pos(𝒢N)𝒮^×𝖼𝗅𝗈𝗌(ϕ0). Then, by Lemma 3(1,2) we have that Pos(𝖮𝗋𝖻𝗌(𝒢N))𝒪(𝒞(𝒮^×𝖼𝗅𝗈𝗌(ϕ0)))=𝒪(𝒮^×𝒞(𝖼𝗅𝗈𝗌(ϕ0))). For every (s,H,ϕ)𝒢N, we have supp(s)H and |H|N+1, and so we have |𝒪(𝒮^)||𝒪(𝒮)|(N+1) (what matters of H is the size of |Hsupp(ϕ)|). Using Lemma 3(3) and the fact that the largest support sizes in 𝒮^ and 𝖼𝗅𝗈𝗌(ϕ0) are bounded by N+1 and |supp(ϕ0)|+ϕ0 (by Lemma 29(3)) respectively:
|𝒪(𝒞(𝒮^×𝖼𝗅𝗈𝗌(ϕ0))| |𝒪(𝒮)|(N+1)|𝒪(𝒞(𝖼𝗅𝗈𝗌(ϕ0)))|(N+1)|supp(ϕ0)|+ϕ0(1+ϵ) |𝒪(𝒮)||𝒪(𝖼𝗅𝗈𝗌(ϕ0))|(N+1)|supp(ϕ0)|+ϕ0+1(1+ϵ) |𝒪(𝒮)||ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!(N+1)|supp(ϕ0)|+ϕ0+1(1+ϵ)

with the last two lines using Lemma 3(1, second part) and Lemma 29(2).

Theorem 41.

Let be a fresh-orbit-finite FLTS with n orbits and set of states 𝒮, with register index r, and let ϕ0 be a μFHML closed formula with maximum alternation depth d. Then, the time complexity of model checking ϕ0 on some configuration in is in
O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6 +(|ϕ0|+Φ+r)max(M(ϕ0)+r,𝗇𝖽𝖻)(n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)2)

If (|ϕ0|+Φ+r)max(M(ϕ0)+r,𝗇𝖽𝖻)O((n|ϕ0|(|ϕ0|)!|supp(ϕ0)|!(M(ϕ0)+r+1)|ϕ0|+1)4) then the bound can be simplified to O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6).

Note above that if the formula ϕ0 has empty support, we get M(ϕ0)=ϕ0 and M(ϕ0)!|supp(ϕ0)|!=ϕ0!. Let us now adapt the above calculations to FRAs. Given ϕ0 and an r-FRA 𝒜=Q,μ,Σ,δ, we have:

  • n=|𝒪(𝒮)|=|Q|, as two state-assignment pairs are equal up to permutation iff they share the same state;

  • 𝗇𝖽𝖻O(rn(r+N))=O(rn(r+M(ϕ0))), as there can be at most rn next configurations out of a configuration on a given label , and constructing a new bounded configuration incurs cost O(r+N);

  • ri(𝒮)r, which is equality if there is a state using all r registers;

  • ΦO(r), as it suffices to check that the two configurations contain the same state and, if so, construct a matching between their register assignments.

Therefore, the time complexity is in O((|Q||ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6). Finally, the interested reader can find a similar calculation for model checking μFHML formulas on finitary π-calculus processes (under early semantics) in Appendix B.

5 Conclusion

We introduced a logic to capture properties of nominal transition systems with history dependence and fresh-name generation. We showed model checking is decidable and has exponential complexity. A next step would be to parameterise this complexity, e.g. by bounding the number of registers in the FLTS or the arities of recursion variables. We also feel that some of our calculations are overly generous, for example in using the bound on orbits of product nominal sets to calculate the number of orbits in the bounded parity game.

Implementation.

We implemented our algorithm for model-checking μFHML on FRAs and tested it on simple examples, like the ones used in this paper for illustration, which are solved instantly.111https://github.com/HamzaBandukara/RAM-C. We leave full benchmarking and analysis of results to a future publication.

References

  • [1] Fides Aarts, Paul Fiterau-Brostean, Harco Kuppens, and Frits Vaandrager. Learning register automata with fresh value generation. In ICTAC Proceedings, pages 165–183, 2015. doi:10.1007/978-3-319-25150-9_11.
  • [2] M. H. Bandukara and Nikos Tzevelekos. On-the-fly bisimilarity checking for fresh-register automata. In Wei Dong and Jean-Pierre Talpin, editors, Dependable Software Engineering. Theories, Tools, and Applications - 8th International Symposium, SETTA 2022, Beijing, China, October 27-29, 2022, Proceedings, volume 13649 of Lecture Notes in Computer Science, pages 187–204. Springer, 2022. doi:10.1007/978-3-031-21213-0_12.
  • [3] M. H. Bandukara and Nikos Tzevelekos. On-the-fly bisimulation equivalence checking for fresh-register automata. J. Syst. Archit., 145:103010, 2023. doi:10.1016/J.SYSARC.2023.103010.
  • [4] Martin Berger, Kohei Honda, and Nobuko Yoshida. Completeness and logical full abstraction in modal logics for typed mobile processes. In Luca Aceto, Ivan Damgård, Leslie Ann Goldberg, Magnús M. Halldórsson, Anna Ingólfsdóttir, and Igor Walukiewicz, editors, Automata, Languages and Programming, 35th International Colloquium, ICALP 2008, Reykjavik, Iceland, July 7-11, 2008, Proceedings, Part II - Track B: Logic, Semantics, and Theory of Programming & Track C: Security and Cryptography Foundations, volume 5126 of Lecture Notes in Computer Science, pages 99–111. Springer, 2008. doi:10.1007/978-3-540-70583-3_9.
  • [5] Mikolaj Bojanczyk, Bartek Klin, and Slawomir Lasota. Automata theory in nominal sets. Log. Methods Comput. Sci., 10(3), 2014. doi:10.2168/LMCS-10(3:4)2014.
  • [6] Benedikt Bollig, Peter Habermehl, Martin Leucker, and Benjamin Monmege. A Robust Class of Data Languages and an Application to Learning. LMCS, 10(4), 2014. doi:10.2168/LMCS-10(4:19)2014.
  • [7] Julian C. Bradfield and Perdita Stevens. Observational μ-calculus. Technical Report RS-99-5, BRICS (Basic Research in Computer Science), University of Aarhus, Denmark, 1999. URL: https://tidsskrift.dk/brics/article/view/21701.
  • [8] Julian C. Bradfield and Colin Stirling. Modal mu-calculi. In Patrick Blackburn, J. F. A. K. van Benthem, and Frank Wolter, editors, Handbook of Modal Logic, volume 3 of Studies in logic and practical reasoning, pages 721–756. North-Holland, 2007. doi:10.1016/S1570-2464(07)80015-2.
  • [9] Julian C. Bradfield and Igor Walukiewicz. The mu-calculus and model checking. In Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, and Roderick Bloem, editors, Handbook of Model Checking, pages 871–919. Springer, 2018. doi:10.1007/978-3-319-10575-8_26.
  • [10] Cristian S. Calude, Sanjay Jain, Bakhadyr Khoussainov, Wei Li, and Frank Stephan. Deciding parity games in quasi-polynomial time. SIAM J. Comput., 51(2):17–152, 2022. doi:10.1137/17M1145288.
  • [11] Mads Dam. Model checking mobile processes. Inf. Comput., 129(1):35–51, 1996. doi:10.1006/INCO.1996.0072.
  • [12] Mads Dam. Proof systems for π-calculus logics. In Ruy J. G. B. de Queiroz, editor, Logic for Concurrency and Synchronisation, volume 18 of Trends in Logic, pages 145–212. Kluwer, 2003. doi:10.1007/0-306-48088-3_4.
  • [13] N.G de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem. Indagationes Mathematicae (Proceedings), 75(5):381–392, 1972. doi:10.1016/1385-7258(72)90034-0.
  • [14] Stéphane Demri and Ranko Lazic. LTL with the freeze quantifier and register automata. ACM Trans. Comput. Log., 10(3):16:1–16:30, 2009. doi:10.1145/1507244.1507246.
  • [15] Clovis Eberhart and Bartek Klin. History-dependent nominal μ-calculus. In 34th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2019, Vancouver, BC, Canada, June 24-27, 2019, pages 1–13. IEEE, 2019. doi:10.1109/LICS.2019.8785736.
  • [16] E. Allen Emerson and Charanjit S. Jutla. Tree automata, mu-calculus and determinacy (extended abstract). In 32nd Annual Symposium on Foundations of Computer Science, San Juan, Puerto Rico, 1-4 October 1991, pages 368–377. IEEE Computer Society, 1991. doi:10.1109/SFCS.1991.185392.
  • [17] E. Allen Emerson, Charanjit S. Jutla, and A. Prasad Sistla. On model checking for the μ-calculus and its fragments. Theor. Comput. Sci., 258(1-2):491–522, 2001. doi:10.1016/S0304-3975(00)00034-7.
  • [18] Diego Figueira and Luc Segoufin. Future-looking logics on data words and trees. In Rastislav Královic and Damian Niwinski, editors, Mathematical Foundations of Computer Science 2009, 34th International Symposium, MFCS 2009, Novy Smokovec, High Tatras, Slovakia, August 24-28, 2009. Proceedings, volume 5734 of Lecture Notes in Computer Science, pages 331–343. Springer, 2009. doi:10.1007/978-3-642-03816-7_29.
  • [19] Murdoch Gabbay and Andrew M. Pitts. A new approach to abstract syntax with variable binding. Formal Aspects Comput., 13(3-5):341–363, 2002. doi:10.1007/S001650200016.
  • [20] Radu Grigore, Dino Distefano, Rasmus Lerchedahl Petersen, and Nikos Tzevelekos. Runtime verification based on register automata. In TACAS Proceedings, pages 260–276, 2013. doi:10.1007/978-3-642-36742-7_19.
  • [21] Orna Grumberg, Orna Kupferman, and Sarai Sheinvald. Variable automata over infinite alphabets. In LATA Proceedings, pages 561–572, 2010. doi:10.1007/978-3-642-13089-2_47.
  • [22] Matthew Hennessy and Robin Milner. On observing nondeterminism and concurrency. In J. W. de Bakker and Jan van Leeuwen, editors, Automata, Languages and Programming, 7th Colloquium, Noordweijkerhout, The Netherlands, July 14-18, 1980, Proceedings, volume 85 of Lecture Notes in Computer Science, pages 299–309. Springer, 1980. doi:10.1007/3-540-10003-2_79.
  • [23] Matthew Hennessy and Robin Milner. Algebraic laws for nondeterminism and concurrency. J. ACM, 32(1):137–161, January 1985. doi:10.1145/2455.2460.
  • [24] Michael Kaminski and Nissim Francez. Finite-memory automata. Theoretical Computer Science, 134(2):329–363, 1994. doi:10.1016/0304-3975(94)90242-9.
  • [25] Victor Khomenko and Roland Meyer. Checking pi-calculus structural congruence is graph isomorphism complete. In Ninth International Conference on Application of Concurrency to System Design, ACSD 2009, Augsburg, Germany, 1-3 July 2009, pages 70–79. IEEE Computer Society, 2009. doi:10.1109/ACSD.2009.8.
  • [26] Bartek Klin and Mateusz Lelyk. Modal mu-calculus with atoms. In Valentin Goranko and Mads Dam, editors, 26th EACSL Annual Conference on Computer Science Logic, CSL 2017, August 20-24, 2017, Stockholm, Sweden, volume 82 of LIPIcs, pages 30:1–30:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2017. doi:10.4230/LIPIcs.CSL.2017.30.
  • [27] Bartek Klin and Mateusz Lelyk. Scalar and vectorial mu-calculus with atoms. Log. Methods Comput. Sci., 15(4), 2019. doi:10.23638/LMCS-15(4:5)2019.
  • [28] Vasileios Koutavas and Matthew Hennessy. First-order reasoning for higher-order concurrency. Comput. Lang. Syst. Struct., 38(3):242–277, 2012. doi:10.1016/J.CL.2012.04.003.
  • [29] Dexter Kozen. Results on the propositional μ-calculus. Theoretical Computer Science, 27(3):333–354, 1983. Special Issue Ninth International Colloquium on Automata, Languages and Programming (ICALP) Aarhus, Summer 1982. doi:10.1016/0304-3975(82)90125-6.
  • [30] Robin Milner, Joachim Parrow, and David Walker. A calculus of mobile processes, I and II. Inf. Comput., 100(1), 1992. doi:10.1016/0890-5401(92)90008-4.
  • [31] Robin Milner, Joachim Parrow, and David Walker. Modal logics for mobile processes. Theor. Comput. Sci., 114(1):149–171, 1993. doi:10.1016/0304-3975(93)90156-N.
  • [32] Andrzej Murawski, Steven Ramsay, and Nikos Tzevelekos. A contextual equivalence checker for IMJ*. In ATVA proceedings, pages 234–240, 2015. doi:10.1007/978-3-319-24953-7_19.
  • [33] Andrzej S. Murawski, Steven J. Ramsay, and Nikos Tzevelekos. Bisimilarity in fresh-register automata. In LICS Proceedings, pages 156–167, 2015. doi:10.1109/LICS.2015.24.
  • [34] Andrzej S. Murawski, Steven J. Ramsay, and Nikos Tzevelekos. Polynomial-time equivalence testing for deterministic fresh-register automata. In MFCS Proceedings, 2018. doi:10.4230/LIPIcs.MFCS.2018.72.
  • [35] Andrzej S. Murawski and Nikos Tzevelekos. Algorithmic nominal game semantics. In ESOP Proceedings, pages 419–438, 2011. doi:10.1007/978-3-642-19718-5_22.
  • [36] Rocco De Nicola and Michele Loreti. Multiple-labelled transition systems for nominal calculi and their logics. Math. Struct. Comput. Sci., 18(1):107–143, 2008. doi:10.1017/S0960129507006585.
  • [37] Joachim Parrow, Johannes Borgström, Lars-Henrik Eriksson, Ramunas Gutkovas, and Tjark Weber. Modal logics for nominal transition systems. Log. Methods Comput. Sci., 17(1), 2021. URL: https://lmcs.episciences.org/7137.
  • [38] Marco Pistore. History-Dependent Automata. PhD thesis, Università di Pisa, 1999.
  • [39] Andrew M. Pitts. Nominal logic, a first order theory of names and binding. Inf. Comput., 186(2):165–193, 2003. doi:10.1016/S0890-5401(03)00138-X.
  • [40] Davide Sangiorgi and David Walker. The Pi-Calculus - a theory of mobile processes. Cambridge University Press, 2001. doi:10.1017/9781316134924.
  • [41] Thomas Schwentick. Automata for XML—a survey. JCSS, 73(3):289–315, 2007. doi:10.1016/j.jcss.2006.10.003.
  • [42] Luc Segoufin. Automata and logics for words and trees over an infinite alphabet. In Zoltán Ésik, editor, Computer Science Logic, 20th International Workshop, CSL 2006, 15th Annual Conference of the EACSL, Szeged, Hungary, September 25-29, 2006, Proceedings, volume 4207 of Lecture Notes in Computer Science, pages 41–57. Springer, 2006. doi:10.1007/11874683_3.
  • [43] Alfred Tarski. A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics, 5(2):285–309, 1955. doi:10.2140/pjm.1955.5.285.
  • [44] Nikos Tzevelekos. Fresh-register automata. In POPL Proceedings. ACM, 2011. doi:10.1145/1926385.1926420.

Appendix A Appendix

Definition 42.

Given a,b𝔸k for any k, such that a and b are pointwise distinct, let us write a=a1,,ak and b=b1,,bk. We let (ab) be the permutation obtained by extending the mapping of a to b as follows:

fa,b ={(ai,bi)1ik}
(ab)(x) ={bi if 1ik.x=aiaj if x=bi{a},aj{b} and k.bi=fa,bk(aj)x otherwise
Lemma 7. [Restated, see original statement.]

Given an r-FRA 𝒜=Q,μ,Σ,δ, its FLTS 𝒢𝒜=𝒮𝒜,Σ×𝔸, is well defined.

Proof.

First, we must show that for any (q,ρ,H)t,a(q,ρ,H), then supp(ρ)supp(ρ){a} and H=H{a}. For the latter, it follows from the previous definition that H=H{a}. For the former, suppose this transition appears due to some (q,ρ)t,x(q,ρ), for any x{i,i,i}. For this, ρ=ρ[ia]μ(q), thus we have that:

supp(ρ)=(supp(ρ){a}){ρ(j)jdom(ρ)jμ(q)}supp(ρ){a}.

We next examine weakening and strengthening. Suppose that (q,ρ,H)t,a(q,ρ,H) due to some qt,xq for x{i,i,i}. For weakening, we show that for all bH, then (q,ρ,H{b})t,a(q,ρ,H{b}) due to qt,xq as well. We have that a and b must be distinct (as aH by the previous point). If x is of the form i or i, then this clearly holds as the history is not relevant to the transition. If x is of the form i then we note that a is still fresh for H{b} and, therefore, the transition can be taken. Finally, for strengthening, we need to show that, for all bsupp(ρ), then (q,ρ,H{b})t,a(q,ρ,H′′) for some H′′ due to qt,xq. Here, since we are shrinking the history, the only thing to verify is that (q,ρ,H{b}) is a valid configuration, which it is as we stipulate that bsupp(ρ).

Lemma 36. [Restated, see original statement.]

(,ϕ0,s0,H0) is a nom-bisimulation.

Proof.

Let us write for (,ϕ0,s0,H0). Let us choose some ((s,H1,ϕ),(s,H2,ϕ))(,ϕ0,s0,H0). By definition, the rank and polarity of (s,H1,ϕ) and (s,H2,ϕ) are the same. Let us introduce the following notation for economy (where H𝔸) : H(b+a)=(H{b}){a}.
We next look at the possible moves. We perform a case analysis on ϕ:

  • u=v: neither (s,H1,ϕ) nor (s,H2,ϕ) can make a move.

  • ϕ1ϕ2: we have that (s,H1,ϕ)(s,H1,ϕi) and (s,H2,ϕ)(s,H2,ϕi) for i{1,2}. For any such i, as the history does not change, if |H2|N then ((s,H1,ϕi),(s,H2,ϕi)) for i{1,2}. Now suppose |H2|=N+1. As supp(ϕi)supp(ϕ), it follows that supp(ϕi,s)H1supp(ϕ,s)H1H2H1, meaning ((s,H1,ϕi),(s,H2,ϕi)) for i{1,2} as required. Similar can be shown for ϕ1ϕ2.

  • x.ϕ the possible moves in 𝒢 are (s,H1,ϕ)(s,H1,ϕ{a/x}) for all a#ϕ,H1, hence each such move can be matched by some (s,H2,ϕ)(s,H2,ϕ{a/x}) and we have that aH2H1 hence ((s,H1,ϕ{a/x}),(s,H2,ϕ{a/x})).
    Conversely, the possible moves in 𝒢N are (s,H2,ϕ)(s,H2,ϕ{a/x}) for a#ϕ,H2. If aH1, then as before this can be matched by (s,H1,ϕ)(s,H1,ϕ{a/x}) with ((s,H1,ϕ{a/x}), (s,H2,ϕ{a/x})). Otherwise, and this is the more interesting case, suppose aH1H2supp(ϕ). Then, we can select some bH1, meaning bH2 and (ab)(s,H2,ϕ{a/x})=(s,H2,ϕ{b/x}). This can be matched by (s,H1,ϕ)(s,H1,ϕ{b/x}) with ((s,H1,ϕ{b/x}),(s,H2,ϕ{b/x})) as required.

  • xϕ: if |H2|N, then (s,H1,xϕ)(s,H1,ϕ{a/x}) can be matched by the move (s,H2,xϕ)(s,H2,ϕ{a/x}) with ((s,H1,ϕ{a/x}),(s,H2,ϕ{a/x})) as required. And similarly for each (s,H2,xϕ)(s,H2,ϕ{a/x}).
    Suppose |H2|=N+1, and let (s,H1,xϕ)(s,H1,ϕ{a/x}) for some a𝔸. Note that supp(ϕ,s)H1H2H1. We do a case analysis on a.

    • If aH2 or aH1, then this means a is in both histories, or neither, so it suffices to again match with the move (s,H2,xϕ)(s,H2,ϕ{a/x}) with ((s,H1,ϕ{a/x}), (s,H2,ϕ{a/x})).

    • If aH1H2, then we no longer have ((s,H1,ϕ{a/x}),(s,H2,ϕ{a/x})). Note that then asupp(s,ϕ) by definition of . We pick bH2supp(s,ϕ) and make the move (s,H2,xϕ)(s,H2,ϕ{b/x}). We have (ab)(s,H2,ϕ{b/x})=(s,H2(b+a),ϕ{a/x}) and ((s,H1,ϕ{a/x}),(s,H2(b+a),ϕ{a/x})), as required.

    Conversely, suppose (s,H2,xϕ)(s,H2,ϕ{a/x}). We do case analysis on a.

    • If aH2 or aH1, then (s,H1,xϕ) (s,H1,ϕ{a/x})(s,H2,ϕ{a/x}).

    • If aH1H2, then let us choose the transition (s,H1,xϕ)(s,H1,ϕ{b/x}) for some bH1supp(ϕ,s). Then, we have that (s,H1,ϕ{b/x})𝗇𝗈𝗆(s,H1(a+b),ϕ{a/x}) and ((s,H1(a+b),ϕ{a/x}),(s,H2,ϕ{a/x})) as required.

  • t,aϕ: in 𝒢, the possible moves are (s,H1,ϕ)(s,H1,ϕ) for all (s,H1) such that (s,H1)t,a(s,H1). By definition, we know supp(s)supp(s){a} and H1=H1{a}. If |H1|N, then this is matched by some move (s,H2,ϕ)(s,H2,ϕ) with H2=H2{a} and ((s,H1,ϕ),(s,H2,ϕ)). Otherwise, we can see that |H2{a}|>N. If H1=H2, then this can be matched by some move (s,H2,ϕ)(s,H2,ϕ) with H1supp(ϕ,s)H2H1 and |H2|=N+1. As |supp(ϕ,s)|N, we have that such a H2 exists and ((s,H1,ϕ),(s,H2,ϕ)) as required. If H2H1, then by the conditions of the FLTS, (s,H1)(s,H1) implies that (s,H2)(s,H2) with H1supp(ϕ,s)H2H1 and |H2|=N+1 thus completing the simulation in this step.
    Conversely, let (s,H2,ϕ)(s,H2,ϕ) with st,as. One of the following is the case:

    • |H2{a}|N, then H2=H1{a}. This can be matched by the move (s,H1,ϕ)(s,H1,ϕ) with H1=H1{a} and ((s,H1,ϕ),(s,H2,ϕ)).

    • |H2{a}|>N and (H2{a})supp(s,ϕ)H2H2{a} with |H2|=N+1. We note that supp(s)supp(s){a} and supp(ϕ)=supp(ϕ){a}, and examine the case where H2H1:

      (H1{a})supp(s,ϕ) =((H1{a})supp(s,ϕ))({a}supp(s,ϕ))
      (H2supp(s,ϕ))({a}supp(s,ϕ))H2

      If H2=H1, the move can be matched by (s,H1,ϕ)(s,H1,ϕ) with H1=H1{a} and ((s,H1,ϕ),(s,H2,ϕ)). Suppose that H2H1. By the well-bounding relation, supp()(H1H2)= as supp()supp(ϕ). Therefore, this can also be matched by (s,H1,ϕ)(s,H1,ϕ) with H1=H1{a} and ((s,H1,ϕ),(s,H2,ϕ)).

  • (μX(x).ϕ)(a): in 𝒢, the only move is (s,H1,ϕ)(s,H1,(ϕ{μX(x).ϕ/X}){a/x}). As H1 does not change and supp(ϕ,s)=supp((ϕ{μX(x).ϕ/X}){a/x}), then this can be matched by the only move in 𝒢N, i.e. (s,H2,ϕ)(s,H2,(ϕ{μX(x).ϕ/X}){a/x}) with ((s,H1,(ϕ{μX(x).ϕ/X}){a/x}),(s,H2,(ϕ{μX(x).ϕ/X}){a/x})).

The remaining cases can be shown similarly to the ones above.

Theorem 41. [Restated, see original statement.]

Let be a fresh-orbit-finite FLTS with n orbits and set of states 𝒮, with register index r, and let ϕ0 be a μFHML closed formula with maximum alternation depth d. Then, the time complexity of model checking ϕ0 on some configuration in is in
O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6 +(|ϕ0|+Φ+r)max(M(ϕ0)+r,𝗇𝖽𝖻)(n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)2)

If (|ϕ0|+Φ+r)max(M(ϕ0)+r,𝗇𝖽𝖻)O((n|ϕ0|(|ϕ0|)!|supp(ϕ0)|!(M(ϕ0)+r+1)|ϕ0|+1)4) then the bound can be simplified to O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6).

Proof.

To verify whether (s,H)𝒮^ satisfies ϕ0, we must check whether (s,H)ϕ0ξ0 where ξ0 is an empty 𝒰-variable assignment. First, we set ϕ=!(ϕ0), which (by Lemma 25) will have size bounded by |ϕ0|. From this, we can construct the orbits parity game 𝖮𝗋𝖻𝗌(𝒢N) of 𝒢N=𝒢N(,ϕ,s,H) where N=|ϕ0|+ϕ0+ri(𝒮), By Theorem 30, we have that if (s,H)ϕ0ξ0 then defender has a winning strategy from 𝒢=𝒢(,ϕ,s,H). Using Lemma 36, the relation (,ϕ,s,H)Pos(𝒢)×Pos(𝒢N) is a nom-bisimulation, and by Lemma 34 then defender wins in 𝒢 from (s,H,ξ0,ϕ) iff they win in 𝒢N from (s,H,ξ0,ϕ). Similarly, using Lemma 38 and Corollary 39 then defender wins from 𝒢N from (s,H,ξ0,ϕ) iff defender wins in 𝖮𝗋𝖻𝗌(𝒢N) from 𝕆(s,H,ξ0,ϕ). Then, by Lemma 40, 𝖮𝗋𝖻𝗌(𝒢N) can be constructed in:

O((|ϕ0|+Φ+N)max(N,𝗇𝖽𝖻)
(|𝒪(𝒮)||ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!(N+1)|supp(ϕ0)|+ϕ0+1(1+o(1)))2)

and has size:

n|ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!(N+1)|supp(ϕ0)|+ϕ0+1(1+o(1))

The winning regions of 𝖮𝗋𝖻𝗌(𝒢N) can be calculated in time bounded by (cf. [10]):

O((n|ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!(N+1)|supp(ϕ0)|+ϕ0+1)log(d)+6)

And so, the final complexity is in:
O((n|ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!(N+1)|supp(ϕ0)|+ϕ0+1)log(d)+6 +((|ϕ0|+Φ+N)max(N,𝗇𝖽𝖻)(n|ϕ0|(|supp(ϕ0)|+ϕ0)!|supp(ϕ0)|!(N+1)|supp(ϕ0)|+ϕ0+1)2))

Now, using N=M(ϕ0)+r and M(ϕ0)=|supp(ϕ0)|+ϕ0, we get:
O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6 +((|ϕ0|+Φ+M(ϕ0)+r)max(M(ϕ0)+r,𝗇𝖽𝖻)(n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)2))

and, as M(ϕ0)|ϕ0|:
O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6 +((|ϕ0|+Φ+r)max(M(ϕ0)+r,𝗇𝖽𝖻)(n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)2))

Finally, if (|ϕ0|+Φ+r)max(M(ϕ0)+r,𝗇𝖽𝖻)O((n|ϕ0|(|ϕ0|)!|supp(ϕ0)|!(M(ϕ0)+r+1)|ϕ0|+1)4) then we obtain the required simplified bound.

Appendix B Model-checking for the 𝝅-calculus

P(QR) (PQ)R PQ QP P0 P
P+(Q+R) (P+Q)+R P+Q Q+P P+0 P
νx.(PQ) Pνx.Q() νx.(P+Q) P+νx.Q() [a=a]P P
νx.νy.P νy.νx.P νx.P P() [a=b]P 0
Figure 1: Structural congruence for π-calculus (top, where () is the condition that x not free in P) and early reduction semantics (bottom). Symmetric versions of rules are omitted; where a,b appear in the same rule we assume ab.

The π-calculus is a paradigmatic process language for concurrent interactions involving name passing [30, 40]. The syntax of π-calculus processes is defined by the following grammar:

P,Q ::= 0π.Pνx.PP|QP+Q[u=v]P[uv]PA(u)
π ::=τu¯vu(x)
u,v ::=xa

where x,y, etc. range over a finite set of variables; A,B, etc. range over a countable set of process variables, while a,b, etc. are names. The constructs νx.P and u(x).P are binders (for x), and we use standard α-equivalence convention. Process variables are used to allow recursion by means of definitions of the form A(x)=P where P only contains free variables from x. By abuse of notation, we may use P,Q for process variables as well as processes, and we define variable-capture-avoiding substitutions P{u/v} in the usual way. Let us call a π-calculus process finitary if the processes it can reduce to are bounded in size up to structural congruence, where structural congruence is the least congruence relation satisfying the rules in Figure 1 (top). It is known that checking whether two processes are structurally congruent is GI-complete [25]. Let us write ΠSC(n) for the complexity of checking this for two processes of sizes bounded by n.

We next show that the semantics of any given π-calculus process can be induced by an FLTS. We focus on early semantics using the labels given by the following grammar:

α::=τaba¯ba¯(b).

The label τ corresponds to silent transitions, whereas ab corresponds to inputting name b on the channel named a. The last two sorts of label are for outputs: a¯b outputs name b on channel a, whereas a¯(b) outputs a fresh name b on channel a. We write 𝗇(α) for the set of names included in α, and similarly we write 𝗇(P) for the names appearing in a process P. It is convenient to have notation for bound/fresh names as well, setting 𝖻𝗇(a¯(b))={b} and 𝖻𝗇(α)= for any other α. The LTS is produced by the rules in Figure 1 (bottom).

We proceed to the translation to FLTS, where each state will be of the form (P,H), where P represents the process, and H represents all names that have been seen by the process so far, and where supp(P)=𝗇(P)H.

Definition 43.

Given a π-calculus process P, we define its FLTS to initially contain the configuration (P,n(P)) and be generated according to the rule:

(τ)=τ(ab)=(𝗂𝗇𝗉,ab)(a¯b)=(a¯(b))=(𝗈𝗎𝗍,𝖺𝖻)

For any process P, let us call PSC the set of all processes that P can reduce to up to structural congruence. Intuitively, each element of PSC is an equivalence classes [Q] of all processes that are structurally congruent to Q. Next, we set PR to be 𝒪(PSC), that is, the set of orbits of structurally congruent equivalence classes. With this, we are able to conclude with a time complexity bound for model checking π-calculus processes on μFHML.

Corollary 44.

Let P be a finitary π-calculus process with PR being the set of orbits of structurally congruent equivalence classes P can reduce to, and let ϕ0 be a μFHML formula. Furthermore, let us set:

  • B to be max{|Q|QPR},

  • n to be |𝒪(PR)|,

  • r to be max{|𝗇(Q)|QPR},

  • to be the FLTS derived from P following Definition 43.

Then, the time complexity of model checking ϕ0 on a configuration in is in:

O((n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)log(d)+6
+(|ϕ0|+ΠSC(B+cr)+r)max(M(ϕ0)+r,rn(r+M(ϕ0)))
(n|ϕ0|M(ϕ0)!|supp(ϕ0)|!(M(ϕ0)+r+1)M(ϕ0)+1)2)

with Φ(M(ϕ0))O(ΠSC(B+cr)+M(ϕ0)) for some constant c.

Proof.

The proof follows similarly to Theorem 41, here we justify our setting. By definition, for each QPR there must exist some Q𝒮 such that QQ, therefore we have that |𝒪(PR)|=|𝒪(𝒮)|. The value of r comes from the maximum number of names appearing in any formula in the reduction of P, thus representing the register index of 𝒮. We have that 𝗇𝖽𝖻rn(r+M(ϕ0)) as there can be at most rn next configurations out of a configuration on a given label , and constructing a new bounded configuration incurs cost O(r+M(ϕ0)). It remains to discuss the bound for Φ. To determine if two processes P1,P2 with |P1|,|P2|B are structurally congruent up to permutation, it suffices to determine that

νx1.νx2.νxr.τ.P1νx1.νx2.νxr.τ.P2

where each Pi is Pi with each of its fresh names aj substituted by xj. Thus, the new processes under examination will have size bounded by B+cr for some constant c, and so can be computed in ΠSC(B+cr). Thus, we obtain the time complexity for Φ(M(ϕ0)).