1 Introduction

The story of this paper begins with [7], where it was shown that the theory of algebraic datatypes, useful for modeling data structures like lists and trees, can be combined with any other theory, using the polite combination method [6]. This combination method offers a way to combine decisions procedures of two theories into a decision procedure for the combined theory, with different assumptions than those of the earlier Nelson-Oppen approach [4]. In particular, it was proven that the theory admits a technical property concerning cardinalities of models, called strong politeness [2]. It was noted in [7] that proving strong politeness for this theory seemed much harder than proving politeness, a similar but simpler property. Therefore, the proof was split into three steps: (i) a class of theories was identified in which politeness and strong politeness coincide; (ii) the theory of algebraic datatypes was shown to be in this class; and (iii) this theory was proven to be polite. This proof technique raised the following question: does politeness imply strong politeness? An affirmative answer to this question would simplify strong politeness proofs that follow such steps, as only the last step would be needed. Unfortunately, the answer to this question was shown in [8] to be negative, in its most general form. However, an affirmative answer was given for theories over one-sorted empty signatures, where politeness and strong politeness do coincide.

Seeing that relationships between model-theoretic properties of theories (like politeness and strong politeness) are non-trivial, and can have a big impact on proofs in the field of theory combination, we have recently initiated a more general research plan: to systematically determine the relationships between model-theoretic properties that relate to theory combination. An analysis of such properties can, for example, simplify proofs, in cases where a property follows from a combination of other properties.

In the first stage of this plan [10], we studied the relationships between all properties that relate to either polite or Nelson-Oppen combination, namely: stable infiniteness, smoothness, finite witnessability, strong finite witnessability, and convexity. The first two properties relate to the ability to enlarge cardinalities of models, while the next two require a computable witness function that restricts the models of a formula based on its variables. The last property relies on the ability to deduce an equality from a disjunction of equalities. The result of [10] was a comprehensive table: nearly every combination of these properties (e.g., theories that are smooth and stably infinite but do not admit the other properties) was either proved to be infeasible, or an example for it was given.

In this paper we continue with this plan by adding two properties: the finite model property and stable finiteness, both related to shiny theories [9]. The former requires finite models for satisfiable formulas, and the latter enforces bounds on them.

Of course, the theories from [10] can be reused. For these, one only needs to determine if they admit the finite model property and/or stable finiteness. The results and examples from [10] are, however, not enough. Given that the number of considered combinations is doubled with the addition of each property, new theories need to be introduced in order to exemplify the new possibilities, and new impossible combinations can be found. Hence, in this paper we provide several impossibility results for the aforementioned properties, as well as examples of theories for possible combinations. The overall result is a new table which extends that of [10] with two new columns corresponding to the finite model property and stable finiteness.Footnote 1

The most interesting combinations that we study are theories that admit the finite model property but not finite witnessability. While both properties deal with finite models, the latter has a computable element to it, namely the witness function. In separating these properties, we found it useful to define theories that are based on the Busy Beaver function, a well known function from computability theory, that is not only non-computable, but also grows eventually faster than any computable function.

Outline: Sect. 2 reviews many-sorted logics and theory combination properties. Section 3 identifies combinations that are contradictory; Sect. 4 constructs the extended table of combinations, and describes the newly introduced theories. Section 5 gives final remarks and future directions this work can take. The proofs for the results in this paper may be found in an appendix to a preprint version of this work, available as [11].

2 Preliminary Notions

2.1 Many-Sorted Logic

A many-sorted signature \(\varSigma \) is a triple \((\mathcal {S}_{\varSigma }, \mathcal {F}_{\varSigma }, \mathcal {P}_{\varSigma })\) where: \(\mathcal {S}_{\varSigma }\) is a countable set of sorts; \(\mathcal {F}_{\varSigma }\) is a countable set of function symbols; and \(\mathcal {P}_{\varSigma }\) is a countable set of predicate symbols containing, for each \(\sigma \in \mathcal {S}_{\varSigma }\), an equality \(=_{\sigma }\). When \(\sigma \) is clear from the context, we write \(=\). Every function symbol has an arity of the form \(\sigma _{1}\times \cdots \times \sigma _{n}\rightarrow \sigma \), and every predicate symbol one of the form \(\sigma _{1}\times \cdots \times \sigma _{n}\), where \(\sigma _{1}, \ldots , \sigma _{n}, \sigma \in \mathcal {S}_{\varSigma }\); equalities \(=_{\sigma }\) have arity \(\sigma \times \sigma \).

A signature that has no functions and only the equalities as predicates is called empty. Many-sorted signatures \(\varSigma \) where \(\mathcal {S}_{\varSigma }\) has only one element are called one-sorted.

For any sort in \(\mathcal {S}_{\varSigma }\) we assume a countably infinite set of variables, and distinct sorts have disjoint sets of variables; we then define first-order terms, formulas, and literals in the usual way. The set of free variables of sort \(\sigma \) in a formula \(\varphi \) is denoted by \(\textit{vars}_{\sigma }(\varphi )\), while \(\textit{vars}(\varphi )\) will denote \(\bigcup _{\sigma \in \mathcal {S}_{\varSigma }}\textit{vars}_{\sigma }(\varphi )\).

\(\varSigma \)-Structures \(\mathbb {A}\) are defined as usual, by interpreting sorts (denoted by \(\sigma ^{\mathbb {A}}\)), functions (\(f^{\mathbb {A}}\)) and predicate symbols (\(P^{\mathbb {A}}\)), with the restrictions that equality symbols are interpreted as identities. A \(\varSigma \)-interpretation \(\mathcal {A}\) is an extension of a \(\varSigma \)-structure \(\mathbb {A}\) with interpretations to variables. If \(\mathbb {A}\) is the underlying \(\varSigma \)-structure of a \(\varSigma \)-interpretation \(\mathcal {A}\), we say that \(\mathcal {A}\) is an interpretation on \(\mathbb {A}\). For simplicity, and because the use of structures is sparse in this paper, we will usually denote both structures and interpretations by using the same font, \(\mathcal {A}\), \(\mathcal {B}\) and so on. \(\alpha ^{\mathcal {A}}\) is the value taken by a \(\varSigma \)-term \(\alpha \) in a \(\varSigma \)-interpretation \(\mathcal {A}\), and if \(\varGamma \) is a set of terms, we simply write \(\varGamma ^{\mathcal {A}}\) for \(\{\alpha ^{\mathcal {A}} : \alpha \in \varGamma \}\).

