Quentin Peyras
email: quentin.peyras@onera.fr

Julien Brunel
email: julien.brunel@onera.fr

David Chemouil
email: david.chemouil@onera.fr

A Bounded Domain Property for an Expressive Fragment of First-Order Linear Temporal Logic

Keywords: 2012 ACM Subject Classification Theory of computation → Logic First-Order Linear Temporal Logic, Bounded Domain Property, Finite Domain Property, Decidability Digital Object Identifier 10.4230/LIPIcs.TIME.2019.15

First-Order Linear Temporal Logic (FOLTL) is well-suited to specify infinite-state systems. However, FOLTL satisfiability is not even semi-decidable, thus preventing automated verification. To address this, a possible track is to constrain specifications to a decidable fragment of FOLTL, but known fragments are too restricted to be usable in practice. In this paper, we exhibit various fragments of increasing scope that provide a pertinent basis for abstract specification of infinite-state systems. We show that these fragments enjoy the Bounded Domain Property (any satisfiable FOLTL formula has a model with a finite, bounded FO domain), which provides a basis for complete, automated verification by reduction to LTL satisfiability. Finally, we present a simple case study illustrating the applicability and limitations of our results.

Introduction

First-Order Logic (FO) has proven to be useful to reason about the structure of a system, i.e., the objects of the domain (which may be infinite), their relations and the properties they satisfy. Temporal logics, on the other hand, provide a natural way to specify the evolution of a system. First-Order Temporal Logics combine both dimensions and offer a flexible way of specifying systems with a rich structure, dynamic aspects and a possibly infinite number of states. First-Order Linear Temporal Logic (FOLTL) [START_REF] Kröger | Temporal Logic and State Systems[END_REF][START_REF] Gabbay | Many-Dimensional Modal Logics: Theory and Applications, chapter Fragments of first-order temporal logics[END_REF] is the most studied among those.

However, formally verifying these properties is hard since FOLTL is not even semidecidable. As we aim at verifying abstract specifications of infinite-state systems, a source of inspiration for the syntactic shape of fragments can be found in formal specification approaches such as Lamport's TLA + [START_REF] Lamport | Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers[END_REF] or the present authors' Electrum [START_REF] Brunel | The Electrum Analyzer: Model Checking Relational First-Order Temporal Specifications[END_REF][START_REF] Macedo | Lightweight Specification and Analysis of Dynamic Systems with Rich Configurations[END_REF]. In the latter for instance, a specification typically has the following form (ignoring relational and data structuring features):

spec = init ∧ G trans ∧ fair → prop
where:

init is an FO formula that expresses initial conditions of the system; trans is an FOLTL formula that describes the system transitions and that only includes the LTL connective X (next) and first-order quantifiers; fair is an FOLTL formula, which expresses fairness conditions and thus includes nested LTL connectives G (always) and F (eventually); prop is an FOLTL formula that expresses a property expected of the system under specification. It is in principle arbitrarily complex but, in practice, for a large class of systems, it often remains in a relatively simple fragment of FOLTL.

Checking the validity of spec (|= spec) can be reduced to verifying that ¬spec is unsatisfiable (UNSAT FOLTL (¬spec)), with ¬spec = init ∧ G trans ∧ fair ∧ ¬prop. Typically, however, ¬spec does not belong to any formerly known decidable fragment of FOLTL.

Our main contribution is precisely to devise some novel decidable fragments of FOLTL encompassing formulas of the shape ¬spec.

We introduce in particular the Geneva1 fragment, which consists of the set of NNF formulas of shape ψ ∧ G(φ), where ψ is an FOLTL formula featuring existential quantifiers only at the root and where universal sub-formulas do not contain temporal connectives; and where φ is an FOLTL formula featuring only X and F as temporal connectives and where universal sub-formulas do not contain temporal connectives.

In practice, we prove that this fragment and some variants enjoy the Bounded Domain Property (BDP): any satisfiable formula (in any of these fragments) admits a model with finite, bounded FO domain (where the bound depends on the shape of the formula) 2 . Remark that the bound does not apply to the temporal dimension of models, only to the FO domain.

Written in a contrapositive way, provided ¬spec belongs to one of these fragments, there is a bound k such that UNSAT FOLTL (¬spec) can be reduced to UNSAT k FOLTL (¬spec), where UNSAT k FOLTL means unsatisfiability in interpretation structures with FO domain of size k. Using this bound k, the FOLTL formula spec can be expanded into a plain LTL formula spec (by unfolding quantifiers over the bounded domain). This way, the UNSAT k FOLTL (¬spec) problem is itself reduced to an UNSAT LTL (¬spec ). As LTL satisfiability is decidable, this ultimately yields a complete, automated decision procedure for the original problem.

Additionally, we make the following two remarks: for several of our fragments, the bound is linear in the size of formulas and exponential in certain formula-related criteria that are usually small in practice; for several fragments, the characterized bound is effectively reached, in the sense that UNSAT FOLTL (¬spec) can even be reduced to UNSAT =k FOLTL (¬spec), which can in practice be leveraged to produce a smaller LTL formula to check for unsatisfiability.

The remainder of the article is organized as follows. In Sect. 2, we provide preliminary definitions about FOLTL. In Sect. 3, we exhibit axioms of infinity, i.e. formulas that do not enjoy the FDP, in order to guide the search for logical fragments enjoying the BDP. Then we state some lemmas useful for subsequent proofs. In Sect. 4, we provide a step-by-step definition of a fragment of FOLTL that is relevant in the context of system specification. We establish that it enjoys the FDP and exhibit a bound on the FO domain. Then we illustrate our method on a toy example in Sect 5. Finally, we draw a comparison with other work in Sect. 6.

2

Syntax and Semantics of FOLTL

FOLTL

The basic vocabulary of FOLTL is defined out of a signature Σ = (F, R) where

F = (F i ) i∈N (resp. R = (R i ) i∈N
) is a family of sets of function (resp. predicate) symbols), with F i (resp. R i ) the set of function (resp. predicate) symbols of arity i. We write Const for the set F 0 of constant symbols. Given a set V of variables, the set T Σ,V of terms over Σ and V is defined in the usual way. Terms in T Σ,∅ are called closed terms.

