1 Introduction

For a first-order theory T, we can construct its Stone space \({\text {S}}_n(T)\) of n-types. A function \(f: \{1, \ldots , n\} \rightarrow \{1, \ldots , m\}\) then induces an open continuous function \({\text {S}}_m(T) \rightarrow {\text {S}}_n(T)\). These are standard constructions, and we can collect this data into a functor \(\mathbf {FinSet}^{op }\rightarrow \mathbf {Stone}\). In positive logic we consider only positive existential formulas. We will consider types of positive existential formulas in all models of a positive theory. The resulting type spaces are then spectral spaces. This setting was studied by Haykazyan in [10].

We should mention a semantically different approach, namely the one taken by Ben-Yaacov in [2, 3]. In that approach, only maximal positive existential types are considered. Equivalently, those are the positive existential types realised in an existentially closed model. We discuss this distinction in semantics further in Remark 4.3.

The philosophy of type space functors is that they encode all information about a certain theory. Indeed, in [10, Theorem 4.4] it is shown that T and \(T'\) are isomorphic (in the category that we call \(\mathbf {CohTheory}\), Definition 3.6) if and only if \({\text {S}}(T)\) and \({\text {S}}(T')\) are naturally isomorphic. This result will actually be corollary to our main theorem, from which it follows that \({\text {S}}(-)\) is an equivalence of categories.

Positive logic has also been studied in topos theory via classifying toposes (see Sect. 8), where it is called coherent logic. It is in fact from this world, that we get the key ingredient for our main proof: the Deligne completeness theorem (see Fact 6.10). The definition of type space functors is semantical: a type is a set of (positive existential) formulas that is realised in some model (in the classical sense, so in \(\mathbf {Set}\)). The characterisation we give is syntactical. The Deligne completeness theorem provides the link between these two.

The reader that is familiar with hyperdoctrines will recognise the characterisation of type space functors as specific (coherent) hyperdoctrines (see also Remark 5.8). Hyperdoctrines were introduced by Lawvere [16] and have been studied in categorical settings (e.g. [6]). Of course, type spaces have long been studied by model theorists. This paper provides a precise proof that these two approaches are in fact the same. While the objects in both approaches are the same, the 1-cells and 2-cells in our 2-categories are based on model-theoretic ideas, and are different from the categorical treatments.

Main results We define the 2-category \(\mathfrak {CohTheory}\) of coherent theories (i.e. positive theories), interpretations and definable homomorphisms. We also define the category \(\mathbf {CohTheory}\) of coherent theories and strong interpretations (both in Definition 3.6). To this end we formulate precisely what an interpretation is in positive logic (Definition 3.1). This generalises the usual first-order definition. In \(\mathfrak {CohTheory}\), two theories will be equivalent precisely when they are bi-interpretable. Isomorphisms correspond to essentially having the same Morleyisation.

We also define the 2-category \(\mathfrak {TypeSpaceFunc}\) and category \(\mathbf {TypeSpaceFunc}\) of type space functors (Definition 4.25). These are specific functors \(\mathbf {FinSet}^{op }\rightarrow \mathbf {Spec}\), where \(\mathbf {Spec}\) denotes the category of spectral spaces (Definition 4.13).

The usual construction of a type space \({\text {S}}_n(T)\) from a theory T extends to a 2-functor between these 2-categories. This functor is part of a strict 2-equivalence, where the inverse 2-functor assigns a theory \({{\,\mathrm{Th}\,}}(F)\) to a type space functor F.

Theorem 1.1

The 2-functors

$$\begin{aligned} {\text {S}}: \mathfrak {CohTheory}^{op }\rightleftarrows \mathfrak {TypeSpaceFunc}: {{\,\mathrm{Th}\,}}\end{aligned}$$

form a 2-equivalence of 2-categories, which restricts to an equivalence

$$\begin{aligned} {\text {S}}: \mathbf {CohTheory}^{op }\rightleftarrows \mathbf {TypeSpaceFunc}: {{\,\mathrm{Th}\,}}\end{aligned}$$

Corollary 1.2

The 2-equivalence in Theorem 1.1 restricts to positively model complete (i.e. first-order) theories and type space functors taking their values in \(\mathbf {Stone}\).

There is a well-known duality \(\mathbf {DLat}^{op }\simeq \mathbf {Spec}\), where \(\mathbf {DLat}\) is the category of distributive lattices. So we can view type space functors \(\mathbf {FinSet}^{op }\rightarrow \mathbf {Spec}\) equivalently as functors \(\mathbf {FinSet}\rightarrow \mathbf {DLat}\), associating to n the Lindenbaum–Tarski algebra of formulas in n free variables. We call such functors Lindenbaum–Tarski functors, and collect them in a 2-category \(\mathfrak {LTFunc}\) (Definition 5.6). This exhibits type space functors as specific instances of (coherent) hyperdoctrines (Remark 5.8).

Corollary 1.3

There is a 2-equivalence of categories

$$\begin{aligned} \mathfrak {CohTheory}\simeq \mathfrak {LTFunc}, \end{aligned}$$

which restricts to an equivalence

$$\begin{aligned} \mathbf {CohTheory}\simeq \mathbf {LTFunc}. \end{aligned}$$

This is induced by the equivalence in Theorem 1.1 and the duality \(\mathbf {DLat}^{op }\simeq \mathbf {Spec}\).

Overview We start with a brief recap of some preliminaries in Sect. 2: positive logic, spectral spaces and 2-categories. We only recall basic definitions, and refer to more extensive treatments for the interested reader.

The aim of Sect. 3 is to define the 2-category \(\mathfrak {CohTheory}\) and subsequently the category \(\mathbf {CohTheory}\). For this we give a precise definition of an interpretation between theories from a syntactical point of view.

In Sect. 4 we first identify the characterising properties that a type space functor of the form \({\text {S}}(T)\) always has. This gives rise to a 2-category \(\mathfrak {TypeSpaceFunc}\) of specific functors \(\mathbf {FinSet}^{op }\rightarrow \mathbf {Spec}\). We also define a category \(\mathbf {TypeSpaceFunc}\), where the arrows are natural transformations satisfying the so-called Beck–Chevalley condition. We then conclude that \({\text {S}}(-)\) is a functor of 2-categories.

Section 5 deals with the syntactical perspective of type space functors, and their link to hyperdoctrines. For the main theorem, only a technical result at the start of the section is needed (Proposition 5.3).

Section 6 describes how to construct a theory \({{\,\mathrm{Th}\,}}(F)\) from a type space functor F, as well as how to turn this operation into a 2-functor.

Section 7 contains the proof of the main theorem.

We close out with Sect. 8, linking \(\mathfrak {CohTheory}\) to toposes via classifying toposes.

2 Preliminaries

2.1 Positive logic

We only recall the basics of positive logic. There is a brief introduction in [10], and more extensive treatments in [2, 4, 19]. We stick to single-sorted logic. The notation and conventions for multi-sorted logic are more complicated. However, there should be no intrinsic difficulty with generalising to multi-sorted logic.

Positive logic has been studied in topos theory under the name of coherent logic. This section mentions both, so it can serve as a dictionary.

Definition 2.1

Fix a signature \(\mathcal {L}\). A coherent formula or positive existential formula in \(\mathcal {L}\) is one that is obtained from combining atomic formulas using \(\wedge \), \(\vee \), \(\top \), \(\bot \) and \(\exists \). An h-inductive sentence is a sentence of the form \(\forall \bar{x}(\varphi (\bar{x}) \rightarrow \psi (\bar{x}))\) where \(\varphi \) and \(\psi \) are coherent formulas. A coherent theory or positive theory is a set of h-inductive sentences.

Convention 2.2

Whenever we say “formula” or “theory”, we mean “coherent formula” and “coherent theory” respectively. We allow empty models. All semantics refer to the classical semantics (i.e. in \(\mathbf {Set}\)), unless explicitly stated otherwise.

We can encode any function symbol as its graph using a relation symbol. Having only relation symbols simplifies things, and we lose no expressive power.

Convention 2.3

Every signature we consider is purely relational.

Any first-order theory can be presented as a coherent theory. This is done through a process called Morleyisation, see just after Fact 2.7 in [10]. We recall the following definition from there as well, giving a name to the coherent theories that are essentially first-order theories.

Definition 2.4

A coherent theory T is called positively model complete if for every formula \(\varphi (x)\) there is a formula \(\psi (x)\) such that \(T \models \forall \bar{x}(\lnot \varphi (\bar{x}) \leftrightarrow \psi (\bar{x}))\).

Recall that \(T \models \varphi \) means that \(\varphi \) is true in every model of T. We emphasise that we really are interested in all models of T, rather than just the existentially closed ones. We refer once more to Remark 4.3 for a discussion about the different semantics.

2.2 Spectral spaces

For an extensive treatment of spectral spaces, see [9].

Definition 2.5

For a topological space X, write \(\mathcal {K}^o(X)\) for the partial order of compact open subsets. As such, we consider \(\mathcal {K}^o(X)\) as a category.

Definition 2.6

Let X be a topological space. A closed set \(A \subseteq X\) is called irreducible (sometimes also called hyperconnected) if it cannot be written as the union of two proper closed subsets. We call X a sober space if every irreducible closed set is the closure of exactly one point.

Definition 2.7

A topological space X is called spectral if it is compact, \(T_0\), sober and such that \(\mathcal {K}^o(X)\) is closed under finite intersections and forms a basis of the topology. A continuous function \(f: X \rightarrow Y\) of spectral spaces is called a spectral map if the preimage of a compact open set is compact open. We define \(\mathbf {Spec}\) to be the category of spectral spaces and spectral maps.

Fact 2.8

([9, 1.3.4 and 1.3.20]) A spectral space is \(T_1\) iff it is Hausdorff iff it is a Stone space.

We write \(\mathbf {DLat}\) for the category of distributive lattices with distributive lattice homomorphisms. There is a duality \(\mathbf {DLat}^{op }\simeq \mathbf {Spec}\), see for example [12, Section II.3] or [9, Section 3.2], called the Stone duality for distributive lattices.

Let L be a distributive lattice, then the space associated to it is \({{\,\mathrm{Spec}\,}}(L)\), the spectrum of L. Its points are prime filters on L, and the sets

$$\begin{aligned} \{ F \in {{\,\mathrm{Spec}\,}}(L) : a \in F \}, \end{aligned}$$