We write \(\mathcal {A}\vDash \varphi \) if the \(\varSigma \)-interpretation \(\mathcal {A}\) satisfies the \(\varSigma \)-formula \(\varphi \); \(\varphi \) is then said to be satisfiable if it is satisfied by some interpretation \(\mathcal {A}\). The formulas found in Fig. 1 will be useful in the sequel. A \(\varSigma \)-interpretation \(\mathcal {A}\): satisfies \(\psi ^{\sigma }_{\ge n}\) iff \(|\sigma ^{\mathcal {A}}|\ge n\); satisfies \(\psi ^{\sigma }_{\le n}\) iff \(|\sigma ^{\mathcal {A}}|\le n\); and satisfies \(\psi ^{\sigma }_{= n}\) iff \(|\sigma ^{\mathcal {A}}|=n\). For simplicity, when dealing with one-sorted signatures, we may drop the sort \(\sigma \) from the cardinality formulas.

Fig. 1.
figure 1

Cardinality Formulas. \(\overrightarrow{x}\) stands for \(x_{1},\ldots ,x_{n}\), all variables of sort \(\sigma \).

A \(\varSigma \)-theory \(\mathcal {T}\) is a class of all \(\varSigma \)-interpretations (called \(\mathcal {T}\)-interpretations) that satisfy some set \(\textit{Ax}(\mathcal {T})\) of closed formulas called the axiomatization of \(\mathcal {T}\); the structures underlying these interpretations will be called the models of \(\mathcal {T}\).

A formula is \(\mathcal {T}\)-satisfiable if it is satisfied by some \(\mathcal {T}\)-interpretation and, analogously, a set of formulas is \(\mathcal {T}\)-satisfiable if there is a \(\mathcal {T}\)-interpretation that satisfies all of them simultaneously. Two formulas are \(\mathcal {T}\)-equivalent when a \(\mathcal {T}\)-interpretation satisfies the first iff it satisfies the second. We write \(\models _{\mathcal {T}}\varphi \), and say that \(\varphi \) is \(\mathcal {T}\)-valid if \(\mathcal {A}\vDash \varphi \) for all \(\mathcal {T}\)-interpretations \(\mathcal {A}\).

2.2 Theory Combination Properties

Let \(\varSigma \) be a signature, \(\mathcal {T}\) a \(\varSigma \)-theory and \(\mathcal {S}\subseteq \mathcal {S}_{\varSigma }\). We define several properties \(\mathcal {T}\) may have with respect to S.

Convexity, Stable Infiniteness, and Smoothness \(\mathcal {T}\) is convex with respect to S if for any conjunction of \(\varSigma \)-literals \(\phi \) and any finite set of variables \(\{u_{1}, v_{1},\ldots , u_{n}, v_{n}\}\) of sorts in S with \(\models _{\mathcal {T}}\phi \rightarrow \bigvee _{i=1}^{n}u_{i}=v_{i}\), one has \(\models _{\mathcal {T}}\phi \rightarrow u_{i}=v_{i}\) for some i. \(\mathcal {T}\) is stably infinite with respect to S if for every \(\mathcal {T}\)-satisfiable quantifier-free \(\varSigma \)-formula there is a \(\mathcal {T}\)-interpretation \(\mathcal {A}\) satisfying it such that \(|\sigma ^{\mathcal {A}}|\) is infinite for each \(\sigma \in S\). \(\mathcal {T}\) is smooth with respect to S if for every quantifier-free formula, \(\mathcal {T}\)-interpretation \(\mathcal {A}\) that satisfies it, and function \(\kappa \) from S to the class of cardinals such that \(\kappa (\sigma )\ge |\sigma ^{\mathcal {A}}|\) for each \(\sigma \in S\), there is a \(\mathcal {T}\)-interpretation \(\mathcal {B}\) that satisfies it with \(|\sigma ^{\mathcal {B}}|=\kappa (\sigma )\) for each \(\sigma \in S\).

(Strong) Finite witnessability For finite sets of variables \(V_{\sigma }\) of sort \(\sigma \) for each \(\sigma \in S\), and equivalence relations \(E_{\sigma }\) on \(V_{\sigma }\), the arrangement on \(V=\bigcup _{\sigma \in S}V_{\sigma }\) induced by \(E=\bigcup _{\sigma \in S}E_{\sigma }\), denoted by \(\delta _{V}\) or \(\delta _{V}^{E}\), is the formula \(\delta _{V}=\bigwedge _{\sigma \in S}\big [\bigwedge _{xE_{\sigma }y}(x=y)\wedge \bigwedge _{x\overline{E_{\sigma }}y}\lnot (x=y)\big ]\), where \(\overline{E_{\sigma }}\) denotes the complement of the equivalence relation \(E_{\sigma }\).