Definition 1 (Formulas). Given a signature Σ = (F, R) and a set of variables V, FOLTL formulas over Σ and V are defined inductively by the following grammar (with x ∈ V, r ∈ R n and every t i in T Σ,V ):

ψ ::= r(t 1 , . . . , t n ) | ¬ψ | ψ ∨ ψ | X ψ | ψ U ψ | ∀x • ψ | ∃x • ψ
X and U stand for the "next" and "until" connectives. We also extend the set of temporal connectives by defining "eventually" as F ψ = U ψ, "always" as G ψ = ¬ F(¬ψ) and "releases" as ψ 1 R ψ 2 = ¬((¬ψ 1 ) U (¬ψ 2 )). Similarly, classical propositional connectives ∧, ⇒ and ⇔ are defined in the natural way.

Additionally, we write ψ[x] for a formula ψ having x as a free variable. We write FV(φ) for the set of free variables of a formula, defined in the obvious way. Also, a formula φ is said to be closed if FV(φ) = ∅. Given a formula ψ, we write T ψ for the set of terms, including sub-terms, appearing in ψ.

Classically, a formula is in negation normal form (NNF) if negations only appear in front of predicate symbols. We denote by LTL Σ,V the set of FOLTL formulas, built over Σ with variables in V, that do not contain any first-order quantifier. We write LTL Σ,V (X) (resp. LTL Σ,V (X, F)) for the set of formulas from LTL Σ,V that are in NNF and that contain no other temporal connective than X (resp. X and F).

A formula l is called literal if l = r(t 1 , . . . , t n ) or l = ¬r(t 1 , . . . , t n ) where x ∈ V, r ∈ R n and every t i in T Σ,V ).
We now introduce the semantics of FOLTL. In the interpretation structures defined below, the interpretation of predicates varies over time while that of function symbols does not. Notice we rely on the Kleene star in the definition. Remark 3 (Type of ρ). Usually, FOLTL structures would be defined with ρ a function N × R → P(D ) mapping at any instant a predicate to the set of tuples (of the domain) satisfying it. We turn this definition upside down, which is trivially equivalent to the classical one, to simplify the presentation of forthcoming definitions (in particular, partial structures introduced in Def. 10) and proofs.

Definition 4 (Assignment). An assignment C in a domain D for variables in V is a map V → D. We write C[x → d] the assignment defined as C[x → d](x) = d and C[x → d](y) = C(y) if y = x.
The extension of C to terms, also written C, is defined in the obvious way. Definition 5 (Satisfaction). Given a structure M = (D, σ, ρ) and an assignment C, the satisfaction relation is defined by induction on formulas, for any i ∈ N, as follows: Remark 7 (BDP and decidability). For pure FO, if a fragment enjoys the FDP (usually called the Finite Model Property), then it is decidable. As FOLTL is not recursively enumerable (contrary to FO), the FDP does not suffice to show decidability of a given fragment, while the BDP does.

M, i, C r(t 1 , . . . , t n ) iff r ∈ ρ i (C(t 1 ), . . . , C(t n )); M, i, C ¬φ iff M, i, C φ; M, i, C φ 1 ∨ φ 2 iff M, i, C φ 1 or M, i, C φ 2 ; M, i, C X φ iff M, i + 1, C φ; M, i, C φ 1 U φ 2 iff
Remark 8 (BDP and complexity). If a fragment enjoys the BDP, then from the expression of the bound on the domain, we can easily deduce an upper bound of the complexity of satisfiability for this fragment, using the results from [START_REF] Kuperberg | On Finite Domains in First-Order Linear Temporal Logic[END_REF]. Indeed, in [START_REF] Kuperberg | On Finite Domains in First-Order Linear Temporal Logic[END_REF], the complexity of the satisfiability problem on bounded models is studied for full FOLTL.

Example 9. The following fragments of FO enjoy the FDP (following the book and notations of Börger et al. [3]):

[∃ ∀ , all] = (Ramsey 1930) the class of formulas with quantifier prefix ∃ ∀ , without function symbols, with arbitrary predicate symbols, with equality.

[∃ , all, all] = (Gurevich 1976) the class of formulas with quantifier prefix ∃ , with arbitrary predicate and function symbols, with equality.

Partial Structures

We defined the notion of structures for FOLTL, however proving the BDP requires to define a model in several steps. Indeed, we will need to define predicate interpretations for a finite numbers of instants, and to define the truth values of predicates for the remaining time later on. This is clumsy to do with structures since we will need to redefine the entire structure at each step. For this reason, we introduce a notion of partial structures, which is easier to handle.

Definition 10 (Partial (interpretation) structures). A partial (interpretation) structure M (over Σ) is a triple (D, σ, ρ) satisfying the same conditions as in Def. 2 except that ρ is a partial function. We denote by ρ i ( x) = ⊥ the fact that ρ is not defined on the pair (i, x).

Structures are then the maximal elements of the set of partial structures for the following partial order.

Definition 11 (Extension ordering of partial structures).

Given two partial structures M = (D, σ, ρ) and M = (D , σ , ρ ), we define the partial order over partial structures as follows:

M extends M, written M M , iff D = D , σ = σ , and ρ i ( a) = ⊥ implies ρ i ( a) = ρ i ( a).
This allows a natural generalization of satisfaction to partial structures by saying that a partial structure satisfies a formula if all its extensions that are structures satisfy it.

Definition 12 (Semantics over partial structures I). Given a partial structure M, we say that M, i, C φ iff for all structure M s.t. M M , we have M , i, C φ.

There is another, natural way to define the semantics over partial structures. We introduce it as it will be required in forthcoming proofs. This semantics can be defined by induction on formulas in NNF. Such a restriction is necessary because we cannot evaluate the truth value of ¬φ out of that of φ, therefore we cannot define a general semantics for the "not" connective. This is because if a partial structure can be extended to either satisfy φ or satisfy ¬φ, then this partial structure satisfies neither of these formulas.

Definition 13 (Semantics over partial structures II). Given a partial structure M = (D, σ, ρ) and an assignment C, the satisfaction relation is defined by induction on formulas in negation normal form (NNF), for all non-negative integers i as follows:

M, i, C r(t 1 , . . . , t n ) iff r ∈ ρ i (C(t 1 ), . . . , C(t n )). M, i, C ¬r(t 1 , . . . , t n ) iff ρ i (C(t 1 ), . . . , C(t n )) = ⊥ and r ∈ ρ i (C(t 1 ), . . . , C(t n )). M, i, C φ 1 ∧ φ 2 if and only if M, i, C φ 1 and M, i, C φ 2 . M, i, C φ 1 ∨ φ 2 if and only if M, i, C φ 1 or M, i, C φ 2 . M, i, C X φ iff M, i + 1, C φ. M, i, C φ 1 U φ 2 iff there exists k ∈ N s.t. M, i + k, C φ 2 and for every integer 0 ≤ j < k, we have M, i + j, C φ 1 . M, i, C φ 1 R φ 2 iff for each k ∈ N M, i + k, C φ 2 or there exists an integer j s.t. M, i + j, C φ 1 and for every integer 0 ≤ k ≤ j, M, i + k, C φ 2 . M, i, C ∃y • φ(y) if and only if there exists d ∈ D s.t. M, i, C[y → d] φ(y). M, i, C ∀x • φ(x) if and only if for every d ∈ D, we have M, i, C[x → d] φ(x).
ρ j ( d ) = ρ j ( d ) if (j, d ) = (i, d). Notice that M[(i, d) → A] is an extension of M.
T I M E 2 0 1 9 15:6 A Bounded Domain Property for an Expressive Fragment of FOLTL Some sort of induction is required to extend a partial structure for tuples over all instants of time. It is possible to proceed by extending a partial structure step-by-step using the previous definition. The result is then an increasing sequence of partial structures. Intuitively, it can be seen that such a sequence somehow converges to a partial structure where all steps of extension have been performed on it. The following definition formalizes this notion.

Definition 16 (Limit structure). Let (M k ) k∈N be a -increasing sequence of partial structures, with M k = (D, σ, ρ k ). Then we define the (partial) limit structure M ∞ = (D, σ, ρ ∞ ) s.t., for any i ∈ N and vector d ∈ D : [START_REF] Abadi | Decidable fragments of many-sorted logic[END_REF] if there exists k s.t.

ρ k i ( d) = ⊥, then ρ ∞ i ( d) = ρ k i ( d); (2) if for every k ∈ N we have ρ k i ( d) = ⊥, then ρ ∞ i ( d) = ⊥.
As we focus on the BDP, we aim at building a domain-finite model of a formula out of any structure satisfying it. However, to ensure that we have a general method working for a fragment as expressive as possible, we need to make this domain-finite model as similar as possible to the original one. For this reason, we define the following notion of partial embedding. Informally, this embedding between two partial structures expresses that any element of the domain of the former has, for each instant, an equivalent element in the domain of the latter, meaning they satisfy the same predicates. In the case of n-ary predicates, two tuples with one-to-one equivalent elements are considered equivalent, so they satisfy the same predicates. A partial embedding is used to deduce information about the satisfaction of non-temporal universally quantified properties at some particular instant.

Definition 17 (Partial embedding). Let M 0 = (D 0 , σ 0 , ρ 0 ), M 1 = (D 1 , σ 1 , ρ 1 ) be two partial structures and f : N × D 0 D 1 be a partial function. We say that f is a (partial)

embedding from M 0 to M 1 , denoted M 0 f → M 1 , if there exists m ∈ N s.t.: for each c ∈ Const, each i ∈ N, we have f i (σ 0 (c)) = σ 1 (c); for each g ∈ F n (n > 0), d ∈ D n 0 , and each i ∈ N s.t. f i ( d) = ⊥ 3 , f i (σ 0 (g)( d)) = σ 1 (g)(f i ( d)); and for each d ∈ D 0 and each i ∈ N, if f i+m ( d) = ⊥ then ρ 0 i ( d) = ρ 1 i (f i+m ( d)), otherwise ρ 0 i ( d) = ⊥.

Preliminary Results

Here we exhibit various formulas of FOLTL that do not enjoy the FDP, which hints on possible directions to find a fragment that does enjoy it. Then, we introduce some technical lemmas about elementary fragments of FOLTL, which will be useful to establish the BDP of the fragments studied in Sect. 4.

Axioms of Infinity

In this section, we report on various ways not to enjoy the FDP. Our study of FOLTL fragments was partly guided by the need to avoid syntactic fragments. We call axiom of infinity an FOLTL formula that does not satisfy the FDP. Finding such axioms is easy, even with strong constraints on first-order quantifiers. Due to some results from [START_REF] Kuperberg | On Finite Domains in First-Order Linear Temporal Logic[END_REF], we start our study with formulas featuring existential quantifiers. For instance, the following axiom of infinity involves only one existential quantifier: G(∃y • P (y) ∧ X G ¬P (y)). Indeed, to satisfy this formula, we need to find some element in the domain satisfying P at each instant of time; however this element will never satisfy P again so an infinite domain is needed to pick a different element at every instant.

It then appears that existential quantification under a G connective can be problematic. However, this problem occurs only when several nested G connectives appear in the formula. Notice that nesting G connectives is often unnecessary in practical system specifications.

Therefore let us now focus on cases where we have a formula of the form G(∃y • ψ[y]) where ψ does not contain any G or first-order quantifier.

Now, what about universal quantification? Unfortunately, even with a prefix within the Ramsey fragment, axioms of infinity can be found, such as the following: G(∃y∀x • ¬P (y) ∧ X P (y) ∧ (P (x) ⇒ X P (x))). Here, the universal quantifier allows us to specify by induction that any element in the domain used for the existential quantifier satisfies G P (y). This is actually similar to the first axiom. In order to avoid this behaviour, a new restriction is needed. A possibility is to forbid the use of temporal connectives under the scope of a universal quantifier.

Another issue lies in the use of constant predicates (predicates whose value does not change along time). Assume we are given a constant order < (axiomatized by universally quantified formula without temporal connectives). Then the following formula defines an axiom of infinity: G(∃y • P (y) ∧ X(∀x • P (x) ⇒ y < x)). Indeed it forces at each instant the existence of an element in the domain which is greater than all elements that have already been used. Satisfying the formula then requires to have an infinite domain.

Thus, to obtain a fragment enjoying the BDP, one should at least: forbid nested G connectives; forbid temporal connectives under the scope of a universal quantifier; and forbid constant predicates if universal quantifiers are allowed.