where \(a \in L\), form a basis of compact open sets. A homomorphism \(f: L \rightarrow L'\) of distributive lattices, induces a spectral map \({{\,\mathrm{Spec}\,}}(L') \rightarrow {{\,\mathrm{Spec}\,}}(L)\) by sending a prime filter \(F'\) on \(L'\) to \(f^{-1}(F')\).

Conversely, given a spectral space X, the corresponding distributive lattice is given by \(\mathcal {K}^o(X)\) and a spectral map \(f: X \rightarrow X'\) induces a homomorphism of distributive lattices \(f^{-1}: \mathcal {K}^o(X') \rightarrow \mathcal {K}^o(X)\).

2.3 2-Categories

For an extensive treatment of 2-categories see [13, Section B1.1] or [15]. In this paper we will only be interested in strict 2-categories and strict 2-functors.

Convention 2.9

We use the font \(\mathfrak {Category}\) for (strict) 2-categories, and \(\mathbf {Category}\) for (normal) categories. We denote by \(\mathfrak {Category}^{op }\) the 2-category where all 1-cells are reversed, but the direction of the 2-cells does not change.

In addition to objects (0-cells) and arrows (1-cells), a 2-category also has 2-cells, which are morphisms between 1-cells. This allows for the notion of equivalence in a 2-category: two objects A and B are equivalent if there are 1-cells \(f: A \rightarrow B\) and \(g: B \rightarrow A\) such that their compositions are isomorphic, via 2-cells, to the identity. So for example, bi-interpretability of theories is the same thing as being equivalent in the appropriate 2-category, see Remark 3.7.

Note that there are two different ways of composing 2-cells. The first, and most obvious, way is called vertical composition: given 1-cells \(f, g, h: A \rightarrow B\) and 2-cells \(\alpha : f \Rightarrow g\) and \(\beta : g \Rightarrow h\) we can form a 2-cell \(\beta \alpha : f \Rightarrow h\). Then there is also horizontal composition, which works as follows. Suppose we have a diagram as below:

figure a

Then the horizontal composition of \(\alpha \) and \(\beta \) yields a 2-cell \(\beta * \alpha : gf \Rightarrow g'f'\). Of course, these compositions are subject to certain axioms, but these are not relevant for this paper and so we will not go into them here.

Throughout the paper we have simplified results to normal categories as well. This should help if the reader is less familiar with 2-categories.

3 Category of theories and interpretations

Definition 3.1

Let T and \(T'\) be theories in signatures \(\mathcal {L}\) and \(\mathcal {L}'\) respectively. An interpretation \((\Gamma , k): T \rightarrow T'\), where \(k \ge 1\), assigns to each n-ary relation symbol R in T (including the binary symbol for equality) an nk-ary \(\mathcal {L}'\)-formula \(\Gamma (R)\). This can be extended uniquely to a function sending \(\mathcal {L}\)-formulas to \(\mathcal {L}'\)-formulas. We then also require for all \(\mathcal {L}\)-formulas \(\varphi (\bar{x})\) and \(\psi (\bar{x})\) that precisely have free variables \(\bar{x}\) (i.e. they all appear in the formulas):

$$\begin{aligned} T \models \forall \bar{x}(\varphi (\bar{x}) \rightarrow \psi (\bar{x})) \implies T' \models \forall \bar{x}_1 \ldots \bar{x}_n(\Gamma (\varphi )(\bar{x}_1, \ldots , \bar{x}_n) \rightarrow \Gamma (\psi )(\bar{x}_1, \ldots , \bar{x}_n)). \end{aligned}$$

An interpretation \((\Gamma , 1): T \rightarrow T'\) that interprets equality as equality is called a strong interpretation, and we simplify the notation to \(\Gamma : T \rightarrow T'\).

What we call strong interpretation is just called “interpretation” in [10, Definition 4.3]. The same name is also used in topos theory for something in between our notions of strong interpretation and interpretation, see Remark 8.2. However, the model-theoretic notion of interpretation for first-order logic already exists and does in fact coincide with our definition for positively model complete theories, see e.g. [11, Chapter 5].

Remark 3.2

Let \((\Gamma , k): T \rightarrow T'\) be an interpretation and let \(M \models T'\). Then we can define a model \(\Gamma ^*(M)\) as follows. The formula \(\Gamma (x = y)\) defines an equivalence relation on \(A = \{\bar{a} \in M^k : M \models \Gamma (x = x)(\bar{a})\}\). As underlying set for \(\Gamma ^*(M)\) we take \(A / \Gamma (x = y)\). An n-ary relation symbol R is then interpreted as

$$\begin{aligned} \{([\bar{a}_1], \ldots , [\bar{a}_n]) \in \Gamma ^*(M)^n : M \models \Gamma (R)(\bar{a}_1, \ldots , \bar{a}_n)\}, \end{aligned}$$

where \([\bar{a}]\) denotes the equivalence class of \(\bar{a}\). The fact that \((\Gamma , k)\) is an interpretation makes this well-defined. By induction we see that \(\Gamma ^*(M) \models \varphi ([\bar{a}_1], \ldots , [\bar{a}_n])\) if and only if \(M \models \Gamma (\varphi )(\bar{a}_1, \ldots , \bar{a}_n)\). So in particular, \(\Gamma ^*(M)\) is a model of T.

For a strong interpretation \(\Gamma : T \rightarrow T'\), the underlying set of \(\Gamma ^*(M)\) is the same as for M itself.

Remark 3.3

With the notation of Definition 3.1: given any \(\mathcal {L}\)-formula \(\varphi (\bar{x})\), where not all \(\bar{x}\) appear, we can easily make them appear by considering the equivalent formula \(\varphi (\bar{x}) \wedge \bar{x} = \bar{x}\) (where \(\bar{x} = \bar{x}\) is short for a conjunction of equalities). The point of course is that \(\Gamma (\varphi )\) and \(\Gamma (\varphi \wedge \bar{x} = \bar{x})\) may not be equivalent, because \(\Gamma (x=x)\) may not be the entire domain.

Definition 3.4

Let \((\Gamma , k), (\Gamma ', k'): T \rightarrow T'\) be interpretations. A morphism of interpretations \(\theta : (\Gamma , k) \rightarrow (\Gamma ', k')\) is a formula \(\theta (x_1, \ldots , x_k, y_1, \ldots , y_{k'})\) in the language of \(T'\) such that:

  1. (1)

    \(T' \models \forall \bar{x}(\Gamma (x = x)(\bar{x}) \rightarrow \exists \bar{y}\theta (\bar{x}, \bar{y}))\),

  2. (2)

    \(T' \models \forall \bar{x}\bar{y}(\theta (\bar{x}, \bar{y}) \rightarrow \Gamma (x = x)(\bar{x}) \wedge \Gamma '(y = y)(\bar{y}))\),

  3. (3)

    \(T' \models \forall \bar{x} \bar{x}' \bar{y}(\theta (\bar{x}, \bar{y}) \wedge \Gamma (x=x')(\bar{x}, \bar{x}') \rightarrow \theta (\bar{x}', \bar{y}))\),

  4. (4)

    \(T' \models \forall \bar{x} \bar{y} \bar{y}'(\theta (\bar{x}, \bar{y}) \wedge \Gamma '(y=y')(\bar{y}, \bar{y}') \rightarrow \theta (\bar{x}, \bar{y}'))\),

  5. (5)

    for every formula \(\varphi (x_1, \ldots , x_n)\) in the language of T, we have:

    $$\begin{aligned} T' \models \forall \bar{x}_1 \ldots \bar{x}_n \bar{y}_1 \ldots \bar{y}_n(\Gamma (\varphi )(\bar{x}_1, \ldots , \bar{x}_n) \wedge \bigwedge _{i = 1}^n \theta (\bar{x}_i, \bar{y}_i) \rightarrow \Gamma '(\varphi )(\bar{y}_1, \ldots , \bar{y}_n)). \end{aligned}$$

    This simplifies to \(T' \models \Gamma (\varphi ) \rightarrow \Gamma '(\varphi )\) for formulas without free variables.

Two morphisms of interpretations are considered to be equal if they are equivalent formulas, modulo the relevant theory.

Given morphisms \(\theta (\bar{x}, \bar{y}): (\Gamma , k) \rightarrow (\Gamma ', k')\) and \(\eta (\bar{y}, \bar{z}): (\Gamma ', k') \rightarrow (\Gamma '', k'')\), we define their composition to be \(\exists \bar{y}(\theta (\bar{x}, \bar{y}) \wedge \eta (\bar{y}, \bar{z}))\). One easily checks that this defines a morphism \((\Gamma , k) \rightarrow (\Gamma '', k'')\).

Remark 3.5

Let M be a model of \(T'\) and use the notation from Definition 3.4. Then \(\theta \) defines a homomorphism \(f_\theta : \Gamma ^*(M) \rightarrow \Gamma '^*(M)\). For an equivalence class \([\bar{a}] \in \Gamma ^*(M)\) we let \([\bar{b}] \in \Gamma '^*(M)\) be such that \(M \models \theta (\bar{a}, \bar{b})\), and we set \(f_\theta ([\bar{a}]) = [\bar{b}]\).

Definition 3.6

The 2-category of theories \(\mathfrak {CohTheory}\) has as objects theories, as 1-cells interpretations and as 2-cells morphisms of interpretations. Horizontal composition is defined as follows. Consider the following diagram

figure b

Then \(\eta * \theta \) is the following formula:

$$\begin{aligned} \exists \bar{y}_1 \ldots \bar{y}_{k'} \left( \Delta (\theta )(\bar{x}_1, \ldots , \bar{x}_k, \bar{y}_1, \ldots , \bar{y}_{k'}) \wedge \bigwedge _{i = 1}^{k'} \eta (\bar{y}_i, \bar{z}_i) \right) , \end{aligned}$$

where each \(\bar{x}_i\) and \(\bar{y}_i\) is of length \(\ell \) and each \(\bar{z}_i\) is of length \(\ell '\).

The category of theories \(\mathbf {CohTheory}\) has as objects theories and as arrows strong interpretations.

Checking that \(\mathfrak {CohTheory}\) satisfies the axioms of a strict 2-category is lengthy, but straightforward and we omit the proof.

Remark 3.7

An equivalence of two theories T and \(T'\) in \(\mathfrak {CohTheory}\) consists of interpretations \((\Gamma , k): T \rightarrow T'\) and \((\Gamma ', k'): T' \rightarrow T\) such that both compositions are isomorphic, via 2-cells, to the relevant identity interpretations. Such 2-cells correspond to definable isomorphisms (see Remark 3.5). So equivalences in \(\mathfrak {CohTheory}\) are precisely bi-interpretations.

4 Category of type space functors

We start this section by recalling some definitions and facts. From Definition 4.13 on we make and treat new definitions.

Definition 4.1

Let T be a theory, let M be a model of T and let \(\bar{a} \in M\) be a tuple of elements. The (coherent) type of \(\bar{a}\) is defined as:

$$\begin{aligned} {{\,\mathrm{ctp}\,}}^M(\bar{a}) = \{ \varphi (\bar{x}) : M \models \varphi (\bar{a}) \}. \end{aligned}$$

A type in free variables \(\bar{x}\) is a set of formulas \(p(\bar{x})\) such that \(p(\bar{x}) = {{\,\mathrm{ctp}\,}}^M(\bar{a})\) for some model M of T and some \(\bar{a} \in M\).

The category of all natural numbers together with all maps between them is a skeleton of the category of finite sets \(\mathbf {FinSet}\), so we can identify those categories.

Definition 4.2

We define the type space functor \({\text {S}}(T): \mathbf {FinSet}^{op }\rightarrow \mathbf {Spec}\) of a theory T as follows.

Let \(n \ge 0\) be a natural number. Then we define \({\text {S}}_n(T)\) to be the set of all types in n free variables. For a formula \(\varphi \) we write \([\varphi ] = \{ p \in S_n(T) : \varphi \in p \}\), and we topologise \({\text {S}}_n(T)\) by taking these sets as basic opens. We call \({\text {S}}_n(T)\) the type space of T in n free variables.

For a natural number n, we write \(\mathbf {n}= \{1, \ldots , n\}\). For a function \(f: \mathbf {n}\rightarrow \mathbf {m}\), we define a function \({\text {S}}_f(T): {\text {S}}_m(T) \rightarrow {\text {S}}_n(T)\) as follows:

$$\begin{aligned} {\text {S}}_f(T)(p) = \{ \varphi (x_1, \ldots , x_n) : \varphi (x_{f(1)}, \ldots , x_{f(n)}) \in p(x_1, \ldots , x_m) \}. \end{aligned}$$

Semantically, for a realisation \(\bar{a} \in M\) of p, we get \({\text {S}}_f(T)(p) = {{\,\mathrm{ctp}\,}}^M(a_{f(1)}, \ldots ,\)\( a_{f(n)})\).

The elements in \(\mathbf {n}\) are indices of variables, for which we prefer to start at 1 rather than 0. The more common notation for \(\mathbf {n}\) would be [n], but we do not want to confuse it with the notation \([\varphi ]\) for compact open set in a type space.

Remark 4.3

In [2, 3] type space functors in positive logic are also studied, but for different semantics. They only consider existentially closed models. Recall that a model M of some theory T is called existentially closed (abbreviated as e.c.) if for any \(\bar{a} \in M\) and any formula \(\varphi (\bar{x})\) the following holds: whenever there is a homomorphism \(f: M \rightarrow N\), where \(N \models T\), such that \(N \models \varphi (f(\bar{a}))\) then already \(M \models \varphi (\bar{a})\).

The types realised in e.c. models are exactly the maximal types. So in this approach the following set of types is considered:

$$\begin{aligned} M_n(T) = \{ {{\,\mathrm{ctp}\,}}^M(\bar{a}) : \bar{a} \text { is an } n\text {-tuple in an e.c. model } M \text { of } T \}. \end{aligned}$$

Note that we used a different notation from [2, 3] to avoid clashes with our own notation (\({\text {S}}_n(T)\) is used there too). This set \(M_n(T)\) is then also topologised differently, namely by taking the sets \([\varphi ] = \{ p \in M_n(T) : \varphi \in p \}\) as a basis of closed sets, rather than open sets. This way we end up with a compact \(T_1\) space, where the closed sets correspond to partial types (i.e. consistent sets of formulas).

A lot of model theory has been succesfully developed in this setting (e.g. [2,3,4, 19]). However, as Haykazyan notes in [10] this means that in the above setup there is no distinction between definable and type-definable sets.

Interestingly there is a link between the two approaches, as studied in the final two sections of [10]. For example, an omitting types theorem is proved for e.c. models, using the spaces \({\text {S}}_n(T)\) rather than \(M_n(T)\).

Fact 4.4

Let T be a theory, then:

  1. (i)

    \(U \subseteq {\text {S}}_n(T)\) is compact and open iff \(U = [\varphi ]\) for some formula \(\varphi \),

  2. (ii)

    T is positively model complete iff \({\text {S}}_n(T)\) is a Stone space for all \(n \ge 0\),

  3. (iii)

    for any \(f: \mathbf {n}\rightarrow \mathbf {m}\), the map \({\text {S}}_f(T)\) is spectral and open.


Fact (i) follows from compactness and is [10, Lemma 3.4]. For (ii): note that T is positively model complete if and only if \({\text {S}}_n(T)\) is Hausdorff for all \(n \ge 0\), by [10, Proposition 3.8]. Which is equivalent to \({\text {S}}_n(T)\) being a Stone space for all \(n \ge 0\), by Fact 2.8. Finally, (iii) is precisely [10, Proposition 4.1]. \(\square \)

Remark 4.5

In the proof of [10, Proposition 4.1] an explicit description is given of the images and preimages of compact open sets. These explicit descriptions are useful, so we repeat them here:

$$\begin{aligned} {\text {S}}_f(T)([\varphi (x_1, \ldots , x_m)]) = [\exists y_1 \ldots y_m(\varphi (y_1, \ldots , y_m) \wedge x_1 = y_{f(1)} \wedge \ldots \wedge x_n = y_{f(n)})], \end{aligned}$$


$$\begin{aligned} {\text {S}}_f(T)^{-1}([\psi (x_1, \ldots , x_n)]) = [\psi (x_{f(1)}, \ldots , x_{f(n)})]. \end{aligned}$$

Taking the direct image corresponds to introducing existential quantifiers and identifying variables. Taking the preimage corresponds to substitution of variables.

Remark 4.6

For every \(f: \mathbf {n}\rightarrow \mathbf {m}\), we have a functor \({\text {S}}_f(T)^{-1}: \mathcal {K}^o({\text {S}}_n(T)) \rightarrow \mathcal {K}^o({\text {S}}_m(T))\), because \({\text {S}}_f(T)\) is a spectral map. We also have a functor \({\text {S}}_f(T): \mathcal {K}^o({\text {S}}_m(T)) \rightarrow \mathcal {K}^o({\text {S}}_n(T))\) by taking direct images, because \({\text {S}}_f(T)\) is an open continuous map. This gives rise to an adjoint pair of functors \({\text {S}}_f(T) \dashv {\text {S}}_f(T)^{-1}\).

For a logical formula, it does not matter if we first quantify and identify variables and then substitute, or the other way around. This can be expressed by what is called the Beck–Chevalley condition (see e.g. [18, Section IV.9]). We will give a simplified definition for our situation.

Definition 4.7

Suppose that we have a commuting square of open spectral maps as below on the left. Then we say that that square satisfies the Beck–Chevalley condition if the induced square on the right commutes.

figure c

In the notation of Definition 4.7 we have for every \(U \in \mathcal {K}^o(B)\) that

$$\begin{aligned} gf^{-1}(U) \subseteq gf^{-1}h^{-1}h(U) = gg^{-1}k^{-1}h(U) \subseteq k^{-1}h(U). \end{aligned}$$

Here we used the commutativity of the original square for the equality in the middle, because from that we immediately get \(f^{-1}h^{-1} = g^{-1}k^{-1}\). We thus obtain the following fact.

Fact 4.8

In the notation of Definition 4.7, the Beck–Chevalley condition is equivalent to having \(k^{-1}h(U) \subseteq gf^{-1}(U)\) for all \(U \in \mathcal {K}^o(B)\).

Example 4.9

Let T be a theory. Let \(f: \mathbf {n}\rightarrow \mathbf {n+1}\) be the inclusion. Let \(g: \mathbf {n}\rightarrow \mathbf {m}\) be any function. Let \(f': \mathbf {m}\rightarrow \mathbf {m+1}\) and \(g': \mathbf {n+1} \rightarrow \mathbf {m+1}\) be the pushout of f and g. That is, \(f'\) is the inclusion and \(g'\) is the extension of g such that \(g'(n+1) = m+1\). Then this induces a commutative square

figure d

This square satisfies the Beck–Chevalley condition, which comes down to having

$$\begin{aligned} {[}\exists x_{n+1} \varphi (x_{g(1)}, \ldots , x_{g(n)}, x_{n+1})] ={[}\exists x_{m+1} \varphi (x_{g'(1)}, \ldots , x_{g'(n)}, x_{g'(n+1)})], \end{aligned}$$

for every formula \(\varphi (x_1, \ldots , x_{n+1})\). Indeed, this equality holds because the right side is just

$$\begin{aligned} {[}\exists x_{m+1} \varphi (x_{g(1)}, \ldots , x_{g(n)}, x_{m+1})] \end{aligned}$$

and \(m+1\) is not in the range of g.

Example 4.10

Let T be a theory. Let \(f: \mathbf {n+1} \rightarrow \mathbf {n}\) be the identity on \(\mathbf {n}\) and \(f(n+1) = n\). Let \(g: \mathbf {n+1} \rightarrow \mathbf {m}\) be any function. Denote by \(f': \mathbf {m}\rightarrow \mathbf {k}\) and \(g': \mathbf {n}\rightarrow \mathbf {k}\) the pushout of f and g. Again, this pushout induces a commutative square like in Example 4.9, and again this square satisfies the Beck–Chevalley condition. In this case it comes down to the equality

$$\begin{aligned}&{[}\varphi (x_{g(1)}, \ldots , x_{g(n)}) \wedge x_{g(n)} = x_{g(n+1)}] \\&\quad ={[}\exists y_1 \ldots y_k (\varphi (y_{g'(1)}, \ldots , y_{g'(n)}) \wedge x_1 = y_{f'(1)} \wedge \ldots \wedge x_m = y_{f'(m)}) ], \end{aligned}$$

for every formula \(\varphi (x_1, \ldots , x_n)\).

By Fact 4.8 we only have to check that the first formula implies the second. So we let \(x_1, \ldots , x_m\) be such that \(\varphi (x_{g(1)}, \ldots , x_{g(n)})\) and \(x_{g(n)} = x_{g(n+1)}\). Define \(\alpha : \mathbf {n}\rightarrow \{x_1, \ldots , x_m\}\) by \(\alpha (i) = x_{g(i)}\), and let \(\beta : \mathbf {m}\rightarrow \{x_1, \ldots , x_m\}\) be given by \(\beta (i) = x_i\). Then since \(x_{g(n)} = x_{g(n+1)}\) we have that \(\alpha f = \beta g\), so by the universal property of the pushout there is \(\gamma : \mathbf {k}\rightarrow \{x_1, \ldots , x_m\}\). We take \(y_i = \gamma (i)\) for all \(1 \le i \le k\), then one easily verifies that \(\varphi (y_{g'(1)}, \ldots , y_{g'(n)}) \wedge x_1 = y_{f'(1)} \wedge \ldots \wedge x_m = y_{f'(m)}\) holds, as required.

Proposition 4.11

Let T be a theory. Any pushout square in \(\mathbf {FinSet}\) induces a commutative square under the image of \({\text {S}}(T)\), which satisfies the Beck–Chevalley condition.


In Example 4.9 and Example 4.10 we have verified this claim for specific functions f. Up to isomorphism, every function in \(\mathbf {FinSet}\) decomposes as such functions. So by composing squares we conclude that the claim indeed holds for any pushout square. \(\square \)

We can now characterise those functors that arise as type space functors.

Convention 4.12

Let \(F: \mathbf {FinSet}^{op }\rightarrow \mathbf {Spec}\) be a functor, we denote by \(F_n\) and \(F_f\) the images of n and \(f: \mathbf {n}\rightarrow \mathbf {m}\) respectively, to match the notation of \({\text {S}}(T)\).

Definition 4.13

A functor \(F: \mathbf {FinSet}^{op }\rightarrow \mathbf {Spec}\) is called open if every map in its image is open. Such an open functor is called a type space functor if for every pushout in \(\mathbf {FinSet}\), the induced square satisfies the Beck–Chevalley condition.

figure e

The discussion below is interesting in its own right, but not relevant for the rest of the paper, so the reader may skip to after Example 4.15 if they so wish. In [2, Definition 2.18] there is a condition called the “amalgamation property” which is related to the Beck–Chevalley condition. Recall that in their setup only maximal types are considered (see Remark 4.3). If we restrict our setup to consider theories where all types are maximal, we get precisely the theories whose type spaces are \(T_1\) and hence Stone spaces (see Fact 2.8). In that case we get that the two conditions are equivalent. We provide a proof below and thank the anonymous referee for pointing out this equivalence. Afterwards, in Example 4.15, we show that the two conditions are generally not equivalent in our setting.

Proposition 4.14

Suppose we are given a commuting square of open spectral maps between Stone spaces as follows:

figure f

Then the following are equivalent:

  1. (i)

    the universal map \(u: A \rightarrow B \times _D C\) is surjective;

  2. (ii)

    the square satisfies the Beck–Chevalley condition.


We recall that \(B \times _D C = \{(b, c) \in B \times C : h(b) = k(c)\}\) and \(u(a) = (f(a), g(a))\).

First we prove (i) \(\implies \) (ii). Let \(U \in \mathcal {K}^o(B)\). By Fact 4.8 we only need to prove \(k^{-1}h(U) \subseteq gf^{-1}(U)\). So let \(c \in k^{-1}h(U)\). Because we have \(k(c) \in h(U)\) there must be \(b \in U\) such that \(h(b) = k(c)\). Then \((b, c) \in B \times _D C\), so by surjectivity there is \(a \in A\) with \(u(a) = (b, c)\). This means that \(f(a) = b\) and \(g(a) = c\). As \(b \in U\) we thus have \(a \in f^{-1}(U)\) and hence \(c \in gf^{-1}(U)\), as required.

Now we prove the other direction, (ii) \(\implies \) (i). Let \((b, c) \in B \times _D C\). We claim that for any \(b \in B_0 \in \mathcal {K}^o(B)\) and \(c \in C_0 \in \mathcal {K}^o(C)\) the set \(f^{-1}(B_0) \cap g^{-1}(C_0)\) is nonempty.

Let \(B_0\) and \(C_0\) be as in the claim. Then we have \(k(c) = h(b) \in h(B_0)\), so \(c \in k^{-1}h(B_0)\). By assumption we have \(k^{-1}h(B_0) = gf^{-1}(B_0)\), so \(c \in gf^{-1}(B_0)\). Let \(a \in f^{-1}(B_0)\) such that \(g(a) = c\). Then \(a \in g^{-1}(c) \subseteq g^{-1}(C_0)\), which proves the claim.

We set

$$\begin{aligned} \mathcal {U}= \{f^{-1}(B_0) : b \in B_0 \in \mathcal {K}^o(B)\} \cup \{g^{-1}(C_0) : c \in C_0 \in \mathcal {K}^o(C)\}. \end{aligned}$$

It then follows from the claim, together with the fact that \(\mathcal {K}^o(B)\) and \(\mathcal {K}^o(C)\) are closed under finite intersections, that \(\mathcal {U}\) has the finite intersection property. That is, any finite collection of sets in \(\mathcal {U}\) has nonempty intersection. Because we assumed the spaces involved to be Stone spaces, the sets in \(\mathcal {K}^o(A)\) are clopen. So \(\bigcap \mathcal {U}\) is nonempty and we find \(a \in \bigcap \mathcal {U}\). By construction we then have that \(f(a) \in B_0\) for every \(b \in B_0 \in \mathcal {K}^o(B)\). It then follows from the \(T_1\) separation axiom (again, using that we are dealing with Stone spaces), together with the fact that \(\mathcal {K}^o(B)\) is a basis for the topology on B, that \(f(a) = b\). Similarly we get \(g(a) = c\). So \(u(a) = (b, c)\), and we conclude that u is indeed surjective. \(\square \)

In the above proof we used the assumption that the spaces are Stone spaces in two places. The first was to produce an element in \(\bigcap \mathcal {U}\), which can in fact be done in any spectral space, see [9, Theorem 1.3.14]. The second use, namely of the \(T_1\) separation axiom, is essential, as shown in the example below. Note that this also means that the direction (i) \(\implies \) (ii) goes through for any spectral spaces.

Example 4.15

We will show that the requirement of the spaces being Stone spaces cannot be dropped in Proposition 4.14. More precisely, we will construct a theory T and a pushout in \(\mathbf {FinSet}\) such that the image of that pushout under \({\text {S}}(T)\) will not satisfy the surjectivity condition in Proposition 4.14(i). Recall that on the other hand that square will satisfy the Beck–Chevalley condition, as shown in Proposition 4.11.

Consider the language with three unary predicates P(x), Q(x) and R(x). Let T consist of just the h-inductive sentence \(\forall xy(P(x) \wedge Q(y) \rightarrow R(x) \vee R(y))\). We let \(M_1 = \{a, c\}\) be such that \(P(M_1) = \{a, c\}\) and \(Q(M_1) = R(M_1) = \{c\}\), and we let \(M_2 = \{b, c\}\) with \(Q(M_2) = \{b, c\}\) and \(P(M_2) = R(M_2) = \{c\}\). Then \(M_1\) and \(M_2\) are models of T. There is a maximal zero-type, which is isolated by \(\exists x(P(x) \wedge Q(x) \wedge R(x))\). So this is indeed the zero-type that is realised in \(M_1\) and \(M_2\).

Consider the pushout of \(\mathbf {1} \leftarrow \mathbf {0} \rightarrow \mathbf {1}\), which is the disjoint union \(\mathbf {1} + \mathbf {1} =\mathbf {2}\). We will show that the universal map \(u: {\text {S}}_2(T) \rightarrow {\text {S}}_1(T) \times _{{\text {S}}_0(T)} {\text {S}}_1(T)\) is not surjective. Set \(p(x) = {{\,\mathrm{ctp}\,}}^{M_1}(a)\) and \(q(y) = {{\,\mathrm{ctp}\,}}^{M_2}(b)\). Then \(p(x), q(y) \in {\text {S}}_1(T)\) while their restrictions to the zero-type are the same, as we argued before. So \((p(x), q(y)) \in {\text {S}}_1(T) \times _{{\text {S}}_0(T)} {\text {S}}_1(T)\). We claim that there can be no \(r(x, y) \in {\text {S}}_2(T)\) with \(u(r(x, y)) = (p(x), q(y))\). Suppose that such an r(xy) is realised by some \(a', b'\) in some model M we would have \(M \models P(a') \wedge Q(b')\). Then by the one h-inductive sentence that we have in T we get \(M \models R(a') \vee R(b')\), but \(R(x) \not \in p(x)\) and \(R(y) \not \in q(y)\). So r(xy) cannot restrict to both p(x) and q(y). We have arrived at our contradiction and conclude that u is not surjective.

Convention 4.16

For a function of finite sets \(f: \mathbf {n}\rightarrow \mathbf {m}\) we use \(f^{\times k}: \mathbf {n}\mathbf {k}\rightarrow \mathbf {m}\mathbf {k}\) to denote the map that is f on each of the k copies of \(\mathbf {n}\). More precisely, viewing \(\mathbf {n}\mathbf {k}\) as \(\mathbf {n}\times \mathbf {k}\) (and similarly for \(\mathbf {m}\mathbf {k}\)), we have \(f^{\times k}(a, b) = (f(a), b)\) for any \(a \in \mathbf {n}\) and \(b \in \mathbf {k}\).

Definition 4.17

Let F be a type space functor. For \(k \ge 1\), a cartesian family (of arity k) is a family \(\Theta _n \subseteq F_{nk}\) of compact open sets, indexed by the natural numbers, such that the following holds. For \(1 \le i \le n\) denote by \(j_{i,n}: 1 \hookrightarrow \mathbf {n}\) the map with value i. For all n, we require:

$$\begin{aligned} \Theta _n = \bigcap _{i = 1}^n F_{j_{i,n}^{\times k}}^{-1}(\Theta _1). \end{aligned}$$

For \(n = 0\) this is the empty intersection, that is \(\Theta _0 = F_0\).

The name cartesian family is based on the idea that compact open sets correspond to definable sets (Fact 4.4(i)). Then \(\Theta _n\) corresponds to the cartesian product of n times \(\Theta _1\). The entire cartesian family can clearly be recovered from \(\Theta _1\).

Lemma 4.18

Let \(\Theta _n\) be a cartesian family of arity k for F and let \(f: \mathbf {n}\rightarrow \mathbf {m}\) be any function. Then \(\Theta _m \subseteq F_{f^{\times k}}^{-1}(\Theta _n)\) and if f is surjective we have equality.


We have

$$\begin{aligned} F_{f^{\times k}}^{-1}(\Theta _n) = F_{f^{\times k}}^{-1}(\bigcap _{i = 1}^n F_{j_{i,n}^{\times k}}^{-1}(\Theta _1)) = \bigcap _{i = 1}^n F_{f^{\times k}}^{-1} F_{j_{i,n}^{\times k}}^{-1}(\Theta _1) = \bigcap _{i = 1}^n F_{j^{\times k}_{f(i), m}}^{-1}(\Theta _1). \end{aligned}$$

The result follows because \(\Theta _m = \bigcap _{i = 1}^m F_{j_{i,m}^{\times k}}^{-1}(\Theta _1)\), with the final remark because \(f^{\times k}\) is surjective precisely when f is. \(\square \)

Definition 4.19

Let \(F, F'\) be type space functors. A partial natural transformation (of arity k) is a pair \((\beta , k): F \dashrightarrow F'\) where \(k \ge 1\) and \(\beta \) is a family of partial spectral maps \(\beta _n: F_{nk} \dashrightarrow F'_n\). Here n ranges over the natural numbers. The domains of \(\beta \) are required to form a cartesian family (of arity k). Furthermore, for each \(f: \mathbf {n}\rightarrow \mathbf {m}\) we require the following to commute:

figure g

This last requirement is well-defined, because Lemma 4.18 implies that we always have \(F_{f^{\times k}}({{\,\mathrm{dom}\,}}(\beta _m)) \subseteq {{\,\mathrm{dom}\,}}(\beta _n)\).

The partial natural transformations will correspond to interpretations, so we need to express that they preserve necessary logical properties. This is done using a weak version of the Beck–Chevalley condition. Example 4.27 illustrates why we have to consider this weaker version.

Definition 4.20

A partial natural transformation \((\beta , k): F \rightarrow F'\) is said to satisfy the weak Beck–Chevalley condition if for any \(f: \mathbf {n}\rightarrow \mathbf {m}\) the following commutes:

figure h

We say that \((\beta , k)\) satisfies the Beck–Chevalley condition if the above diagram commutes already without taking the intersection. That is \(\beta _n^{-1} F'_f = F_{f^{\times k}} \beta _m^{-1}\).

Finally, we need something that corresponds to morphisms of interpretations. So these will be the 2-cells in the 2-category of type space functors. We will essentially let the equivalence in our main result (Theorem 1.1) induce this 2-category structure. Not much attention will be given afterwards to the 2-cells, so the reader is welcome to use this ‘definition’. In practice we have to be careful about circularity, so formally we proceed as follows.

A morphism of interpretations is given by a formula. So this will correspond to a compact open set in a type space functor. We will then also need to code the conditions (1)–(5) from Definition 3.4. In Definition 6.2 we develop what we call the internal logic of a type space functor. This is a way to talk about the compact open sets in a type space functor as if they were formulas.

Definition 4.21

Let \((\beta , k), (\beta ', k'): F \dashrightarrow F'\) be partial natural transformations. A morphism of partial natural transformations \(\Theta : (\beta , k) \rightarrow (\beta ', k')\) is a compact open set \(\Theta \in \mathcal {K}^o(F_{k+k'})\) satisfying the equivalent to (1)–(5) from Definition 3.4, encoded in the internal logic of F. Vertical and horizontal composition are then also defined as for morphisms of interpretations, encoded in the internal logic of F.

Even though we have not treated the internal logic of a type space functor yet, the following should give an idea of how to apply it in the above definition. For example, the internal logic version of Definition 3.4(5) becomes:

$$\begin{aligned} \llbracket R_{\beta _n^{-1}(U)}(\bar{x}_1, \ldots , \bar{x}_n) \wedge \bigwedge _{i = 1}^n R_\Theta (\bar{x}_i, \bar{y}_i) \rrbracket \subseteq \llbracket R_{\beta _n'^{-1}(U)}(\bar{y}_1, \ldots , \bar{y}_n) \rrbracket , \end{aligned}$$

for all n and all \(U \in \mathcal {K}^o(F_n')\).

Definition 4.22

For an interpretation \((\Gamma , k): T \rightarrow T'\), we define the partial natural transformation \({\text {S}}(\Gamma , k): {\text {S}}(T') \dashrightarrow {\text {S}}(T)\) of arity k, where \({\text {S}}(\Gamma , k)_n: {\text {S}}_{nk}(T') \dashrightarrow {\text {S}}_n(T)\) has domain \([\Gamma (\bar{x} = \bar{x})]\) and is given by

$$\begin{aligned} {\text {S}}(\Gamma , k)_n(p) = \{\varphi (\bar{x}) : \Gamma (\varphi (\bar{x}) \wedge \bar{x} = \bar{x}) \in p\}. \end{aligned}$$

For a morphism of interpretations \(\theta : (\Gamma , k) \rightarrow (\Gamma ', k')\) we define the morphism of partial natural transformations \({\text {S}}(\theta ): {\text {S}}(\Gamma , k) \rightarrow {\text {S}}(\Gamma ', k')\) by

$$\begin{aligned} {\text {S}}(\theta ) = [\theta (\bar{x}, \bar{y})] \subseteq {\text {S}}_{k+k'}(T'). \end{aligned}$$

Remark 4.23

Using Remark 3.2, we can also define \({\text {S}}(\Gamma , k)\) semantically as follows. For \(p \in [\Gamma (\bar{x} = \bar{x})] \subseteq {\text {S}}_{nk}(T')\), let \(\bar{a}_1, \ldots , \bar{a}_n\) be a realisation of p in some \(M \models T'\), then \({\text {S}}(\Gamma , k)_n(p) = {{\,\mathrm{ctp}\,}}^{\Gamma ^*(M)}([\bar{a}_1], \ldots , [\bar{a}_n])\).

Lemma 4.24

With the notation as in Definition 4.22, we have:

  1. (i)

    \({\text {S}}(\Gamma , k)_n^{-1}([\varphi (\bar{x})]) = [\Gamma (\varphi (\bar{x}) \wedge \bar{x} = \bar{x})]\),

  2. (ii)

    \({\text {S}}(\Gamma , k)\) satisfies the weak Beck–Chevalley condition.

For a strong interpretation \(\Gamma : T \rightarrow T'\) this simplifies to:

  1. (i)

    \({\text {S}}(\Gamma )_n^{-1}([\varphi ]) = [\Gamma (\varphi )]\),

  2. (ii)

    \({\text {S}}(\Gamma )\) satisfies the Beck–Chevalley condition.


This comes down to writing out definitions, where (i) is useful for (ii). \(\square \)

Definition 4.25

The 2-category of type space functors \(\mathfrak {TypeSpaceFunc}\) has as objects type space functors, as 1-cells partial natural transformations that satisfy weak Beck–Chevalley and as 2-cells morphisms of partial natural transformations.

The category of type space functors \(\mathbf {TypeSpaceFunc}\) has as objects type space functors and as arrows natural transformations that satisfy Beck–Chevalley.

Corollary 4.26

The operations defined in Definition 4.2 and Definition 4.22 define a 2-functor \({\text {S}}: \mathfrak {CohTheory}^{op }\rightarrow \mathfrak {TypeSpaceFunc}\), which restricts to a functor \({\text {S}}: \mathbf {CohTheory}^{op }\rightarrow \mathbf {TypeSpaceFunc}\).


Let T be a theory, by Fact 4.4 and Proposition 4.11, \({\text {S}}(T)\) is actually an object in \(\mathfrak {TypeSpaceFunc}\) and in \(\mathbf {TypeSpaceFunc}\).

For an interpretation \((\Gamma , k): T \rightarrow T'\), Lemma 4.24 implies that \({\text {S}}(\Gamma , k)\) is indeed a partial natural transformation. By the same lemma, a strong interpretation will indeed correspond to an arrow in \(\mathbf {TypeSpaceFunc}\).

The requirements on a morphism of partial natural transformations just code those on a morphism of partial natural transformations. So the 2-functor is also well-defined on 2-cells. \(\square \)

Example 4.27

This example illustrates why for general interpretations we have to consider the weak Beck–Chevalley condition. Let T be the empty theory in the empty language. Let \(T'\) be the theory with one binary relation symbol E, expressing that E is an equivalence relation (possibly not defined everywhere). We define \((\Gamma , 1): T \rightarrow T'\) by setting \(\Gamma (x = y)\) to be E(xy). Let \(f: \mathbf {2} \rightarrow \mathbf {1}\), then writing out definitions we have

$$\begin{aligned} {\text {S}}(\Gamma , 1)_2^{-1}({\text {S}}_f(T)([x = x])) = {\text {S}}(\Gamma , 1)_2^{-1}([x = y]) = [E(x, y)], \end{aligned}$$


$$\begin{aligned} {\text {S}}_f(T')({\text {S}}(\Gamma , 1)_1^{-1}([x = x])) = {\text {S}}_f(T')([E(x, x)]) = [x = y \wedge E(x, x) \wedge E(y, y)]. \end{aligned}$$

Clearly these two are not the same. The first one is missing a conjunction with “\(x = y\)”, which would precisely correspond to intersecting with the image of \(S_f(T')\).

5 Hyperdoctrines and the Frobenius condition

In this section we connect type space functors with (coherent) hyperdoctrines. For this we recall one more property, the Frobenius condition, and we show that type space functors satisfy this condition (Definition 5.1 and Proposition 5.3). Besides that the contents of this section are not needed for the main theorem.

We always have that \(\psi (x_1) \wedge \exists x_2 \varphi (x_1, x_2)\) is equivalent to \(\exists x_2 (\psi (x_1) \wedge \varphi (x_1, x_2))\). If we let \(f: \mathbf {1} \rightarrow \mathbf {2}\), then this can be expressed as

$$\begin{aligned} {\text {S}}_f(T)([\varphi ] \cap {\text {S}}_f(T)^{-1}([\psi ])) = {\text {S}}_f(T)([\varphi ]) \cap [\psi ]. \end{aligned}$$

This property makes sense for arbitrary adjoints between categories with products, and is called the Frobenius condition (see e.g. [18, Section IV.9]). We will once more just be interested in the simpler case where the categories involved are distributive lattices.

Definition 5.1

Let \(\mathcal {A}\) and \(\mathcal {B}\) be distributive lattices, viewed as categories. Let \(F: \mathcal {A}\rightleftarrows \mathcal {B}: G\) be functors, with \(F \dashv G\). Then this pair of adjoints is said to satisfy the Frobenius condition if for all A and B we have:

$$\begin{aligned} F(A \wedge G(B)) = F(A) \wedge B. \end{aligned}$$

In the notation of Definition 5.1 we have \(F(A \wedge G(B)) \le F(A)\) and \(F(A \wedge G(B)) \le FG(B) \le B\). Combining this we arrive at the following fact.

Fact 5.2

For any pair of adjoint functors as in Definition 5.1, we always have \(F(A \wedge G(B)) \le F(A) \wedge B\).

For every \(f: \mathbf {n}\rightarrow \mathbf {m}\) in \(\mathbf {FinSet}\) the adjoints \({\text {S}}_f(T) \dashv {\text {S}}_f^{-1}(T)\) satisfy the Frobenius condition. This can be checked directly, but it also follows from the following proposition.

Proposition 5.3

Let \(f: X \rightarrow Y\) be an open spectral map of spectral spaces, then the corresponding homomorphism of distributive lattices \(f^{-1}: \mathcal {K}^o(Y) \rightarrow \mathcal {K}^o(X)\) has a left adjoint \(f: \mathcal {K}^o(X) \rightarrow \mathcal {K}^o(Y)\) by taking the image under f. Furthermore, this pair \(f \dashv f^{-1}\) satisfies the Frobenius condition.


As before, taking the direct image is left adjoint to taking the preimage. By Fact 5.2 it is then enough to check \(f(U) \cap V \subseteq f(U \cap f^{-1}(V))\) for all \(U \in \mathcal {K}^o(X)\) and \(V \in \mathcal {K}^o(Y)\), which is easily done. \(\square \)

Using the duality between \(\mathbf {Spec}\) and \(\mathbf {DLat}\) we may also view type space functors as functors \(\mathbf {FinSet}\rightarrow \mathbf {DLat}\), giving a more syntactic perspective. To characterise these functors from this perspective, we prove the converse of Proposition 5.3.

Proposition 5.4

Let \(f: A \rightarrow B\) be a homomorphism of distributive lattices with a left adjoint \(h: B \rightarrow A\) satisfying the Frobenius condition. Then the corresponding spectral map \(f^{-1}: {{\,\mathrm{Spec}\,}}(B) \rightarrow {{\,\mathrm{Spec}\,}}(A)\) is open.


Let U be a basic open in \({{\,\mathrm{Spec}\,}}(B)\), so \(U = \{F \in {{\,\mathrm{Spec}\,}}(B) : b \in F\}\) for some \(b \in B\). We claim that \(U' = \{f^{-1}(F) : F \in U\}\) is the basic open \(V = \{G \in {{\,\mathrm{Spec}\,}}(A) : h(b) \in G\}\), which would prove the proposition.

First, we prove \(U' \subseteq V\). We claim that for a prime filter \(F \subseteq B\), we have that

$$\begin{aligned} f^{-1}(F) = \uparrow h(F) := \{ a \in A : h(b') \le a \text { for some } b' \in F\}. \end{aligned}$$

For \(a \in f^{-1}(F)\) we have that \(f(a) \in F\), so the unit of the adjunction gives \(hf(a) \le a\) and thus \(a \in \;\uparrow h(F)\). For the other inclusion, let \(a \in \;\uparrow h(F)\) and \(b' \in F\) such that \(h(b') \le a\). The adjunction gives \(b' \le f(a)\), and thus \(f(a) \in F\), so \(a \in f^{-1}(F)\).

Let \(F \in U\), then \(b \in F\), so \(h(b) \in \;\uparrow h(F) = f^{-1}(F)\) using the claim. We thus conclude that indeed \(f^{-1}(F) \in V\).

It remains to prove that \(V \subseteq U'\). So let G be a prime filter containing h(b). Then for any \(a \in G\) we have \(f(a) \wedge b \ne 0\). Because if \(f(a) \wedge b = 0\), then by Frobenius we would have \(0 = h(f(a) \wedge b) = a \wedge h(b) \in G\). So if we close \(f(G) \cup \{b\}\) under finite meets and then take the upward closure, we get a filter \(F'\).


$$\begin{aligned} I = \{b' \in B : b' \le f(a) \text { for some } a \not \in G\}, \end{aligned}$$

then I is an ideal. Indeed, it is clearly non-empty and downwards closed. For \(b_1 \le f(a_1)\) and \(b_2 \le f(a_2)\) with \(a_1, a_2 \not \in G\), we have \(a_1 \vee a_2 \not \in G\) since G is a prime filter, and indeed \(b_1 \vee b_2 \le f(a_1) \vee f(a_2) = f(a_1 \vee a_2)\).

We claim that \(I \cap F' = \emptyset \). Any \(b' \in I \cap F'\) would satisfy \(f(a) \wedge b \le b' \le f(a')\) for some \(a \in G\) and \(a' \not \in G\). So applying the adjunction and Frobenius we would have \(a \wedge h(b) = h(f(a) \wedge b) \le a'\), which implies \(a' \in G\) and so we have a contradiction.

Using Zorn’s lemma, we can then extend \(F'\) to a filter F that is maximal disjoint from I. In particular, such an F is a prime filter containing b. We finish our proof by showing that \(f^{-1}(F) = G\). We directly have \(G \subseteq f^{-1}(f(G)) \subseteq f^{-1}(F)\). For the other inclusion we let \(a \in f^{-1}(F)\), then \(f(a) \in F\) and thus \(f(a) \not \in I\). So we must have \(a \in G\), as required, because otherwise we would have \(f(a) \in I\). \(\square \)

Corollary 5.5

A spectral map of spectral spaces is open if and only if the corresponding homomorphism of distributive lattices has a left adjoint satisfying the Frobenius condition.

If we take the perspective of \({\text {S}}(T)\) being a functor into \(\mathbf {DLat}\), then we get a functor that associates to each n the Lindenbaum–Tarski algebra of coherent formulas in n free variables.

Definition 5.6

We call a functor \(F: \mathbf {FinSet}\rightarrow \mathbf {DLat}\) a Lindenbaum–Tarski functor if the following hold:

  1. (i)

    for every \(f{:}\, \mathbf {n}\rightarrow \mathbf {m}\) the homomorphism \(F_f: F_n \rightarrow F_m\) has a left adjoint \(F_f^*: F_m \rightarrow F_n\), such that \(F_f^* \dashv F_f\) satisfies the Frobenius condition;

  2. (ii)

    the image under F of every pushout in \(\mathbf {FinSet}\) satisfies the Beck–Chevalley condition.

The latter means that given a pushout as on the left in the diagram below, the induced square on the right commutes.

figure i

Definitions 4.19 and 4.21 can easily be restated in terms of Lindenbaum–Tarski functors, so we view them as definitions for this setting as well. Note that a partial spectral map \(f: X \dashrightarrow Y\) (with compact open domain) corresponds to a lattice homomorphism \(f^{-1}: \mathcal {K}^o(Y) \rightarrow \mathcal {K}^o(X)\) that may not preserve the top element.

The 2-category of Lindenbaum–Tarski functors \(\mathfrak {LTFunc}\) has Lindenbaum–Tarski functors as objects, as 1-cells partial natural transformations that satisfy weak Beck–Chevalley and as 2-cells morphisms of partial natural transformations.

The category of Lindenbaum–Tarksi functors \(\mathbf {LTFunc}\) has Lindenbaum–Tarksi functors as objects and the arrows are natural transformations that satisfy the Beck–Chevalley condition.

Corollary 5.7

The duality \(\mathbf {DLat}^{op }\simeq \mathbf {Spec}\) induces a 2-equivalence \(\mathfrak {LTFunc}^{op }\simeq \mathfrak {TypeSpaceFunc}\) that restricts to a duality \(\mathbf {LTFunc}^{op }\simeq \mathbf {TypeSpaceFunc}\).

Remark 5.8

What we call a Lindenbaum–Tarski functor is a special case of the more general concept of a (coherent) hyperdoctrine (see [16] and [6]). Hyperdoctrines are more general in the sense that they admit any \(\mathcal {C}^{op }\) as domain where \(\mathcal {C}\) is finitely complete. Besides that the 1-cells and 2-cells in our setting are different from those in [6].

6 Recovering a theory

The goal of this section is to construct a 2-functor \({{\,\mathrm{Th}\,}}(-)\) that will recover a theory from a type space functor. This 2-functor will turn out to be the inverse of \({\text {S}}(-)\). In particular, \({{\,\mathrm{Th}\,}}({\text {S}}(T))\) will essentially be the Morleyisation of T.

The key ingredient in linking the theory we build to semantics is the Deligne completeness theorem (Fact 6.10). For this we need to introduce a deduction-system, which we formulate as a sequent calculus.

Definition 6.1

A (coherent) sequent is an assertion of the form

$$\begin{aligned} \varphi \vdash _{\bar{x}} \psi , \end{aligned}$$

where \(\varphi \) and \(\psi \) are coherent formulas and \(\bar{x}\) is a finite tuple of variables, such that the free variables in \(\varphi \) and \(\psi \) are in \(\bar{x}\).

A sequent \(\varphi \vdash _{\bar{x}} \psi \) corresponds to the h-inductive sentence \(\forall \bar{x}(\varphi (\bar{x}) \rightarrow \psi (\bar{x}))\). So a theory is the same thing as a set of sequents.

Definition 6.2

Let F be a type space functor, we define the internal logic of F as follows. The signature \(\mathcal {L}(F)\) has an n-ary relation symbol \(R_U\) for every \(U \in \mathcal {K}^o(F_n)\), for all \(n \ge 0\).

An n-ary \(\mathcal {L}(F)\)-formula \(\varphi \) will be interpreted as some compact open \(\llbracket \varphi \rrbracket \subseteq F_n\), defined by induction on the complexity of the formula:

  • \(\llbracket \top \rrbracket = F_0\) and \(\llbracket \bot \rrbracket = \emptyset \) (\(\bot \) is considered as an n-ary formula for all n);

  • \(\llbracket R_U(x_{f(1)}, \ldots , x_{f(n)}) \rrbracket = F_f^{-1}(U)\), for all \(f: \mathbf {n}\rightarrow \mathbf {m}\) and \(U \in \mathcal {K}^o(F_n)\);

  • \(\llbracket x_i = x_j \rrbracket = F_e(F_n)\), where \(1 \le i,j \le n\) and \(e: \mathbf {n}\rightarrow \mathbf {n}\) sends i to j and is the identity everywhere else;

  • \(\llbracket \varphi \wedge \psi \rrbracket = \llbracket \varphi \rrbracket \cap \llbracket \psi \rrbracket \);

  • \(\llbracket \varphi \vee \psi \rrbracket = \llbracket \varphi \rrbracket \cup \llbracket \psi \rrbracket \);

  • \(\llbracket \exists x_{n+1} \varphi (\bar{x}, x_{n+1}) \rrbracket = F_f(\llbracket \varphi (\bar{x}, x_{n+1}) \rrbracket )\), where \(f: \mathbf {n}\rightarrow \mathbf {n+1}\) is the inclusion.

Finally, we define the theory of F as follows:

$$\begin{aligned} {{\,\mathrm{Th}\,}}(F) = \{\varphi \vdash _{\bar{x}} \psi : \llbracket \varphi \rrbracket \subseteq \llbracket \psi \rrbracket \}. \end{aligned}$$

Remark 6.3

Because the compact open subsets of \({\text {S}}_n(T)\) correspond to formulas in the language of T, every \(R_U \in \mathcal {L}({\text {S}}(T))\) is of the form \(R_{[\varphi (\bar{x})]}\) for some \(\varphi (\bar{x})\). We may assume that all variables in \(\bar{x}\) actually appear in \(\varphi (\bar{x})\).

The main result of this section is the following theorem.

Theorem 6.4

Let F be a type space functor, then for \(\mathcal {L}(F)\)-formulas \(\varphi \) and \(\psi \):

$$\begin{aligned} {{\,\mathrm{Th}\,}}(F) \models \forall \bar{x}(\varphi (\bar{x}) \rightarrow \psi (\bar{x})) \quad \text {if and only if} \quad \llbracket \varphi \rrbracket \subseteq \llbracket \psi \rrbracket . \end{aligned}$$

Corollary 6.5

Let F be a type space functor, and let \(\varphi \) be an \(\mathcal {L}(F)\)-formula. Then \(\varphi \) is equivalent to \(R_{\llbracket \varphi \rrbracket }\), modulo \({{\,\mathrm{Th}\,}}(F)\).


Straightforward induction on the complexity of \(\varphi \), using Theorem 6.4. \(\square \)

Definition 6.6

For a partial natural transformation \((\beta , k): F \dashrightarrow F'\), we define the interpretation \({{\,\mathrm{Th}\,}}(\beta , k): {{\,\mathrm{Th}\,}}(F') \rightarrow {{\,\mathrm{Th}\,}}(F)\) of arity k as follows. For each compact open \(U \subseteq F'_n\) we let

$$\begin{aligned} {{\,\mathrm{Th}\,}}(\beta , k)(R_U) = R_{\beta _n^{-1}(U)}, \end{aligned}$$

and we set \({{\,\mathrm{Th}\,}}(\beta , k)(x = y) = R_{\beta _2^{-1}(\llbracket x = y \rrbracket )}\).

For a morphism of partial natural transformations \(\Theta : (\beta , k) \rightarrow (\beta ', k')\) we define the morphism of interpretations \({{\,\mathrm{Th}\,}}(\Theta ): {{\,\mathrm{Th}\,}}(\beta , k) \rightarrow {{\,\mathrm{Th}\,}}(\beta ', k')\) as \(R_{\Theta }\).

Lemma 6.7

With the notation as in Definition 6.6, we have:

  1. (i)

    \({{\,\mathrm{Th}\,}}({\text {S}}(\Gamma , k)): {{\,\mathrm{Th}\,}}({\text {S}}(T)) \rightarrow {{\,\mathrm{Th}\,}}({\text {S}}(T'))\) is defined by

    $$\begin{aligned} R_{[\varphi (\bar{x})]} \mapsto R_{[\Gamma (\varphi (\bar{x}))]}, \end{aligned}$$

    where all variables in \(\bar{x}\) appear in \(\varphi (\bar{x})\), and \({{\,\mathrm{Th}\,}}({\text {S}}(\Gamma , k))(x = y)\) is \(R_{[\Gamma (x = y)]}\);

  2. (ii)

    \(\llbracket {{\,\mathrm{Th}\,}}(\beta , k)(\varphi ) \rrbracket = \beta _n^{-1}(\llbracket \varphi \rrbracket )\).


The proof of (i) is writing out definitions, where Lemma 4.24(i) and Remark 6.3 are useful. The proof of (ii) is a straightforward induction argument, where each step is writing out definitions. \(\square \)

Corollary 6.8

The operations defined in Definition 6.2 and Definition 6.6 define a 2-functor \({{\,\mathrm{Th}\,}}: \mathfrak {TypeSpaceFunc}\rightarrow \mathfrak {CohTheory}^{op }\), which restricts to a functor \({{\,\mathrm{Th}\,}}: \mathbf {TypeSpaceFunc}\rightarrow \mathbf {CohTheory}^{op }\).


From Lemma 6.7 and Theorem 6.4 it follows that \({{\,\mathrm{Th}\,}}(\beta , k)\) is indeed an interpretation. All that is left to check is that a natural transformation that satisfies the Beck–Chevalley condition does indeed yield a strong interpretation.

So let \(\beta : F \rightarrow F'\) be a natural transformation satisfying the Beck–Chevalley condition, and let \(e: \mathbf {2} \rightarrow \mathbf {2}\) be given by \(e(2) = e(1) = 1\), then:

$$\begin{aligned} \beta _2^{-1}(\llbracket x = y \rrbracket ) = \beta _2^{-1}(F_e'(F_2')) = F_e(\beta _2^{-1}(F_2')) = F_e(F_2) = \llbracket x = y \rrbracket . \end{aligned}$$

So \({{\,\mathrm{Th}\,}}(\beta )(x = y)\) is \(R_{\llbracket x = y \rrbracket }\), which by Corollary 6.5 is equivalent to \(x = y\). \(\square \)

To prove Theorem 6.4 we need to introduce the deduction-system for coherent logic [14, Section D1.3]. For ease of reference, and to introduce notation, we recall the rules and axioms here.

Definition 6.9

The deduction-system for coherent logic has the following rules and axioms. Throughout, \(\bar{x}\) denotes the tuple \((x_1, \ldots , x_n)\) and \(\varphi \), \(\psi \) and \(\chi \) are arbitrary coherent formulas.

  • (identity) The axiom: \(\varphi \vdash _{{\bar{x}}} \varphi .\)

  • (substitution) Let \(f: \mathbf {n}\rightarrow \mathbf {m}\) be any function, then we have the rule:

    figure j
  • (cut) The rule:

    figure k
  • (equality1) For all \(1 \le i \le n\), the axiom: \(\top \vdash _{\bar{x}} x_i = x_i.\)

  • (equality2) For all \(1 \le i,j \le n\), the axiom: \( (x_i = x_j) \wedge \varphi (x_1, \ldots , x_i, \ldots , x_n) \vdash _{\bar{x}} \varphi (x_1, \ldots , x_j, \ldots , x_n). \)

  • (conjunction) The axioms: \( \varphi \vdash _{\bar{x}} \top , \varphi \wedge \psi \vdash _{\bar{x}} \varphi , \varphi \wedge \psi \vdash _{\bar{x}} \psi , \) and the rule:

    figure l
  • (disjunction) The axioms: \( \bot \vdash _{\bar{x}} \varphi , \varphi \vdash _{\bar{x}} \varphi \vee \psi , \psi \vdash _{\bar{x}} \varphi \vee \psi , \) and the rule:

    figure m
  • (\(\exists \)-quantifier) The double rule:

    figure n
  • (distributivity) The axiom: \( \varphi \wedge (\psi \vee \chi ) \vdash _{\bar{x}} (\varphi \wedge \psi ) \vee (\varphi \wedge \chi ). \)

  • (Frobenius) The axiom: \( \varphi (\bar{x}) \wedge \exists x_{n+1} \psi (\bar{x}, x_{n+1}) \vdash _{\bar{x}} \exists x_{n+1}(\varphi (\bar{x}) \wedge \psi (\bar{x}, x_{n+1})). \)

Note that the converse of the (distributivity) and (Frobenius) rules can be derived from this system [14, page 832]. We also did not mention terms in our (substitution) rule, because our signature is purely relational.

It should be clear that the deduction-system for coherent logic is sound for classical semantics, in fact it is a subset of the usual classical deduction-system. It turns out that it is also complete, and we get the following fact, which appears as [18, Corollary IX.11.3].

Fact 6.10

(Deligne completeness theorem) Let T be a coherent theory. A sequent \(\varphi (\bar{x}) \vdash _{\bar{x}} \psi (\bar{x})\) can be deduced from T in the deduction-system for coherent logic if and only if \(T \models \forall \bar{x}(\varphi (\bar{x}) \rightarrow \psi (\bar{x}))\).

Lemma 6.11

Let F be a type space functor, and let \(\varphi \) be an n-ary formula in \(\mathcal {L}(F)\). Then for every \(f: \mathbf {n}\rightarrow \mathbf {m}\), we have

$$\begin{aligned} F_f^{-1}(\llbracket \varphi (x_1, \ldots , x_n) \rrbracket ) = \llbracket \varphi (x_{f(1)}, \ldots , x_{f(n)}) \rrbracket . \end{aligned}$$


By induction on the complexity of the formula. The non-trivial cases are the equality symbol and existential quantification. In both cases we use that F satisfies Beck–Chevalley, by constructing the pushout of either f and \(e: \mathbf {n}\rightarrow \mathbf {n}\) or f and the inclusion \(\mathbf {n}\rightarrow \mathbf {n+1}\). \(\square \)

Proposition 6.12

Let F be a type space functor, then \({{\,\mathrm{Th}\,}}(F)\) is closed under deductions in the deduction-system for coherent logic. That is, if \(\varphi \) and \(\psi \) are \(\mathcal {L}(F)\)-formulas, then we can deduce \(\varphi \vdash _{\bar{x}} \psi \) from \({{\,\mathrm{Th}\,}}(F)\) precisely when \(\llbracket \varphi \rrbracket \subseteq \llbracket \psi \rrbracket \).


By definition we have that \(\varphi \vdash _{\bar{x}} \psi \) is in \({{\,\mathrm{Th}\,}}(F)\) if \(\llbracket \varphi \rrbracket \subseteq \llbracket \psi \rrbracket \). For the converse, we prove that \({{\,\mathrm{Th}\,}}(F)\) contains all the axioms mentioned in Definition 6.9 and that it is closed under all the rules mentioned in that definition.

The rules (identity), (cut), (equality1), (conjunction), (disjunction) and (distributivity) follow directly from the definition of \({{\,\mathrm{Th}\,}}(F)\). The (substitution) rule follows from Lemma 6.11.

For (\(\exists \)-quantifier) and (Frobenius) we let \(f: \mathbf {n}\rightarrow \mathbf {n+1}\) be the inclusion. Then the former is precisely the adjunction \(F_f \dashv F_f^{-1}\), and the latter follows from the fact that this adjunction satisfies the Frobenius condition (Proposition 5.3).

Finally, we have to check (equality2). Let \(e: \mathbf {n}\rightarrow \mathbf {n}\) be the map that sends i to j and is the identity everywhere else. We have \(\llbracket x_i = x_j \rrbracket = F_e(F_n)\) and \(\llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n) \rrbracket = F_e^{-1}(\llbracket \varphi (x_1, \ldots , x_i, x_j, \ldots , x_n) \rrbracket )\). So, we have

$$\begin{aligned} \llbracket (x_i = x_j) \wedge \varphi (x_1, \ldots , x_i, x_j, \ldots , x_n) \rrbracket = F_e(F_n) \cap \llbracket \varphi (x_1, \ldots , x_i, x_j, \ldots , x_n) \rrbracket . \end{aligned}$$

By the Frobenius condition (Proposition 5.3) this is equal to

$$\begin{aligned} F_e(F_n \cap F_e^{-1}(\llbracket \varphi (x_1, \ldots , x_i, x_j, \ldots , x_n) \rrbracket )) = F_e(\llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n) \rrbracket ). \end{aligned}$$

Note that \(\llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n) \rrbracket = F_e^{-1}(\llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n) \rrbracket )\), either using Lemma 6.11 or the fact that e is idempotent. So we conclude that indeed

$$\begin{aligned}&\llbracket (x_i = x_j) \wedge \varphi (x_1, \ldots , x_i, x_j, \ldots , x_n) \rrbracket \\&\quad =F_e(\llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n) \rrbracket ) \\&\quad =F_e(F_e^{-1}(\llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n) \rrbracket )) \\&\quad \subseteq \llbracket \varphi (x_1, \ldots , x_j, x_j, \ldots , x_n)) \rrbracket . \end{aligned}$$

\(\square \)

Proof of Theorem 6.4

Combine Proposition 6.12 and Fact 6.10. \(\square \)

7 The 2-equivalence

We recall the statement of the main theorem. Note that both Corollary 1.2 and Corollary 1.3 follow directly, using Fact 4.4(ii) and Corollary 5.7 respectively.

Theorem 1.1, repeated

The 2-functors

$$\begin{aligned} {\text {S}}: \mathfrak {CohTheory}^{op }\rightleftarrows \mathfrak {TypeSpaceFunc}: {{\,\mathrm{Th}\,}}\end{aligned}$$

form a 2-equivalence of 2-categories, which restricts to an equivalence

$$\begin{aligned} {\text {S}}: \mathbf {CohTheory}^{op }\rightleftarrows \mathbf {TypeSpaceFunc}: {{\,\mathrm{Th}\,}}\end{aligned}$$


We construct 2-natural isomorphisms \({{\,\mathrm{Th}\,}}({\text {S}}(T)) \cong T\) and \({\text {S}}({{\,\mathrm{Th}\,}}(F)) \cong F\). Since these isomorphisms will also live in \(\mathbf {CohTheory}\) and \(\mathbf {TypeSpaceFunc}\) respectively, this proves both equivalences at the same time. Throughout this proof, when we write \(\varphi (\bar{x})\) for some formula \(\varphi \), we mean that all variables in \(\bar{x}\) actually appear in \(\varphi \).

The isomorphism \({{\,\mathrm{Th}\,}}({\text {S}}(T)) \cong T\). We start by defining a strong interpretation \(\Gamma _T: {{\,\mathrm{Th}\,}}({\text {S}}(T)) \rightarrow T\) as follows: for \(R_{[\varphi (\bar{x})]} \in \mathcal {L}({\text {S}}(T))\) we set \(\Gamma _T(R_{[\varphi (\bar{x})]}) = \varphi (\bar{x})\). Note that by Remark 6.3 this covers all relation symbols in \(\mathcal {L}({\text {S}}(T))\). For a formula \(\psi (\bar{x})\) in \(\mathcal {L}({\text {S}}(T))\), we easily see by induction that \([\Gamma _T(\psi (\bar{x}))] = \llbracket \psi (\bar{x}) \rrbracket \). So by Theorem 6.4, we have

$$\begin{aligned}&{{\,\mathrm{Th}\,}}({\text {S}}(T)) \models \forall \bar{x}(\psi (\bar{x}) \rightarrow \chi (\bar{x})) \\&\quad \Longleftrightarrow \llbracket \psi \rrbracket \subseteq \llbracket \chi \rrbracket \\&\quad \Longleftrightarrow [\Gamma _T(\psi )] \subseteq [\Gamma _T(\chi )] \\&\quad \Longleftrightarrow T \models \forall \bar{x}(\Gamma _T(\psi )(\bar{x}) \rightarrow \Gamma _T(\chi )(\bar{x})). \end{aligned}$$

So \(\Gamma _T\) is indeed a strong interpretation, and in particular an isomorphism.

Naturality in 1-cells for \(\Gamma _T\) follows from Lemma 6.7. For \((\Delta , k): T \rightarrow T'\):

$$\begin{aligned} \Delta (\Gamma _T(R_{[\varphi (\bar{x})]})) = \Delta (\varphi (\bar{x})) = \Gamma _{T'}(R_{[\Delta (\varphi (\bar{x}))]}) = \Gamma _{T'}({{\,\mathrm{Th}\,}}({\text {S}}(\Delta , k))(R_{[\varphi (\bar{x})]})). \end{aligned}$$

Naturality in 2-cells amounts to writing down the relevant square and then writing out the definitions.

The isomorphism \({\text {S}}({{\,\mathrm{Th}\,}}(F)) \cong F\). We define \(\beta _F: {\text {S}}({{\,\mathrm{Th}\,}}(F)) \rightarrow F\) as follows. Let \(n \ge 0\), and let \(p \in {\text {S}}_n({{\,\mathrm{Th}\,}}(F))\). We claim that

$$\begin{aligned} \mathcal {U}_p = \{U \in \mathcal {K}^o(F_n) : R_U \in p\} \end{aligned}$$

is a prime filter on \(\mathcal {K}^o(F_n)\). Clearly \(\emptyset \not \in \mathcal {U}_p\), because p is consistent. For \(U \subseteq V\), we have by definition of \({{\,\mathrm{Th}\,}}(F)\) that \({{\,\mathrm{Th}\,}}(F) \models \forall \bar{x}(R_U(\bar{x}) \rightarrow R_V(\bar{x}))\). So if \(U \in \mathcal {U}_p\), we also have \(V \in \mathcal {U}_p\). Similarly, we have that \(R_{U \cap V}\) and \(R_{U \cup V}\) are equivalent to \(R_U \wedge R_V\) and \(R_U \vee R_V\) respectively, modulo \({{\,\mathrm{Th}\,}}(F)\). From which it quickly follows that \(\mathcal {U}_p\) is a prime filter.

By the Stone duality \(\mathcal {U}_p\) corresponds to an element in \(F_n\). With some abuse of notation we will identify this element with \(\mathcal {U}_p\), and we set \(\beta _{F,n}(p) = \mathcal {U}_p\).

We check that \(\beta _{F,n}\) is a homeomorphism, and that it is natural n. Since homeomorphisms are spectral maps, and natural isomorphisms always satisfy Beck–Chevalley, we then know that \(\beta _F\) is indeed an isomorphism in \(\mathfrak {TypeSpaceFunc}\) and \(\mathbf {TypeSpaceFunc}\). To check that \(\beta \) is a 2-natural transformation, one only needs write out the definitions to see that the relevant diagrams commute, which we omit.

Homeomorphism We first prove that \(\beta _{F,n}\) is continuous. Let U be a compact open set in \(F_n\), then

$$\begin{aligned} p \in \beta _{F,n}^{-1}(U) \;\Longleftrightarrow \; \beta _{F,n}(p) \in U \;\Longleftrightarrow \; U \in \mathcal {U}_p \;\Longleftrightarrow \; R_U \in p \;\Longleftrightarrow \; p \in [R_U]. \end{aligned}$$

So \(\beta _{F,n}^{-1}(U) = [R_U]\), and so we see that \(\beta _{F,n}\) is indeed continuous.

Next we define a map \(g: F_n \rightarrow {\text {S}}({{\,\mathrm{Th}\,}}(F_n))\) that will be the inverse of \(\beta _{F,n}\). Let \(q \in F_n\), and define the set of first-order formulas:

$$\begin{aligned} P_q = {{\,\mathrm{Th}\,}}(F) \cup \{R_U(\bar{x}) : q \in U\} \cup \{\lnot R_V(\bar{x}) : q \not \in V\}. \end{aligned}$$

We claim that \(P_q\) is consistent. Clearly, \({{\,\mathrm{Th}\,}}(F)\) is consistent, because otherwise \(F_n\) would be empty. If \(P_q\) would be inconsistent, then by compactness there would be \(U_1, \ldots , U_k, V_1, \ldots , V_m \in \mathcal {K}^o(F_n)\), such that

$$\begin{aligned} {{\,\mathrm{Th}\,}}(F) \models \lnot \exists \bar{x}(R_{U_1}(\bar{x}) \wedge \ldots \wedge R_{U_k}(\bar{x}) \wedge \lnot R_{V_1}(\bar{x}) \wedge \ldots \wedge \lnot R_{V_m}(\bar{x})), \end{aligned}$$

which is equivalent to

$$\begin{aligned} {{\,\mathrm{Th}\,}}(F) \models \forall \bar{x}(R_{U_1}(\bar{x}) \wedge \ldots \wedge R_{U_k}(\bar{x}) \rightarrow R_{V_1}(\bar{x}) \vee \ldots \vee R_{V_m}(\bar{x})). \end{aligned}$$

By Theorem 6.4, this would mean that \(U_1 \cap \ldots \cap U_k \subseteq V_1 \cup \ldots \cup V_k\). However, by construction we have \(q \in U_1 \cap \ldots \cap U_k\) and \(q \not \in V_1 \cup \ldots \cup V_k\). We thus arrive at a contradiction and conclude that \(P_q\) must be consistent. Let \(\bar{a}\) in some model M of \({{\,\mathrm{Th}\,}}(F)\) realise \(P_q\), then we set \(g(q) = {{\,\mathrm{ctp}\,}}^M(\bar{a})\). This is well-defined, because every n-ary formula in \(\mathcal {L}(F)\) is equivalent to an n-ary relation symbol (by Corollary 6.5), and for every n-ary relation symbol, \(P_q\) contains that symbol or its negation. In particular, \({{\,\mathrm{ctp}\,}}^M(a)\) is determined by \(\{R_U(x) : q \in U\}\), which is essentially the prime filter corresponding to q (under the Stone duality). So g is indeed the inverse function for \(\beta _{F,n}\). We are left to check that g is continuous. For this we let \([R_U]\) be any compact open subset of \({\text {S}}_n({{\,\mathrm{Th}\,}}(F))\) (by a combination of Fact 4.4(i) and Corollary 6.5, every compact open subset is of that form), then we have:

$$\begin{aligned} q \in g^{-1}([R_U]) \;\Longleftrightarrow \; g(q) \in [R_U] \;\Longleftrightarrow \; R_U \in g(q) \;\Longleftrightarrow \; q \in U. \end{aligned}$$

So we have \(g^{-1}([R_U]) = U\), and we conclude that g is indeed continuous and thus that \(\beta _{F,n}\) is a homeomorphism.

Naturality in n Let \(f: \mathbf {n}\rightarrow \mathbf {m}\) be any function. We again abuse notation, and identify elements in the spectral spaces with their corresponding prime filters. Writing out definitions we obtain

$$\begin{aligned}&F_f(\beta _{F,m}(p)) = \{U \in \mathcal {K}^o(F_n) : R_{F_f^{-1}(U)}(x_1, \ldots , x_m) \in p\}, \\&\beta _{F,n}({\text {S}}_f({{\,\mathrm{Th}\,}}(F))(p)) = \{ U \in \mathcal {K}^o(F_n) : R_U(x_{f(1)}, \ldots , x_{f(n)}) \in p \}. \end{aligned}$$

By definition \(\llbracket R_{F_f^{-1}(U)}(x_1, \ldots , x_m) \rrbracket = \llbracket R_U(x_{f(1)}, \ldots , x_{f(n)}) \rrbracket \), so by Theorem 6.4 these are equivalent formulas and hence \(F_f(\beta _{F,m}(p)) = \beta _{F,n}({\text {S}}_f({{\,\mathrm{Th}\,}}(F))(p))\). \(\square \)

8 Classifying toposes

There is an obvious connection between \(\mathfrak {CohTheory}\) and the 2-category \(\mathfrak {Topos}\) of (Grothendieck) toposes, via classifying toposes. In this section we will briefly sketch this connection in terms of a pseudofunctor \(\mathbf {Set}[-]: \mathfrak {CohTheory}^{op }\rightarrow \mathfrak {Topos}\). It is beyond the scope of this paper to study this pseudofunctor any further. We do provide a quick example (Example 8.4) why it cannot be a biequivalence, even after restricting its codomain.

We briefly recall the definition of a classifying topos, for more information we refer to [14, Section D3] and [5]. The classifying topos of T is defined to be the topos \(\mathbf {Set}[T]\) such that there is a natural equivalence

$$\begin{aligned} T\text {-}\mathbf {Mod}(\mathcal {E}) \simeq {{\,\mathrm{Hom}\,}}(\mathcal {E}, \mathbf {Set}[T]), \end{aligned}$$

where \(T\text {-}\mathbf {Mod}(\mathcal {E})\) is the category of models of T internal to \(\mathcal {E}\). It follows that there must be a generic model \(G_T\) in \(\mathbf {Set}[T]\), corresponding to the identity morphism, such that for any geometric morphism \(f: \mathcal {E}\rightarrow \mathbf {Set}[T]\) the corresponding model is given by \(f^*(G_T)\).

Definition 8.1

Every coherent theory T has a classifying topos \(\mathbf {Set}[T]\). We extend this to a pseudofunctor \(\mathbf {Set}[-]: \mathfrak {CohTheory}^{op }\rightarrow \mathfrak {Topos}\) by describing what it does on 1-cells and 2-cells.

Let \((\Gamma , k): T \rightarrow T'\) be an interpretation, and let M be a model of \(T'\) in some topos \(\mathcal {E}\). Then we can carry out the construction from Remark 3.2 internally in \(\mathcal {E}\) to obtain a model \(\Gamma ^*(M)\) of T in \(\mathcal {E}\). In particular, if we consider \(G_{T'}\) in \(\mathbf {Set}[T']\), then we obtain a model \(\Gamma ^*(G_{T'})\) of T in \(\mathbf {Set}[T']\). Under the equivalence

$$\begin{aligned} T\text {-}\mathbf {Mod}(\mathbf {Set}[T']) \simeq {{\,\mathrm{Hom}\,}}(\mathbf {Set}[T'], \mathbf {Set}[T]), \end{aligned}$$

this model corresponds to a geometric morphism \(\mathbf {Set}[\Gamma , k]: \mathbf {Set}[T'] \rightarrow \mathbf {Set}[T]\).

Let \(\theta : (\Gamma , k) \rightarrow (\Gamma ', k')\) be a morphism of interpretations from T to \(T'\). Carrying out the construction from Remark 3.5 internally in \(\mathbf {Set}[T']\) we get an internal homomorphism \(f_\theta : \Gamma ^*(G_{T'}) \rightarrow \Gamma '^*(G_{T'})\). Under the equivalence in (1), this corresponds to a natural transformation \(\mathbf {Set}[\theta ]: \mathbf {Set}[\Gamma , k] \rightarrow \mathbf {Set}[\Gamma ', k']\).

Remark 8.2

In the topos-theoretic setting an interpretation (of coherent theories) is often defined as a coherent functor between the syntactic categories, see e.g. [5, Definition 1.4.12]. This forces the equality symbol to be interpreted as the equality symbol on some definable set. This is thus weaker than our definition of interpretation, where it could be a definable equivalence relation in general. So the temptation to define \(\mathbf {Set}[-]\) via syntactic categories must be resisted.

Even if we restrict codomain of \(\mathbf {Set}[-]\) to coherent toposes (those toposes that classify a coherent theory), it cannot be a biequivalence.

Definition 8.3

([5, Definition 2.2.1]) We call two theories T and \(T'\) Morita-equivalent if their classifying toposes are equivalent: \(\mathbf {Set}[T] \simeq \mathbf {Set}[T']\). Equivalently, this means that they have equivalent categories of models in every topos \(\mathcal {E}\), natural in \(\mathcal {E}\). That is, we have \(T\text {-}\mathbf {Mod}(\mathcal {E}) \simeq T'\text {-}\mathbf {Mod}(\mathcal {E})\), natural in \(\mathcal {E}\).

For those that are more familiar with model-theoretic constructs, there is another way of characterising Morita-equivalence. Recall that for a theory T the syntactic category \(\mathcal {C}_T\) has formulas as objects and definable functions as arrows. One can then form the so-called pretopos completion \(P(\mathcal {C}_T)\) (see e.g. [5, Remark 1.3.18(a)]). Two theories T and \(T'\) are then Morita-equivalent if and only if the corresponding pretopos completions are equivalent as categories, so \(P(\mathcal {C}_T) \simeq P(\mathcal {C}_{T'})\) (see e.g. [20, Corollary 4.9]). Forming the pretopos completion amounts to adding disjoint unions and coequalizers of equivalence relations. So this is very similar to the \((-)^\text {eq}\)-construction in model theory (see e.g. [11, page 151]), only in constructing \(P(\mathcal {C}_T)\) we also add disjoint unions. This last difference will be precisely the obstacle, as we will see below.

It is well-known that Morita-equivalence is weaker than being bi-interpretable. We provide a basic counterexample. More elaborate examples can be found in [7, 8].

Example 8.4

For a distributive lattice L, let T(L) be the (propositional) theory of that lattice. That is, we have a propositional symbol \(R_a\) for each \(a \in L\), and

$$\begin{aligned} T(L) = \{\lnot \exists x(x = x)\} \cup \{R_a \rightarrow R_b : a \le b \text { in } L\}. \end{aligned}$$

Let \(\mathcal {O}(\mathbb {R})\) be the lattice of open subsets of \(\mathbb {R}\), and let \(\mathcal {B}\subseteq \mathcal {O}(\mathbb {R})\) be a countable basis. Then \(\mathbf {Set}[T(\mathcal {O}(\mathbb {R}))]\) and \(\mathbf {Set}[T(\mathcal {B})]\) are both the topos of sheaves on \(\mathbb {R}\). So \(T(\mathcal {O}(\mathbb {R}))\) and \(T(\mathcal {B})\) are Morita-equivalent. However, they can never be bi-interpretable. To see this, let \((\Gamma , k): T(\mathcal {O}(\mathbb {R})) \rightleftarrows T(\mathcal {B}): (\Delta , \ell )\) be any two interpretations. Then by the pigeonhole principle, there must be different opens \(U, V \subseteq \mathbb {R}\) such that \(\Gamma (R_U) = \Gamma (R_V)\), hence \(\Delta \Gamma (R_U) = \Delta \Gamma (R_V)\). So \((\Delta \Gamma , k \ell )\) cannot be isomorphic to the identity interpretation, because that would mean that \(R_U\) is equivalent to \(\Delta \Gamma (R_U) = \Delta \Gamma (R_V)\), and hence to \(R_V\).

If we restrict to a certain class of theories, these counterexamples go away.

Definition 8.5

Call a theory T positively disjoint if there are formulas \(\varphi (\bar{x})\) and \(\psi (\bar{x})\) such that \(T \models \exists \bar{x}\varphi (\bar{x}) \wedge \exists \bar{x} \psi (\bar{x})\) and \(T \models \forall \bar{x} \lnot (\varphi (\bar{x}) \wedge \psi (\bar{x}))\).

From [17, Proposition 5.11] we essentially get the following fact. The fact independently also appears in [21].

Fact 8.6

If T and \(T'\) are positively disjoint theories, then they are Morita equivalent if and only if they are bi-interpretable.

We make two remarks about this fact. The first is that they require that \(T \models \exists x y(x \ne y)\) and similar for \(T'\), instead of being positively disjoint. The inequality symbol is a problem for positive logic, hence the notion of positively disjoint theories. Their proof is easily adjusted. The point is that we can encode so-called “coproduct sorts”.

The second remark is that their notion of Morita equivalence is based on the syntactic definition from [1] and it is for first-order theories. In [20] this is called T-Morita equivalence and they establish a connection with coherent theories and classifying toposes. That is, they prove that for coherent theories T-Morita equivalence coincides with having the same classifying topos (which they call J-Morita equivalence). They also prove that a first-order theory is T-Morita equivalent to its Morleyisation.

Question 8.7

Aside from reflecting equivalences, what nice properties does \(\mathbf {Set}[-]\) have when restricted to positively disjoint theories?