\(\mathcal {T}\) is finitely witnessable with respect to S when there exists a computable function \(\textit{wit}\), called a witness, from the quantifier-free \(\varSigma \)-formulas to themselves that satisfies, for every \(\phi \): (i\(\phi \) and \(\exists \, \overrightarrow{w}.\,\textit{wit}(\phi )\) are \(\mathcal {T}\)-equivalent, for \(\overrightarrow{w}=\textit{vars}(\textit{wit}(\phi ))\setminus \textit{vars}(\phi )\); and (ii) if \(\textit{wit}(\phi )\) is \(\mathcal {T}\)-satisfiable, there exists a \(\mathcal {T}\)-interpretation \(\mathcal {A}\) satisfying \(\textit{wit}(\phi )\) such that \(\sigma ^{\mathcal {A}}=\textit{vars}_{\sigma }(\textit{wit}(\phi ))^{\mathcal {A}}\) for each \(\sigma \in S\).

Strong finite witnessability is defined similarly to finite witnessability, replacing (ii) by: \((ii)'\) given a finite set of variables V and an arrangement \(\delta _{V}\) on V, if \(\textit{wit}(\phi )\wedge \delta _{V}\) is \(\mathcal {T}\)-satisfiable, there exists a \(\mathcal {T}\)-interpretation \(\mathcal {A}\) that satisfies \(\textit{wit}(\phi )\wedge \delta _{V}\) with \(\sigma ^{\mathcal {A}}=\textit{vars}_{\sigma }(\textit{wit}(\phi )\wedge \delta _{V}\big )^{\mathcal {A}}\) for all \(\sigma \in S\). If \(\mathcal {T}\) is smooth and (strongly) finitely witnessable with respect to \(\mathcal {S}\), then it is (strongly) polite with respect to \(\mathcal {S}\).

Finite Model Property and Stable Finiteness \(\mathcal {T}\) has the finite model property with respect to S if for every quantifier-free \(\mathcal {T}\)-satisfiable \(\varSigma \)-formula, there exists a \(\mathcal {T}\)-interpretation \(\mathcal {A}\) that satisfies it with \(|\sigma ^{\mathcal {A}}|\) finite for each \(\sigma \in S\). \(\mathcal {T}\) is stably finite with respect to S if, for every quantifier-free \(\varSigma \)-formula and \(\mathcal {T}\)-interpretation \(\mathcal {A}\) that satisfies it, there exists a \(\mathcal {T}\)-interpretation \(\mathcal {B}\) that satisfies it with: \(|\sigma ^{\mathcal {B}}|\) finite for each \(\sigma \in S\); and \(|\sigma ^{\mathcal {B}}|\le |\sigma ^{\mathcal {A}}|\) for each \(\sigma \in S\). Clearly, stable finiteness implies the finite model property:

Theorem 1

If \(\mathcal {T}\) is stably finite w.r.t. S, then it has the finite model property w.r.t. S.

We shall write \({\textbf {SI}}\) for stably infinite; \({\textbf {SM}}\) for smooth; \({\textbf {FW}}\) (\({\textbf {SW}}\)) for (strong) finitely witnessable; \({\textbf {CV}}\) for convex; \({\textbf {FM}}\) for the finite model property; and \({\textbf {SF}}\) for stably finite.

3 Relationships Between Model-Theoretic Properties

In this section we study the connections between finiteness properties related to theory combination: the finite model property, stable finiteness, finite witnessability, and strong finite witnessability. We show how these properties are related to one another. In Sect. 3.1, we provide general results that hold for all signatures. Then, in Sect. 3.2, we focus on empty signatures, in which we are able to find more connections.

3.1 General Signatures

Finite witnessability, as well as its strong variant, were introduced in the context of polite theory combination. In contrast, the study of shiny theories utilizes the notions of the finite model property, as well as stable finiteness. It was shown in [1] that for theories with a decidable quantifier-free satisfiability problem, shiny theories and strongly polite theories are one and the same. This already showed some connections between the aforementioned finiteness properties. However, that analysis also relied on smoothness, the decidability of the quantifier-free satisfiability problem of the studied theories, as well as the computability of the \(\textit{mincard}\) function, the function that computes the minimal sizes of domains in models of a given formula in these theories.

Here we focus purely on the finiteness properties, and show that even without any other assumptions, they are closely related. Considering finite witnessability and the finite model property, notice that any witness ensures that some formulas always have finite models. Using the equivalence of the existential closure of such formulas to the formulas that are given to the witness, one gets the following result, according to which finite witnessability implies the finite model property.

Theorem 2

Any \(\varSigma \)-theory \(\mathcal {T}\) finitely witnessable with respect to \(S\subseteq \mathcal {S}_{\varSigma }\) also has the finite model property with respect to S.

Strong finite witnessability is a stronger property than finite witnessability, obtained by requiring finite models in the presence of arrangements. This requirement allows one to conclude stable finiteness for it, as the finer control on cardinalities that is required for stable finiteness can be achieved with the aid of arrangements. The following result is proved in Lemma 3.6 of [1], although under the assumption that the theory is smooth, something that is not actually used in their proof.

Theorem 3

Any \(\varSigma \)-theory \(\mathcal {T}\) strongly finitely witnessable with respect to \(S\subseteq \mathcal {S}_{\varSigma }\) is also stably finite with respect to S.

Clearly, stable finiteness implies the finite model property (Theorem 1). The converse does not generally hold, as we will see in Sect. 4. However, when these properties are considered with respect to a single sort, they actually coincide:

Theorem 4

If a \(\varSigma \)-theory \(\mathcal {T}\) has the finite model property with respect to a set of sorts S with \(|S|=1\), then \(\mathcal {T}\) is also stably finite with respect to S.

Theorems 2 and 3 are visualized in the Venn diagram of Fig. 2, where, for example, theories that are strongly finitely witnessable are clearly inside the intersection of finitely witnessable theories and stably finite theories.

When only one sort is considered, the picture is much simpler, and is described in Fig. 3. There, the finite model property and stable finiteness populate the same region, as ensured by Theorem 4. Notice that the results depicted in Fig. 3 hold for one-sorted and many-sorted signatures. The key thing is that the properties are all w.r.t. one of the sorts.

Fig. 2.
figure 2

Finiteness properties: general case.

Fig. 3.
figure 3

Finiteness properties w.r.t. one sort.

3.2 Empty Signatures

Figures 2 and 3 show a complete picture of the relationships between the properties studied in this section, for arbitrary signatures. However, when this generality is relaxed, several other connections appear. For this section, we require that the signatures are empty, and that they have a finite set of sorts. We further require that the properties in question hold for the entire set of sorts, not for any subset of it.

Table 1 defines the 5 signatures that will be used in the examples found in Sect. 4, and that will also appear in some of the results shown below: the empty signatures \(\varSigma _{1}\), \(\varSigma _{2}\) and \(\varSigma _{3}\), with sets of sorts \(\{\sigma \}\), \(\{\sigma , \sigma _{2}\}\) and \(\{\sigma , \sigma _{2}, \sigma _{3}\}\), respectively; and the signatures \(\varSigma _{s}\) and \(\varSigma _{s}^{2}\) with one function s of arity \(\sigma \rightarrow \sigma \), and sets of sorts \(\{\sigma \}\) and \(\{\sigma , \sigma _{2}\}\), respectively. Notice these are the simplest possible signatures when we order those by establishing: first, that the signature with fewer sorts is simpler; and second, that if two signatures have the same number of sorts, the one with fewer function symbols is simpler. We are free not to consider predicates, as they are at least as expressive as functions themselves; furthermore, we do not consider the problem of defining which of two signatures with the same numbers of sorts and function symbols is simpler, choosing rather to add only functions from a sort to itself.

Table 1. Signatures that will be used throughout the paper.

First, in such a setting, we have that the finite model property implies finite witnessability, in the presence of smoothness.

Theorem 5

If \(\varSigma \) is an empty signature with a finite set of sorts \(\mathcal {S}_{\varSigma }\), and the \(\varSigma \)-theory \(\mathcal {T}\) has the finite model property and is smooth with respect to \(\mathcal {S}_{\varSigma }\), then \(\mathcal {T}\) is also finitely witnessable with respect to \(\mathcal {S}_{\varSigma }\).

Next, we show that stable finiteness and smoothness together, imply strong finite witnessability.

Theorem 6

If \(\varSigma \) is an empty signature with a finite set of sorts \(\mathcal {S}_{\varSigma }\), and the \(\varSigma \)-theory \(\mathcal {T}\) is stably finite and smooth with respect to \(\mathcal {S}_{\varSigma }\), then \(\mathcal {T}\) is also strongly finitely witnessable with respect to \(\mathcal {S}_{\varSigma }\).

Fig. 4.
figure 4

Interplay between \({\textbf {SM}}\), \({\textbf {FW}}\) (\({\textbf {SW}}\)) and \({\textbf {FM}}\) (\({\textbf {SF}}\)) w.r.t. \(\mathcal {S}_{\varSigma }\) in an empty signature.

While Theorem 2 and Theorem 3 establish certain unconditional relations between finite witnessability and the finite model property, and strong finite witnessability and stable finiteness, the converses shown to hold in Theorem 5 and Theorem 6 demand smoothness and that the properties hold with respect to the entire set of sorts. In that case, the situation can be represented by the diagram found in Fig. 4, showing clearly that a smooth theory that also has the finite model property (respectively, is stably finite), cannot not be finitely witnessable (strongly finitely witnessable).

Lastly, regarding the empty signatures \(\varSigma _{1}\), \(\varSigma _{2}\) and \(\varSigma _{3}\), the following theorem shows that \(\varSigma _{3}\) is sometimes necessary.

Theorem 7

There are no \(\varSigma _{1}\) or \(\varSigma _{2}\)-theories \(\mathcal {T}\) that are, simultaneously, neither stably infinite nor stably finite, but are convex and have the finite model property, with respect to the entire set of their sorts.

Hence, to exhibit such theories, one has to consider three-sorted theories.

4 A Taxonomy of Examples

Table 2. Summary of all possible combinations of theory properties. Red cells represent impossible combinations. In lines 26 and 34, \(n>1\); in lines 29, 30 and 35, \(m>1\), \(n>1\) and \(|m-n|>1\).

In [10], we have created a table, in which for every possible combinations of properties from \(\{\) \({\textbf {SI}}\), \({\textbf {SM}}\), \({\textbf {FW}}\), \({\textbf {SW}}\), \({\textbf {CV}}\) \(\}\) we either gave an example of a theory in this combination, or proved a theorem that shows there is no such example, with the exception of theories that are stably infinite and strongly finitely witnessable but not smooth. Such theories, referred to in [10] as Unicorn Theories (due to our conjecture that they do not exist) were left for future work, and are still left for future work, as the focus of the current paper is the integration of finiteness properties, namely \({\textbf {FM}}\) and \({\textbf {SF}}\) to the table.

And indeed, the goal of this section is to add two columns to the table from [10]: one for the finite model property and one for stable finiteness. The extended table is Table 2. We do not assume familiarity with [10], and describe the entire resulting table (though focusing on the new results).

This section is structured as follows: In Sect. 4.1 we describe the structure of Table 2. In Sects. 4.2 to 4.4 we provide details about the axiomatizations of theories that populate it. Finally, in Sect. 4.5, we reuse operators from [10], prove that they preserve the finite model property and stable finiteness, and show how they are used in order to generate more theories for Table 2.

4.1 The Table

The columns left to the vertical double-line of Table 2 correspond to possible combinations of properties. In them, T means that the property holds, while F means that it does not. The first 5 columns correspond to properties already studied in [10], and the next two columns correspond to \({\textbf {FM}}\) and \({\textbf {SF}}\). The columns right to the vertical double-line correspond to possible signatures: empty or non-empty, and one-sorted or many-sorted. White cells correspond to cases where a theory with the combination of properties induced by the row exists in a signature that is induced by the column. In such a case, the name of the theory is written. The theories themselves are defined in Figs. 5, 7 and 8, axiomatically. Shaded correspond to the cases where there is no such theory. In such a case, the theorem that excludes this possibility is written. If that theorem is from [10], we simply write [10].

Example 1

Line 1 of Table 2 corresponds to theories that admit all studied properties. We see that there is such a theory in each of the studied types of signatures (e.g., for the empty one-sorted signature, the theory \(\mathcal {T}_{\ge n}\) exhibits all properties). In contrast, line 3 corresponds to theories that admit all properties but strong finite witnessability. We see that such theories exist in non-empty signatures, but not in empty signatures. This is thanks to Theorem 6.

Section 3, as well as results from [10], make some potential rows of Table 2 completely shaded. To allow this table to fit a single page, we chose to erase such rows. For example, by Theorem 1, there are no theories that are stably finite but do not have the finite model property, in any signature. Thus, no rows that represent such theories appear in the table.

In the remainder of this section, we describe the various theories that populate the cells of the table. Fortunately, all theories from [10] can be reused to exhibit also the new properties \({\textbf {SF}}\) and \({\textbf {FM}}\), or their negations. These are described in Sect. 4.2. However, the theories from [10] alone are not enough. Hence we introduce several new theories in Sects. 4.3 and 4.4. Some of them are relatively simple, and are described in Sect. 4.3. Most of them, however, are more complex, and rely on the Busy Beaver function from theoretical computer science. We discuss these theories in Sect. 4.4.

4.2 Theories from [10]

Fig. 5.
figure 5

Theories for Table 2 that were studied in [10]; p(x) stands for \(s(x)=x\). In \(\mathcal {T}_{f}\), f is any non-computable function from the positive integers to \(\{0,1\}\), such that for every \(k\ge 0\), f maps half of the numbers between 1 and \(2^k\) to 1, and the other half to 0. In [10], such a function was proven to exist.

Fig. 6.
figure 6

Formulas for \(\varSigma _{s}\)-theories. \(\overrightarrow{x}\) stands for \(x_1,\ldots , x_n\). \(\delta _{{n}}\) stands for \(\bigwedge _{1\le i<j\le n}\lnot (x_{i}=x_{j})\), and p(x) stands for \(s(x)=x\).

For completeness, we include in Fig. 5 the axiomatizations of all theories from [10] that are used in Table 2 (Fig. 6 includes the definitions of formulas that are abbreviated in Fig. 5, such as from the definition of \(\mathcal {T}_{f}\)). For lack of space, however, we refrain from elaborating on these theories, and refer the reader to their detailed description in [10]. For the theories of Fig. 5, whether they admit the properties from \(\{{\textbf {SI}},{\textbf {SM}},{\textbf {FW}},{\textbf {SW}},{\textbf {CV}}\}\) or not was already established in [10]. For each of them, here, we also check and prove whether they admit the new properties \({\textbf {FM}}\) and \({\textbf {SF}}\).

For example, for each n, \(\mathcal {T}_{\ge n}\) consists of all \(\varSigma _{1}\)-structures that have at least n elements. This theory was shown in [10] to be strongly finitely witnessable, and so by Theorem 3 it is also stably finite. Then, by Theorem 1, it also admits the finite model property.

It is worth mentioning that \(\mathcal {T}_{2,3}\) was first introduced in [1], in the context of shiny theories, where it was shown to have the finite model property, while not being stably finite. An alternative proof of this fact goes as follows: it was proven in [8] that \(\mathcal {T}_{2,3}\) is: (i) finitely witnessable; (ii) not strongly finitely witnessable; and (iii) smooth. By Theorem 2 and (i), it also has the finite model property. But since it is over an empty signature, by (ii), (iii) and Theorem 6, we have that it cannot be stably finite.

4.3 New Theories: The Simple Cases

Fig. 7.
figure 7

Simple theories for Table 2. \(diag^{{{\sigma },{\sigma _{2}}}}{({k+2})}\), for any \(k\in \mathbb {N}\), stands for the formula \((\psi ^{\sigma }_{\ge k+2}\wedge \psi ^{\sigma _{2}}_{\ge k+2})\vee \bigvee _{i=2}^{k+2}(\psi ^{\sigma }_{=i}\wedge \psi ^{\sigma _{2}}_{=i})\), and p(x) stands for \(s(x)=x\).

While the theories from Fig. 5 suffice to populate many cells of Table 2, they are not enough. Hence we describe new theories, not taken from [10]. The simplest theories that we have added can be found in Fig. 7, and are described below.

\(\mathcal {T}^{\infty }\) is a theory with three distinct groups of models: its first group consists of models \(\mathcal {A}\) that have \(|\sigma ^{\mathcal {A}}|=1\) and \(\sigma _{2}^{\mathcal {A}}\) infinite; its second group, of models \(\mathcal {A}\) where both \(\sigma ^{\mathcal {A}}\) and \(\sigma _{2}^{\mathcal {A}}\) are infinite; and its third group, of models \(\mathcal {A}\) where \(|\sigma ^{\mathcal {A}}|=|\sigma _{2}^{\mathcal {A}}|\) is any value \(k\ge 2\). In its axiomatization, one finds the formula \(diag^{{{\sigma },{\sigma _{2}}}}{({k+2})}\), equal to \((\psi ^{\sigma }_{\ge k+2}\wedge \psi ^{\sigma _{2}}_{\ge k+2})\vee \bigvee _{i=2}^{k+2}(\psi ^{\sigma }_{=i}\wedge \psi ^{\sigma _{2}}_{=i})\) for \(k\in \mathbb {N}\): that formula characterizes the models \(\mathcal {A}\) of \(\mathcal {T}^{\infty }\) that lie in the diagonal, that is, where \(|\sigma ^{\mathcal {A}}|=|\sigma _{2}^{\mathcal {A}}|\) (and this value is greater than 1), or both are infinite.

\(\mathcal {T}_{m,n}^{\infty }\) is a theory that depends on two distinct positive integers m and n, and without loss of generality let us suppose \(m>n\), when the theory has two types of models \(\mathcal {A}\): in the first, \(|\sigma ^{\mathcal {A}}|\) equals m, while \(\sigma _{2}^{\mathcal {A}}\) can be anything; in the second, \(|\sigma ^{\mathcal {A}}|\) equals n, and then \(\sigma _{2}^{\mathcal {A}}\) must be infinite.

The models \(\mathcal {A}\) of the \(\varSigma _{s}^{2}\)-theory \(\mathcal {T}^{\infty }_{\ne }\) have either: \(|\sigma ^{\mathcal {A}}|=1\), \(|\sigma _{2}^{\mathcal {A}}|\ge \omega \) and \(s^{\mathcal {A}}\) the identity function; both \(\sigma ^{\mathcal {A}}\) and \(\sigma _{2}^{\mathcal {A}}\) infinite, and \(s^{\mathcal {A}}\) with no fixed points; or \(|\sigma ^{\mathcal {A}}|=|\sigma _{2}^{\mathcal {A}}|\) equal to any number in \(\mathbb {N}\setminus \{0,1\}\), and again \(s^{\mathcal {A}}\) with no fixed points.

Finally, \(\mathcal {T}_{2,3}^{3}\) is made up of just the models \(\mathcal {A}\) of \(\mathcal {T}_{2,3}\) (see Fig. 5) with an extra domain associated to the new sort \(\sigma _{3}\) such that \(|\sigma _{3}^{\mathcal {A}}|=1\).

4.4 New Theories: The Busy Beaver

Fig. 8.
figure 8

Busy Beaver Theories for Table 2. \(diag_{\varsigma }^{{{\sigma },{\sigma _{2}}}}{({k+2})}\) stands, for each \(k\in \mathbb {N}\), for \((\psi ^{\sigma }_{\ge \varsigma (k+2)}\wedge \psi ^{\sigma _{2}}_{\ge \varsigma (k+2)}) \vee \bigvee _{i=2}^{k+2}(\psi ^{\sigma }_{=\varsigma (i)}\wedge \psi ^{\sigma _{2}}_{=\varsigma (i)})\), and p(x) for \(s(x)=x\); in \(\mathcal {T}_{m,n}^{\varsigma }\), we assume w.l.g. \(m\ge n\).

So far we have seen that the theories from [10], together with a small set of simple new theories, can already get us quite far in filling Table 2. However, for several combinations, it seems that more complex theories are needed. For this purpose, we utilize the well-known Busy Beaver function, and define various theories based on it. In this section, we describe these theories. First, in Sect. 4.4.1, we review the Busy Beaver function, and explain why it is useful in our context. Then, in Sects. 4.4.2 to 4.4.6, we describe the theories that make use of it, separated according to their signatures.

4.4.1 On the Busy Beaver Function

The Busy Beaver function, here denoted \(\varsigma \), is an old acquaintance of theoretical computer scientists: essentially, given any \(n\in \mathbb {N}\), \(\varsigma (n)\) is the maximum number of 1’s a Turing machine with at most n states can write to it’s tape when it halts, if the tape is initialized to be all 0’s. Somewhat confusingly, any Turing machine that achieves that number is also called a Busy Beaver.

It is possible to prove that \(\varsigma (n)\in \mathbb {N}\) for any \(n\in \mathbb {N}\) (see [5]), and so we may write \(\varsigma :\mathbb {N}\rightarrow \mathbb {N}\); furthermore, \(\varsigma \) is increasing. But the very desirable property of \(\varsigma \) is that it is not only increasing, but actually very rapidly increasing.

More formally, Radó proved, in the seminal paper [5], that \(\varsigma \) grows asymptotically faster than any computable function (being, therefore, non-computable). That is, for every computable function \(f:\mathbb {N}\rightarrow \mathbb {N}\), there exists \(N\in \mathbb {N}\) such that \(\varsigma (n)>f(n)\) for all \(n\ge N\). Despite that, the Busy Beaver starts somewhat slowly: \(\varsigma (0)=0\), \(\varsigma (1)=1\), \(\varsigma (2)=4\), \(\varsigma (3)=6\) and \(\varsigma (4)=13\); the exact value of \(\varsigma (5)\) (and actually \(\varsigma (n)\) for any \(n\ge 5\)) is not known, but is at least 4098 [3].

The fact that \(\varsigma \) grows eventually faster than any computable function is a great property to have when constructing theories that admit the finite model property, while not being finitely witnessable. Roughly speaking, if the cardinalities of models of a theory are related to \(\varsigma \), this guarantees that it has models of sufficiently large finite size, while not being finitely witnessable since its models grow too fast: by carefully choosing formulas \(\phi _{n}\) that hold only in the "n-th model" of the theory (when ordered by cardinality), the number of variables of \(\textit{wit}(\phi _{n})\) offers an upper bound to \(\varsigma (n)\) and is therefore not computable, leading to a contradiction with the fact that \(\textit{wit}\) is supposed to be computable. Notice that, despite the dependency of our theories on the Busy Beaver, the function is not actually part of their signatures.

Now we present the theories that are based on \(\varsigma \). These theories are axiomatized in Fig. 8.

4.4.2 A \(\varSigma _{1}\)-Theory

The most basic Busy Beaver theory is \(\mathcal {T}_{\varsigma }\). This is the \(\varSigma _{1}\)-theory whose models have cardinality \(\varsigma (k)\), for some \(k\ge 2\), or are infinite: that is, \(\mathcal {T}_{\varsigma }\) has models with 4 elements, 6, 13 and so on. This theory forms the basis to all other theories of this section, that are designed to admit various properties from Table 2.

By itself, \(\mathcal {T}_{\varsigma }\) has the finite model property while not being (strongly) finitely witnessable. It was in fact constructed precisely to exhibit this. As it turns out, it is also not smooth, but does satisfy all other properties. To populate other rows in the table that correspond to theories with other combinations of properties, more theories are needed, with richer signatures.

4.4.3 \(\varSigma _{2}\)-Theories

To fill the rows that correspond to other combinations, we introduce several \(\varSigma _{2}\) theories.

The \(\varSigma _{2}\)-theory \(\mathcal {T}_{\varsigma }^{\infty }\) is more complex. It has, essentially, three classes of models: the first is made up of structures \(\mathcal {A}\) where \(|\sigma ^{\mathcal {A}}|=1\) and \(\sigma _{2}^{\mathcal {A}}\) is infinite; the second, of structures where both \(\sigma ^{\mathcal {A}}\) and \(\sigma _{2}^{\mathcal {A}}\) are infinite; and the third, of structures where \(|\sigma ^{\mathcal {A}}|=|\sigma _{2}^{\mathcal {A}}|\) is a finite value that equals \(\varsigma (k)\), for some \(k\ge 2\). The formula \(diag_{\varsigma }^{{{\sigma },{\sigma _{2}}}}{({k+2})}\), for \(k\ge 2\), in the axiomatization equals \((\psi ^{\sigma }_{\ge \varsigma (k+2)}\wedge \psi ^{\sigma _{2}}_{\ge \varsigma (k+2)}) \vee \bigvee _{i=2}^{k+2}(\psi ^{\sigma }_{=\varsigma (i)}\wedge \psi ^{\sigma _{2}}_{=\varsigma (i)})\) and is similar to \(diag^{{{\sigma },{\sigma _{2}}}}{({k+2})}\) from \(\mathcal {T}^{\infty }\), characterizing the models \(\mathcal {A}\) where either \(|\sigma ^{\mathcal {A}}|=|\sigma _{2}^{\mathcal {A}}|=\varsigma (k+2)\), or both \(\sigma ^{\mathcal {A}}\) and \(\sigma _{2}^{\mathcal {A}}\) are infinite.

For each \(n>0\), \(\mathcal {T}_{n}^{\varsigma }\) has as interpretations those \(\mathcal {A}\) with \(|\sigma ^{\mathcal {A}}|=n\), and \(|\sigma _{2}^{\mathcal {A}}|\)either infinite or equal to \(\varsigma (k)\), for some \(k\ge 2\) (so \((|\sigma ^{\mathcal {A}}|, |\sigma _{2}^{\mathcal {A}}|)\) may equal (n, 4), (n, 6), (n, 13) and so on).

\(\mathcal {T}_{m,n}^{\varsigma }\) is a \(\varSigma _{2}\)-theory that can be seen as some sort of combination of \(\mathcal {T}_{m,n}^{\infty }\) and \(\mathcal {T}_{n}^{\varsigma }\), dependent on two distinct positive integers m and n. Consider the case where the former is the greater of the two (the other cases are similar). In this case, we may divide its interpretations \(\mathcal {A}\) into three classes: those with \(|\sigma ^{\mathcal {A}}|=n\) and \(\sigma _{2}^{\mathcal {A}}\) infinite; those with \(|\sigma ^{\mathcal {A}}|=m\) and \(\sigma _{2}^{\mathcal {A}}\) infinite; and those with \(|\sigma ^{\mathcal {A}}|=m\) and \(|\sigma _{2}^{\mathcal {A}}|\) equal to some \(\varsigma (k)\), for \(k\ge 2\).

4.4.4 \(\varSigma _{s}\)-Theories

For some lines of Table 2, e.g. line 7, empty signatures are not enough for presenting examples. Hence we also introduce \(\varSigma _{s}\)-theories.

We start with \(\mathcal {T}_{\varsigma }^{s}\), which is, arguably, the most confusing theory we here define: we are forced to appeal not only to the special cardinality formulas found in Fig. 6, but also to the function \(\varsigma ^{-1}\), which is a left inverse of \(\varsigma \). More formally, \(\varsigma ^{-1}:\mathbb {N}\rightarrow \mathbb {N}\) is the only function such that \(\varsigma ^{-1}(k)=\min \{l : \varsigma (l+1)> k\}\): so \(\varsigma ^{-1}(0)=0\), \(\varsigma ^{-1}(1)=\varsigma ^{-1}(2)=\varsigma ^{-1}(3)=1\), \(\varsigma ^{-1}(4)=\varsigma ^{-1}(5)=2\), \(\varsigma ^{-1}(6)=\cdots =\varsigma ^{-1}(12)=3\), \(\varsigma ^{-1}(13)=\cdots =\varsigma ^{-1}(4097)=4\), and further values of \(\varsigma ^{-1}\) are currently unknown. From the definition of \(\varsigma ^{-1}\), we have that \(\varsigma (\varsigma ^{-1}(k))\le k\) and \(\varsigma ^{-1}(\varsigma (k))=k\). \(\varsigma ^{-1}\) is not computable given that, since \(\varsigma ^{-1}(k)=\min \{l : \varsigma (l+1)> k\}\) by definition, \(\varsigma ^{-1}(k+1)\ne \varsigma ^{-1}(k)\) iff \(k+1\) is a value of \(\varsigma \): so, an algorithm to compute the values of \(\varsigma \) could be obtained by simply computing the values of \(\varsigma ^{-1}\) and checking where there is a change.

\(\mathcal {T}_{\varsigma }^{s}\) is then the \(\varSigma _{s}\)-theory with models \(\mathcal {A}\) with any cardinality \(k+1\ge 1\), such that \(s^{\mathcal {A}}(a)=a\) holds for precisely \(\varsigma ^{-1}(k+1)\) elements of \(\mathcal {A}\), and so \(s^{\mathcal {A}}(a)\ne a\) holds for \(k+1-\varsigma ^{-1}(k+1)\) elements, being the function \(k\mapsto k+1-\varsigma ^{-1}(k+1)\) itself non-decreasing, given that \(\varsigma ^{-1}(k+1)\) can equal either \(\varsigma ^{-1}(k)\) or \(\varsigma ^{-1}(k)+1\).

Example 2

We mention some \(\mathcal {T}_{\varsigma }^{s}\)-structures as examples: a structure \(\mathcal {A}\) with \(|\sigma ^{\mathcal {A}}|=1\) and \(s^{\mathcal {A}}\) the identity; a structure \(\mathcal {B}\) with \(|\sigma ^{\mathcal {B}}|=2\) and \(s^{\mathcal {A}}\) a constant function; a structure \(\mathcal {C}\) with \(|\sigma ^{\mathcal {C}}|=3\) (say \(\sigma ^{\mathcal {C}}=\{a, b, c\}\)) and \(s^{\mathcal {C}}\) the identity for only one of these elements (e.g., \(s^{\mathcal {C}}\) can be a constant function, but now there are further possibilities such as \(s^{\mathcal {C}}(a)=s^{\mathcal {C}}(b)=a\) and \(s^{\mathcal {C}}(c)=b\)); and a structure \(\mathcal {D}\) with \(|\sigma ^{\mathcal {D}}|=4\) (say \(\sigma ^{\mathcal {D}}=\{a, b, c, d\}\)) and \(s^{\mathcal {D}}\) the identity for only two of these elements (e.g., \(s^{\mathcal {D}}(a)=s^{\mathcal {D}}(b)=s^{\mathcal {D}}(c)=a\) and \(s^{\mathcal {D}}(d)=d\));

Next, we continue to describe other \(\varSigma _{s}\) theories.

\(\mathcal {T}_{\varsigma }^{\ne }\) has essentially two classes of models \(\mathcal {A}\): those with \(|\sigma ^{\mathcal {A}}|=2\) and \(s^{\mathcal {A}}\) never the identity; and those with \(|\sigma ^{\mathcal {A}}|\) equal to \(\varsigma (k)\) or infinite, for some \(k\ge 2\), and \(s^{\mathcal {A}}\) the identity.

\(\mathcal {T}_{\varsigma ,1}^{\ne }\) is very similar to \(\mathcal {T}_{\varsigma }^{\ne }\): the difference lies on where s will be the identity: while in \(\mathcal {T}_{\varsigma }^{\ne }\) the function s is the identity for all interpretations \(\mathcal {A}\) with \(|\sigma ^{\mathcal {A}}|>2\), s in \(\mathcal {T}_{\varsigma ,1}^{\ne }\) is the identity only for the interpretations \(\mathcal {A}\) with \(|\sigma ^{\mathcal {A}}|=1\). So, in \(\mathcal {T}_{\varsigma ,1}^{\ne }\), we have a model \(\mathcal {A}\) with \(|\sigma ^{\mathcal {A}}|=1\) and \(s^{\mathcal {A}}\) the identity, and then models \(\mathcal {A}\) with \(|\sigma ^{\mathcal {A}}|=\varsigma (k)\) for some \(k\ge 2\) or infinite, and \(s^{\mathcal {A}}(a)\) anything but a.

The \(\varSigma _{s}\)-theory \(\mathcal {T}_{\varsigma }^{\vee }\) is then just \(\mathcal {T}_{\varsigma }^{s}\), satisfying in addition the formula \(\psi _{\vee }\) (see Fig. 6). It has models \(\mathcal {A}\) of any finite cardinality \(k+1\), as long as \(\varsigma ^{-1}(k+1)\) of these elements a satisfy \(s^{\mathcal {A}}(a)=a\), or infinite cardinalities, as long as the number of elements a satisfying \(s^{\mathcal {A}}(a)=a\) is infinite; additionally, \(s^{\mathcal {A}}(s^{\mathcal {A}}(a))\) must always equal either \(s^{\mathcal {A}}(a)\) or a itself.

4.4.5 \(\varSigma _{s}^{2}\)-Theories

Now for theories in a many-sorted non-empty signature.

The \(\varSigma _{s}^{2}\)-theory \(\mathcal {T}^{=}_{\varsigma }\) appears simple, but is actually quite tricky: starting by the easy case, if \(\sigma ^{\mathcal {A}}\) has infinitely many elements a satisfying \(s^{\mathcal {A}}(a)=a\), \(\sigma _{2}^{\mathcal {A}}\) is also infinite. If, however, the number of elements \(a\in \sigma ^{\mathcal {A}}\) satisfying \(s^{\mathcal {A}}(a)=a\) is finite (notice that, even if this is the case, \(\sigma ^{\mathcal {A}}\) may still be infinite) and equal to some \(k+2\), then \(\sigma _{2}^{\mathcal {A}}\) has at least \(\varsigma (k+2)\) elements. So, to give a better example, suppose \(\sigma ^{\mathcal {A}}\) has 2 elements satisfying \(s^{\mathcal {A}}(a)=a\): then \(\sigma _{2}^{\mathcal {A}}\) has at least \(\varsigma (2)=4\) elements, but may have any cardinality up to, and including, infinite ones; notice that in this example \(\sigma ^{\mathcal {A}}\) may be infinite as well, as long as only two of the elements satisfy \(s^{\mathcal {A}}(a)=a\).

\(\mathcal {T}_{\varsigma }^{2}\) is the same as \(\mathcal {T}^{=}_{\varsigma }\), but with extra models \(\mathcal {A}\) where \(|\sigma ^{\mathcal {A}}|=1\) and \(|\sigma _{2}^{\mathcal {A}}|\ge \omega \) (of course, then we have that \(s^{\mathcal {A}}\) is the identity).

\(\mathcal {T}_{\varsigma \vee }^{=}\) is then the same as \(\mathcal {T}_{\varsigma }^{2}\), with the added validity of the formula \(\psi _{\vee }\); So the models of \(\mathcal {T}_{\varsigma \vee }^{=}\) are just models of \(\mathcal {T}_{\varsigma }^{2}\) satisfying that \(s^{\mathcal {A}}(s^{\mathcal {A}}(a))\) equals either \(s^{\mathcal {A}}(a)\) or a itself.

\(\mathcal {T}_{\varsigma \ne }^{\infty }\) is just the \(\varSigma _{2}\)-theory \(\mathcal {T}_{\varsigma }^{\infty }\) with the added function s such that, if \(|\sigma ^{\mathcal {A}}|=1\), \(s^{\mathcal {A}}\) is the identity; and if \(|\sigma ^{\mathcal {A}}|>1\), \(s^{\mathcal {A}}(a)\) is anything but a.

4.4.6 A \(\varSigma _{3}\)-Theory

Finally, \(\mathcal {T}_{\varsigma }^{\infty ,3}\) is obtained by adding a sort with a single element to the \(\varSigma _{2}\)-theory \(\mathcal {T}_{\varsigma }^{\infty }\), similarly to the definition of \(\mathcal {T}_{2,3}^{3}\), that was based on the \(\varSigma _{2}\)-theory \(\mathcal {T}_{2,3}\) (see Sect. 4.3).

4.5 Theory Operators

There are two types of theories in Table 2: The first consists of base theories, such as \(\mathcal {T}_{\ge n}\), that are axiomatized in Figs. 5, 7 and 8. The second is obtained from the first, by applying several operators on theories. For example, the theories \((\mathcal {T}_{\ge n})^{2}\), \((\mathcal {T}_{\ge n})_{s}\), \(((\mathcal {T}_{\ge n})^{2})_{s}\), are all obtained from the base theory \(\mathcal {T}_{\ge n}\). So far we have only described the theories of the first type. In this section we explain the theories of the second type.

The operators that are used in Table 2 were defined in [10], in order to be able to systematically generate examples in various signatures. For example, if \(\mathcal {T}\) is a \(\varSigma _{1}\)-theory, then \((\mathcal {T})^{2}\) is a \(\varSigma _{2}\)-theory with the same axiomatization as \(\mathcal {T}\), that is, the second sort is completely free and is not axiomatized in any way. For completeness sake, we include the definitions of these operators here:

Definition 1

(Theory Operators from [10])

  1. 1.

    If \(\mathcal {T}\) is a \(\varSigma _{1}\)-theory, then \((\mathcal {T})^{2}\) is the \(\varSigma _{2}\)-theory axiomatized by \(\textit{Ax}(\mathcal {T})\).

  2. 2.

    Let \(\varSigma _{n}\) be an empty signature with sorts \(S=\{\sigma _{1}, \ldots , \sigma _{n}\}\), and let \(\mathcal {T}\) be a \(\varSigma _{n}\)-theory. The signature \(\varSigma ^{n}_{s}\) has sorts S and a single unary function symbol s of arity \(\sigma _{1}\rightarrow \sigma _{1}\), and \((\mathcal {T})_{s}\) is the \(\varSigma ^{n}_{s}\)-theory axiomatized by \(\textit{Ax}(\mathcal {T})\cup \{\forall \, x.\,[s(x)=x]\}\), where x is a variable of sort \(\sigma _{1}\).

  3. 3.

    Let \(\mathcal {T}\) be a theory over an empty signature with sorts \(S=\{\sigma _{1}, \ldots , \sigma _{n}\}\). Then \((\mathcal {T})_{\vee }\) is the \(\varSigma ^{n}_{s}\)-theory axiomatized by \(\textit{Ax}(\mathcal {T})\cup \{\psi _{\vee }\}\) (see Fig. 6).

It was proven in [10] that these operators preserve the properties \({\textbf {SI}}\), \({\textbf {SM}}\), \({\textbf {FW}}\), \({\textbf {SW}}\), \({\textbf {CV}}\), and the lack of them. Here we prove that the same holds for \({\textbf {FM}}\) and \({\textbf {SF}}\) as well.

Theorem 8

Let \(\mathcal {T}\) be a \(\varSigma _{1}\)-theory. Then: \(\mathcal {T}\) is \({\textbf {FM}}\), or \({\textbf {SF}}\), w.r.t. \(\{\sigma \}\) if and only if \((\mathcal {T})^{2}\) is, respectively, \({\textbf {FM}}\), or \({\textbf {SF}}\) w.r.t. \(\{\sigma , \sigma _{2}\}\).

Theorem 9

If \(\mathcal {T}\) is a theory over an empty signature \(\varSigma _{n}\) with sorts \(S=\{\sigma _{1}, \ldots , \sigma _{n}\}\), then: \(\mathcal {T}\) is \({\textbf {FM}}\), or \({\textbf {SF}}\), w.r.t. S if and only if \((\mathcal {T})_{s}\) is, respectively, \({\textbf {FM}}\), or \({\textbf {SF}}\), w.r.t. S.

Theorem 10

If \(\mathcal {T}\) is a theory over an empty signature \(\varSigma _{n}\) with sorts \(S=\{\sigma _{1}, \ldots , \sigma _{n}\}\), then: \(\mathcal {T}\) is \({\textbf {FM}}\), or \({\textbf {SF}}\), w.r.t. S if and only if \((\mathcal {T})_{\vee }\) is, respectively, \({\textbf {FM}}\), or \({\textbf {SF}}\), w.r.t. S.

Thus, in various cases, theories need not be invented from scratch, but can be generated from other theories. For example, the theory \(\mathcal {T}_{\ge n}\) exhibits all studied properties, but is defined in a one-sorted signature. Using the operators, we obtain variants of this theory in all signature types, namely \((\mathcal {T}_{\ge n})^{2}\) for empty many-sorted signatures, \((\mathcal {T}_{\ge n})_{s}\) for non-empty one-sorted signatures, and \(((\mathcal {T}_{\ge n})^{2})_{s}\) for non-empty many-sorted signatures. The properties of the theories generated using these operators are guaranteed by Theorems 8 and 9, as well as the corresponding results from [10].

In two cases of theories defined using the Busy Beaver function, \(\mathcal {T}_{\varsigma }^{\vee }\) and \(\mathcal {T}_{\varsigma \vee }^{=}\), we cannot obtain them by relying on Theorem 10 from, respectively, \(\mathcal {T}_{\varsigma }^{s}\) and \(\mathcal {T}^{=}_{\varsigma }\), since the signatures of the latter theories are not empty. Curiously, adding \(\psi _{\vee }\) to their axiomatizations still has the desirable outcome, but we prove this separately, without relying on Theorem 10. Extending Theorem 10 to non-empty signatures is left for future work.

The number of combinations of properties that we consider, together with the possible types of the signatures, adds up to \(2^{9}=512\). Our negative results from Sect. 3 guarantee that only \(\sim \)15% of the actual table can be filled with examples. The remaining \(\sim \)85% are either shaded or are excluded from the table for space considerations. As for the examples that can be given, notice that there are in total an astonishing number of 78 theories in our table. But, thanks to the theory operators of Definition 1, only 33 of them (\(\sim \)42%) had to be concretely axiomatized in Figs. 5, 7 and 8. The remaining 45 theories were defined using the operators.

5 Conclusion

We examined, in addition to all properties considered in [10], the finite model property, and stable finiteness. Interesting restrictions for the combinations involving these properties were established. We also found interesting theories to fill in our table of combinations, most prominently those involving the Busy Beaver function as well as its inverse.

One possible direction this research could take is reasonably clear: considering the computability of the \(\textit{mincard}\) function, what will, most probably, double the number of theories to be taken into consideration. Further interesting properties that could be considered include the decidability of the theory’s axiomatization, or even its finiteness, and the satisfiability problem of the theory with respect to quantifier-free formulas.

Second, some of the negative results in [10] and in the present paper only hold with respect to the entire set of sorts \(\mathcal {S}_{\varSigma }\). We plan to study if they hold also with respect to proper subsets of sorts, and if they do not, to provide counterexamples to those generalizations.