Preliminary Lemmas

We now introduce lemmas that are basic elements of the BDP proof for the FOLTL fragments studied in this article.

The following lemma allows us to consider a formula with a well-suited syntactic form for the upcoming proofs (without impact on computed bounds). Indeed, we will need to define interpretations of predicates such that a formula is true at every instant. However, in case of a disjunction, there may be various ways to satisfy a formula. For example, consider φ = (a ⇒ X b) ∧ (a ⇒ F c); in this case, at every instant, φ may be satisfied by having ¬a or X b ∧ F c. So we transform φ into a disjunctive normal form allowing us to differentiate and pick in which way it can be satisfied. In the case of φ, we obtain (¬a) ∨ (X b ∧ F c). Within each disjunct, we distinguish between the sub-formulas under an F connective (which need to be satisfied at an unspecified instant) and the other ones (which need to be satisfied at a specified number of instants, depending on the number of nested X connectives).

Lemma 18 (Disjunctive normal form (DNF)). If φ is a formula in LTL Σ,V (X, F) then there exists ψ ≡ φ s.t.: [START_REF] Abadi | Decidable fragments of many-sorted logic[END_REF]

ψ is a disjunction of the form ψ 1 ∨ . . . ∨ ψ n (notice that each ψ i is in NNF); (2) Each ψ i is a conjunction of the form α i ∧ F β i,1 ∧ . . . ∧ F β i,j , with α i = X ni,1
i,1 ∧ . . . ∧ X n i,k i i,ki (writing X n for a sequence of n X connectives) and where each i,k is a literal and each β i,k is in LTL Σ,V (X, F).

Remark 19 (Inocuity of the DNF transformation). The transformation of a formula into DNF induces an exponential blow-up. In this paper, it is only used to prove the BDP of the considered fragments: since the considered bounds are not affected by the transformation in DNF, the blow-up does not influence the complexity of the decision procedure.

T I M E 2 0 1 9 15:8 A Bounded Domain Property for an Expressive Fragment of FOLTL

The size of the finite model resulting from the construction presented in this paper depends on the depth of nested X connectives. For example, there is a structure of size 1 satisfying G(∃y • P (y)). However any structure satisfying G(∃y • P (y) ∧ X(¬P (y)) ∧ X X(¬P (y)) is at least of size 3. This depends on the number of instants it refers to using X connectives: Definition 20 (Stride of a formula). Given a formula φ in DNF, we define its stride K φ as the maximal depth of nested X connectives not under an F, that is

K φ = max i=1..n max j=1..ki n i,j
(with n i,j following the notations of Lemma 18).

The following lemma applies to formulas containing only X and F connectives, as well as featuring only existential quantification over a single variable. Given such a formula, a model of this formula and a partial structure where constant symbols are interpreted as in the model of the formula, the lemma states that we can extend this partial structure into a partial model of the formula by providing an interpretation for the predicates (1) for a finite set of instants only and ( 2) over a single element in the domain.

k = k + K ψ + 1 if ψ ∈ LTL Σ,{y} (X)) and a structure M 1 = (D, σ 1 , ρ 1 ) satisfying: M 1 f 1 → M for some f 1 , for any x ∈ D and any i ≥ k , f 1 i (x) = ⊥ iff x ∈ σ 1 (T Σ,∅ ), for any i ∈ N s.t. k ≤ i < k , and any x ∈ D, x = a implies f 0 i (x) = f 1 i (x), M 0 M 1 , M 1 , k, [y → a] ψ[y].
Proof. First notice that the truth value of a formula in LTL Σ,{y} (X, F) can be determined by only "looking at" a finite set of instants I, in the sense that changing the interpretation of predicates outside I does not change the truth value of the formula. This can be shown for instance by induction on the number of nested F.

Let ψ be a formula in LTL Σ,{y} (X, F)

s.t. M, k |= ∃y • ψ[y].
Let k be the greatest instant in the set I as introduced above. Let d be an element in the domain such that

M, k, [y → d] |= ψ[y]. Then, we can extend M 0 into M 1 in a way s.t. f 1 i (a) = d and ρ 1 i (a) = ρ i (d) for i ∈ [k, k ].
The next lemma focuses on formulas containing X connectives only. It establishes that formulas of the form G(∃y • ψ), where the only temporal connective in ψ is X, enjoy the BDP. However, this lemma is formulated in a more suitable way for the proof of Theorem 26. In particular, we limit the result to a finite temporal window

[k 1 , k 2 ]. Lemma 22. Assume that there exists k 1 , k 2 ∈ N s.t. for any integer i ∈ [k 1 , k 2 ] we have M, i ∃y • α[y],
where α ∈ LTL Σ,{y} (X). Let M 0 be a partial structure s.t. M 0 f 0 → M for some f 0 , and there exists A = {a 0 , . . . , a Kα } s.t. for each integer j ∈ [k 1 , k 2 + K α ] and all a ∈ A, we have f 0 j (a) = ⊥. Then there exists M 1 s.t.:

M 1 f1 → M for some f 1 ; M 0 M 1 ; f 1 j (x) = f 0 j (x) implies that j ∈ [k 1 , k 2 + K α ] and x ∈ A; For any i ∈ [k 1 , k 2 ], there exists m ≤ K α s.t. M 1 , i, [y → a m ] α[y].

Proof.

Let α be a formula in LTL Σ,{y} (X). We prove the theorem by induction over k 2 .

If Let us build a finite partial model of this formula. Following the semantics of FOLTL, for any k ∈ N, there is some a k in the domain of M s.t. M, k, [y → a k ] |= P (y) ∧ X ¬P (y). So, for any k ∈ N, P ∈ ρ k (a k ) and P / ∈ ρ k+1 (a k ). Consider the constraints a 0 , a 1 and a 2 must satisfy: a 0 has constraints only at instants 0 (to satisfy P ) and 1 (not to satisfy P ); a 1 only has some constraints at instants 1 and 2; and a 2 only has some constraints at instants 2 and 3. Thus, we can reuse a 0 to play the role of a 2 at instants 2 and 3, as shown in Fig. 1.

k 1 = k 2 then
Then ψ can be satisfied for the first three instants with only two elements in the domain. By the same argument, we can reuse a 1 instead of using a 3 . This can be generalized to reuse a 0 (resp. a 1 ) instead of every a k , where k is an even (resp. odd) number. We then see that we can satisfy our formula with a structure of size 2. Let us call d 0 and d 1 the corresponding elements of the domain. Let us define a first structure M 0 = (D, σ, ρ 0 ), where D = {d 0 , d 1 }, σ is an empty map (since there is no function symbols in ψ) and ρ 0 is defined as the partial function that is undefined over all entries. Now let us define

M i+1 from M i . If i is even then m = 0, else m = 1 then Lemma 21 gives us M k+1 = M k [(k, d m ) → {P }][(k + 1, d m ) → ∅]. Then we have M k+1 , k, [y → d m ] ψ[y].
We get a -increasing sequence (M i ) i∈N , the limit structure of which (M ∞ ) is illustrated in Fig. 2. Since for any integer k,

M k+1 , k, [y → d 0 ] ψ[y] or M k+1 , k, [y → d 1 ] ψ[y], we have that M ∞ , k G(∃y • ψ[y]).
The reasoning that we had for this particular example can be easily generalized for any formula of the form G(∃y • ψ[y]) where ψ ∈ LT L Σ,{y} (X). We then get a partial model of the formula with a domain of size K ψ + 1.

T I M E 2 0 1 9 15:10 A Bounded Domain Property for an Expressive Fragment of FOLTL

Now, we want to extend the fragment to allow for the temporal connective F in ψ. Suppose that there is a model M of φ = G(∃y • ψ[y]) and that ψ = ψ 1 ∨ . . . ∨ ψ n is in DNF, as in Lemma 18. Also suppose that several ψ i have the form F ψ i . Then, some of these F ψ i can be true at a finite number of instants in M, which makes it complicated to build a finite partial model of φ. The following lemma states that we can get rid of such F ψ i .

Lemma 24. Let M be a partial structure satisfying M, 0 G(ψ 1 ∨ ψ 2 ) ∧ ¬ G F(ψ 2 ). Then

Finite Domain Property

We now present our main results. We start in Sect. 4.1 with the BDP of our core fragment, limited to a single existential quantifier and without functions. In Sect. 4.2, we establish the BDP for extended fragments including functions and first-order quantifiers used in a restricted way. In Sect. 4.3, we study how these fragments can be extended with equality.

Core Theorem

Theorem 26 says that given a formula φ (1) in NNF, (2) with only one existential quantifier, (3) containing no other temporal connectives than X and F, (4) without function symbols other than constants, (5) with only unary predicates, then G φ enjoys the BDP. Most of these restrictions are unnecessary for the BDP but, while keeping the main ideas of the proof, they make it simpler to understand. Releasing them will lead to Theorem 28.

Definition 25. We say that φ ∈ Gur -(X, F) (for "Gurevich") if there exists a signature Σ = (F, R) s.t. [START_REF] Abadi | Decidable fragments of many-sorted logic[END_REF] for any n > 0, F n = ∅, (2) for any n > 1, R n = ∅ and (3) there exists ψ ∈ LTL Σ,{y} (X, F) s.t. φ = ∃y • ψ.

Theorem 26. If φ is a formula in Gur -(X, F), then G φ enjoys the FDP. Moreover, if G φ is satisfiable, it has a model of size |Const| + 2 × (K ψ + 1).

Proof. Let us consider that ψ ∈ LTL Σ,{y} (X, F). By using Lemma 18, w.l.o.g., we consider ψ in DNF: ψ = ψ 1 ∨ . . . ∨ ψ m . Considering a model M of G(∃y • ψ [y]), some ψ i are satisfied at an infinite number of instants. Let us consider that ψ 1 , . . . , ψ n are satisfied at an infinite number of instants and ψ n+1 , . . . , ψ m are satisfied at a finite number of instants. Then by application of Lemma 24, there is a structure M satisfying: M, 0 G(∃y

• ψ 1 [y] ∨ . . . ∨ ψ n [y]).
Let us write ψ = ψ 1 ∨ . . . ∨ ψ n and remind that each ψ i is in NNF and each ψ i is of the form

α i ∧ F β i,1 ∧ . . . ∧ F β i,ji where α i = X ni,1 i,1 ∧ . . . ∧ X n i,k i i,ki . We introduce α = n =1 α and β = n =1 j p=1 F β ,p .
The main step of the proof consists in defining a sequence (M i , f i , k i ) i∈N where, for each i ∈ N:

M i is a partial structure, M i f i → M and M i M i+1 , up to instant k i -1, M i+1 coincides with M i , M i is built as an extension of M i-1 s.t. for each k < k i-1 M i , k |= ∃y • ψ[y], the limit M ∞ satisfies G(∃y • ψ[y]) at instant 0.
Notice that ¬Safety ≡ ∃x • F(notified(x) ∧ X ¬notified(x)), therefore an equisatisfiable formula can be obtained by Skolemization: SkNegSafety := F(notified(c) ∧ X ¬notified(c)). However ϕ := Ring ∧ Trans ∧ SkNegSafety is not in any of our fragments because of the universal quantification over Same(z), which is a temporal formula, and because of the use of equality.

We now devise a more abstract specification of the protocol which is a semantic consequence of ϕ that fits into the fragment of Theorem 36. First, we get rid of equality: we use an equivalence predicate ≈ instead, which can be axiomatized (using a formula Eq) in our fragment (notice that the semantics of ≈ may vary over time). Second, we get rid of the universal quantifier over z. To do that, a solution is to instantiate the variable z for the values x and c, which yields: Send(x) := (∃y

• succ(x, y) ∧ (notified(x) ⇒ X notified(y)) ∧ (¬notified(x) ⇒ Same(y)) ∧ (x ≈ y ∨ Same(x)) ∧ c ≈ y ∨ Same(c)) ∧ (c ≈ y ⇔ X c ≈ y)).
Notice it is necessary to add c ≈ y ⇔ X c ≈ y in the previous formula. Indeed, ≈ is not necessarily constant so it would be possible to have that c ≈ y and ¬ X c ≈ y and, in this case, no constraint would apply to the truth value of X notified(c). Then, it is possible to define an abstraction by the following formulas: Trans := G(∃p • Send(p)) and AbsSatS := Eq ∧ Trans ∧ SkNegSafety.

It is easy to show that Ring ∧ Trans ∧ ¬Safety |= AbsSatS and that AbsSatS belongs to the Geneva fragment. Applying Theorem 36, we compute a size 5 for the domain. Using the Electrum tool, AbsSatS can be shown to be unsatisfiable for a domain of size 5, which ultimately proves the original property.

Liveness Property

An interesting liveness property to prove on the considered system is "all nodes eventually become notified", formalized as: Liveness := ∀x • F(notified(x)). This property can be shown under the assumption that all notified nodes eventually perform the send transition:

Progress := G(∀x • notified(x) ⇒ F Send(x)).
The complete abstraction that allows us to prove this liveness property is available with the full example specification. We basically need to Skolemize the negation of the liveness property and to instantiate the universally quantifiers that are out of our fragment with the Skolem constant. An axiom abstracting the ring topology needs to be added for proving the liveness property. In the end, the obtained formula fits into the fragment of Theorem 36, which provides the domain size 6. The formula can be shown in Electrum to be unsatisfiable for a domain of size 6, which proves the property.

Related Work

In [START_REF] Kuperberg | On Finite Domains in First-Order Linear Temporal Logic[END_REF], Kuperberg and the last two authors of the present article show that the FDP for some FO fragments can be lifted to some FOLTL fragments. However, they only allow to add X and F connectives, which is not enough for real specifications. An extension of the Ramsey fragment is also proposed, allowing the use of all temporal connectives, but preventing existential quantifiers under a G.

The decidable monodic fragment studied by Hodkinson et al. [START_REF] Hodkinson | Decidable fragments of first-order temporal logics[END_REF][START_REF] Hodkinson | Monodic Fragments of First-Order Temporal Logics: 2000-2001 A.D. In Logic for Programming[END_REF] does not enjoy the FDP. Indeed, G(∃y • P (y) ∧ G(¬P (y))) belongs to the monodic extension of the Gurevich fragment (first-order formulas containing existential quantifiers only) but it is an axiom of infinity: the monodic fragment helps preserve decidability but says nothing about the FDP. Additionally, on the practical side, the monodic fragment limits the use of free variables in temporal formulas to only one, which does not really fit with real specifications of systems. Indeed, any transition system implying relations between different components (list of messages, topology of a network, etc) requires to be specified by using at least binary relations in the temporal transitions, thus breaking the monodicity condition.

Padon et al. [START_REF] Padon | Ivy: safety verification by interactive generalization[END_REF] propose yet another approach: they reduce specific temporal problems to FO and even, in many cases, to a decidable fragment of it. This method was improved in [START_REF] Oded Padon | Reducing liveness to safety in first-order logic[END_REF][START_REF] Oded Padon | Temporal Prophecy for Proving Temporal Properties of Infinite-State Systems[END_REF] to address the verification of liveness properties. It was implemented in the Ivy tool and gives good results in practice. However, it is not complete and it requires the user to understand rather deeply both the specified system and the verification technique itself. Additionally, the user must devise an inductive invariant manually.

Discussion

In the introduction, we drew as an inspiration for our work the following classical shape for specifications of systems and of their properties: spec = init ∧ G trans ∧ fair → prop (with trans using only the X connective). Checking the validity of spec amounts to assessing the satisfiability of ¬spec = init ∧G trans∧fair ∧¬prop. Our results then say this satisfiability can be decided provided ¬spec can written as ψ ∧G(φ) and respect the conditions of Theorems 31, 36 or 39. Beyond the obvious init and trans, one can see that, depending on their shape, fair and prop will have to be, possibly, split into sub-formulas, and then "dispatched" into either ψ or φ, or both. As an example, for prop, any combination of an F or G connective and of some quantification on a variable is acceptable, except for the shape ∃x • G(P (x)) (as we would have ¬prop = ∀x • F(¬P (x)), in which case ∀ would not appear as a leaf). Similarly, for a strong fairness property of the shape G F enabled → G F effect = F G ¬enabled ∨ G F effect, the disjunction distributes over the rest of the formula, and then enabled may only contain existential quantifiers at the leaves and universal ones at the root, and effect may only have universal quantifiers at the leaves (without any constraint on existential ones). This may sometimes be restrictive, in which case alternative expressions should be sought. Another limitation lies in the possible uses of (constant) equality: in our first experiments, we were often able to abstract it into a dynamic equivalence relation, as we did in Sect. 5. Now, if the specification falls into one of our fragments, then the bound on the domain is known (and even exact, without equality). To be sure, this bound grows exponentially but only in the number of F connectives under a G. This ultimately yields a decision procedure for the validity of spec. Notice that existing tools, such as our own Electrum [START_REF] Macedo | Lightweight Specification and Analysis of Dynamic Systems with Rich Configurations[END_REF], can readily be used to support it, as was shown in Sect. 5.

In the future, we will study ways to augment the expressiveness of our fragments to address some of the current limitations (e.g. fairness, equality). Apart from trying to extend the fragments themselves, we will also devise a many-sorted version thereof, in the spirit of [START_REF] Nelson | On the finite model property in order-sorted logic[END_REF][START_REF] Nelson | Toward a More Complete Alloy[END_REF][START_REF] Abadi | Decidable fragments of many-sorted logic[END_REF][START_REF] Padon | Ivy: safety verification by interactive generalization[END_REF], to extend their expressiveness and applicability and to fit the data structuring features of Electrum [START_REF] Macedo | Lightweight Specification and Analysis of Dynamic Systems with Rich Configurations[END_REF] more closely. We will also assess our approach on more realistic case studies. Finally, we will build on our results in the setting of complete, automated verification for system specification.

Lemma 14 (

 14 Equivalence of semantics). Given a partial structure M, a formula φ in NNF, k ∈ N and an assignment C, we have M, k, C φ iff M, k, C φ. Definition 15 (Enrichment of a structure). Given a partial structure M = (D, σ, ρ) s.t. ρ i ( d) = ⊥, we define the enrichment of M at instant i on tuple d for A ∈ P(R), written M[(i, d) → A], as the triple (D, σ, ρ ) where: ρ i ( d) = A and for any j ∈ N and any tuple d ,

Lemma 21 .

 21 Consider a formula ψ in LTL Σ,{y} (X, F) and a structure M = (D, σ, ρ) s.t. M, k ∃y • ψ[y] for some k ∈ N. Consider also a partial structure M 0 = (D, σ 0 , ρ 0 ) s.t. M 0 f 0 → M and s.t. there exists some a in D s.t. for each integer j ≥ k we have f 0 j (a) = ⊥. Then, there exists an integer k > k (where

  the result is reduced to lemma 21. Induction step: we assume that the statement of the lemma holds for [k 1 , k 2 ]. Now suppose that the premises of the lemma hold for [k 1 , k 2 + 1]. From induction hypothesis, we know that there exists M 1 satisfying the conclusion of the lemma for i ∈ [k 1 , k 2 ]. We can then extend M 1 by applying lemma 21 using instant k 2 + 1 and one element in A. Then the resulting structure satisfies the conclusion of the lemma for the set [k 1 , k 2 + 1]. Example 23. The main ideas of the proof of Lemma 22 are illustrated through an example. Let us consider the formula ψ[y] = P (y) ∧ X ¬P (y). For the sake of simplicity, instead of considering a finite temporal window [k 1 , k 2 ] among which ∃y • ψ[y] is satisfied, we consider a structure M s.t. for any k ∈ N, M, k |= ∃y • ψ[y], which is equivalent to M, 0 |= G(∃y • ψ[y]).

  there exists M s.t. M , 0 G(ψ 1 ) and M Id → M, with Id defined as Id(i, d) = d for all instant i and domain element d. Sketch. To get M from M, we simply make a translation in time, starting from the first instant k s.t. for any k k, M, k ¬ψ 2 .

T I M E 2 0 1 9 15:4 A Bounded Domain Property for an Expressive Fragment of FOLTL

  M is said to be domain-finite if D is finite. We also define the domain size (simply called size in the remainder of this paper) of M as |D|.

	Definition 2 ((Interpretation) Structure). Given a signature Σ = (F, R), an (interpretation)
	structure M (over Σ) is a triple (D, σ, ρ) where:
	D, called the domain, is a non-empty set.
	σ is a map s.t. for any c ∈ F 0 , σ(c) ∈ D, and for any f ∈ F n , σ(f ) : D n → D.
	ρ : N × D → P(R) is a map s.t. for any instant i ∈ N and any a = (a 1 . . . , a n ) ∈ D ,
	ρ i ( a) ⊆ R n .

  there exists k ∈ N s.t. M, i + k, C φ 2 and for every 0≤ j < k, we have M, i + j, C φ 1 ; M, i, C ∃y • φ iff there exists d ∈ D s.t. M, i, C[y → d] φ; M, i, C ∀x • φ iff for every d ∈ D, we have M, i, C[x → d] φ. Given a closed formula φ, we write M, k φ if M, k, [] φ, where [] is the empty assignment.Let φ, φ be two FOLTL formulas. If for any structure M and an assignment C, we have M, 0, C φ iff M, 0, C φ then we say that φ and φ are logically equivalent, written φ ≡ φ .

	Definition 6 (Finite Domain Property, Bounded Domain Property). A closed formula φ
	of FOLTL enjoys the finite domain property (FDP) if φ is not satisfiable, or there is a
	domain-finite structure M s.t. M, 0	φ. Additionally, if the bound is computable, the
	formula is said to enjoy the Bounded Domain Property (BDP). A fragment of a logic enjoys
	the FDP (resp. BDP) if every formula in this fragment does.

Figure 1

 1 First step of the partial structure construction.

		0	1	2	3	. . .			0	1	2	3	. . .
	a0	P	¬P	?	?	. . .		a0 = a2	P	¬P	P	¬P	. . .
	a1	?	P	¬P	?	. . .	--→	a1	?	P	¬P	?	. . .
	a2	?	?	P	¬P	. . .		. . .	. . .	. . .	. . .	. . .
	. . . . . .	. . .	. . .	. . .
	Figure 2 Trace of M ∞ .
			0				1		2			3	. . .
	d0		P				¬P		P			¬P	. . .
	d1		?				P		¬P			P	. . .
		P (d0) ∧ X(¬P (d0)) P (d1) ∧ X(¬P (d1)) P (d0) ∧ X(¬P (d0))	. . .

Geneva is a mnemonic for "G, Exists, Next/Eventually, (for)All".

This work extends[START_REF] Kuperberg | On Finite Domains in First-Order Linear Temporal Logic[END_REF] where various simple fragments of FOLTL were studied. In particular, only one fragment including all LTL connectives, an extension of the classic Ramsey FO fragment (cf. Ex. 9), had been shown to enjoy the FDP.

f i ( d) = ⊥ denotes the fact that f i ( d) is defined

The complete Electrum specification is available at[START_REF] Peyras | Electrum specification of a toy notificiation system[END_REF]. Electrum is available at http://huit.re/ electrum/.

Funding Work partly financed by the European Regional Development Fund (ERDF) through the Operational Programme for Competitiveness and Internationalisation (COMPETE2020) and by National Funds through the Portuguese funding agency, Fundação para a Ciência e a Tecnologia (FCT) within project POCI-01-0145-FEDER-016826.

© Office national d'études et de recherches aérospatiales; licensed under Creative Commons

15:11

The domain D of the different structures consists of the union of the two disjoints sets D X = {d 0 , . . . , d K ψ } and D F = {e 0 , . . . e K ψ }, and of the set Const of constants. That is, D = D X ∪ D F ∪ Const.

For i = 0, M 0 and the partial function f 0 are defined by: (1) for any k ∈ N and a ∈ D X ∪ D F , f 0 k (a) = ⊥; and (2) M 0 f 0 → M. For any i > 0, let us now define M i , k i and f i . M i = (D, σ i , ρ i ) is defined as an extension of M i-1 in the following way. By application of Lemma 21, it is possible to extend M i-1 up to an instant k i and satisfy β for one value of the domain. Within the time interval [k i-1 , k i [, if i is an odd (resp. even) number, then M i is s.t. β is satisfied at instant k i-1 for any a ∈ D F (resp. any a ∈ D X ):

Now, by Lemma 22, if i is an odd (resp. even) number, we can extend

Following this definition, for any i ∈ N and any

The limit structure M ∞ of (M i ) i∈N is then a partial model of G(∃y • ψ[y]), and its domain D is finite, of size |Const| + 2 × (K ψ + 1).

Relaxing the Use of Quantifiers

The next theorem generalizes the previous result to formulas:

over n-ary predicates, with function symbols, and containing any number of existential quantifiers.

Definition 27. We say that φ ∈ Gur(X, F) if there exists a signature Σ and a formula ψ ∈ LTL Σ,{y1,...yn} (X, F) such that φ = ∃y 1 . . . y n • ψ.

Theorem 28. Given a formula φ in Gur(X, F), G φ enjoys the BDP. Denoting T φ the set of terms appearing in φ, then, if G(φ) is satisfiable, it has a model of size

The fragment used in Theorem 28 forbids formulas outside the scope of G. This prevents the specification of initial conditions. Proving the BDP for a fragment allowing such conditions requires to handle clauses in the DNF that are satisfied only a finite number of times, contrary to what we dealt with until then, using in particular Lemma 24. Theorem 31 states that we can actually extend the fragment used in Theorem 28 by adding a conjunct ψ to G(φ) which refers to the initial state (and more generally to a finite set of states). However, the bound of the domain is significantly larger.

Definition 29. Let us assume that φ is in the form given in Lemma 18. Then we write

Definition 30 (Genev fragment). We call Genev fragment the set of FOLTL formulas of shape

T I M E 2 0 1 9 15:12 A Bounded Domain Property for an Expressive Fragment of FOLTL

Let FO(∀) denote the fragment of purely universal FO formulas containing no other function symbols than constants. The next theorem extends Theorem 31 by allowing formulas of FO(∀) as leaves of the formula instead of basic predicates. However non-constant function symbols can not be used under the scope of a universal quantifier, since even the FO fragment of universally quantified formulas with non-restricted function symbols does not enjoy the FDP.

where θ has the following syntax:

and is a literal.

Remark 33. Notice in particular that a formula in FOLTL(∃↑, ∀↓) satisfies the following two conditions: (1) no existential quantifier is in the scope of a temporal operator, (2) no temporal operator is in the scope of a universal quantifier. This is the case, for example, of the following formula: ∃x, y • (∀z

Definition 34. FOLTL(X, F, ∀↓) is defined by the following grammar:

Definition 35 (Geneva fragment). We call Geneva fragment the set of FOLTL formulas of shape ψ ∧ G(φ) s.t. φ is a closed formula of FOLTL(X, F, ∀↓) and ψ is a closed formula of FOLTL(∃↑, ∀↓).

Theorem 36. The Geneva fragment enjoys the FDP. If ψ ∧ G(φ) is a satisfiable formula in this fragment, it has a model of size |(T

Extension with Equality

We now address the problem of adding the equality predicate to the previous fragments. The interpretation of equality is constant over time. As mentioned in Sect. 3.1, this could be a source of infinity axioms if universal quantification is allowed. We show that we can add equality to the ∀-free fragments of our previous theorems 26, 28, and 31 and still enjoy the BDP. However, the bound on the domain becomes much larger and not exact anymore. Definition 37. Given an FOLTL formula φ, we write Eq(φ) the set of equality tests of φ, i.e. the set of predicates of the form t 1 = t 2 in φ.

In the following, Gur = (X, F) (resp. LTL = Σ,V ) denotes Gur(X, F) (resp. LTL Σ,V ) augmented with equality. Theorem 38 (resp. 39) generalizes Theorem 28 (resp. 31).

Theorem 38. If φ is a formula of class Gur = (X, F) then G(φ) enjoys the FDP. Writing T φ for the set of terms appearing in φ, then if G(φ) is satisfiable, it has a model of size at most |T

Proof. Consider M a model of G(φ) where φ = ∃ y • ψ. Theorem 28 can be applied to this formula after replacing equality tests by . This operation yields a partial structure that we call M 0 . Now we want to use M 0 to build a model of G(φ). Building such a model requires that, at each instant i, it is possible to find a tuple of elements in the domain that: satisfies the same relations as the tuple used to satisfy existential quantifiers at instant i in M 0 ; satisfies the same equality relations as the tuple used to satisfy existential quantifiers at instant i in M.

This can be done by making 2 |Eq(φ)| copies of the domain of M 0 . Let us remember that this domain is an union of the tuples used to satisfy the existential quantifiers at different instants. Then, for each copy of each tuple, it is possible to define an equivalence relation between terms formed from this tuple. It requires to define these equivalence relations in order to cover all possibilities of interpretation for the equality relations appearing in φ, the number of possibilities being 2 |Eq(φ)| . Once this is done, quotienting each part of the domain by this relation gives a structure where there are tuples: satisfying the same relations as any of the tuple of the first built finite model; satisfying any possible subset of Eq(φ).

So at any instant it is only needed to look in the original model what equality tests of the formula were satisfied and to take the tuple in the appropriate copy of the domain.

Proof. The proof of Theorem 38 can easily be adapted to Theorem 39. Now, if we extend the fragment of Theorem 36 with equality, it becomes possible to use equality predicates in the scope of a universal quantifier. In that case, our approach does not stand anymore. Therefore, the question of generalizing Theorem 36 by adding equality remains open.

Toy Example: a Notification System

Here, a simple example of a notification system in a ring is presented to illustrate the expressiveness of the fragment 4 . The structure of the network is defined by a predicate succ relating a node to its successor, and a formula Ring specifying that succ forms a ring topology. The formula Ring is specified as proposed in [START_REF] Padon | Ivy: safety verification by interactive generalization[END_REF], with the use of a ternary predicate, in pure FO (without transitive closure). Each node x of the ring may be aware (notified(x)) of a certain piece of information, or not. Any node that has been notified may notify its successor (by sending a message), and other nodes do not change during this operation.

Same

Safety Property

Now consider the safety property "if a node is notified, it remains notified", described by the following formula: Safety := G(∀x • notified(x) ⇒ X notified(x)). Proving that our protocol ensures this property (Ring ∧ Trans |= Safety) amounts to proving that Ring ∧ Trans ∧ ¬Safety is unsatisfiable.