In classical predicate logic it is commonly assumed that the domain of objects is non-empty. This validates inferences such as $$\forall x Fx \models \exists x Fx$$ as well as, if the identity predicate is available, the logical truth of $$\exists x~x=x.$$ What is the motivation for this assumption? In reality it is arguably not a logical contradiction to assume that nothing exists.
-
1Because it makes a lot of theorems easier to prove. In classical logic, you can always consider the case of an empty domain separately. – Mark Saving Aug 18 '21 at 15:29
-
9It's a mostly pointless historical artifact. – Eric Wofsey Aug 18 '21 at 15:32
-
2@EricWofsey elaborating on this historical anecdote would be neat to hear if you have the time. – Nap D. Lover Aug 18 '21 at 15:34
-
2Why is there something, rather than nothing? A great mystery indeed... – Jair Taylor Aug 18 '21 at 20:18
-
1@JairTaylor Right, and it wouldn't be mysterious at all if there was indeed a necessarily existing entity. I wonder if some theologian has (ab)used this logical assumption to argue for a necessary being. :D – Max Aug 18 '21 at 23:01
-
@Max sure, many philosophers and theologians tried similar throughout history which is called the Ontological Argument. Most famous and old one is from Anselm, and Kant's objection using predicate. Godel also had a modal version. – cinch Aug 18 '21 at 23:25
-
In mathematics, we cannot infer from $\forall a\in X: P(a)$ that $P(y)$ for some object $y$ unless we had assumed or previously inferred that the set $X$ is non-empty. – Dan Christensen Aug 19 '21 at 15:18
4 Answers
Contrary to popular belief, many theorems are more elegantly stated if we allow empty structures. For just one example, the following is one of the most useful tests for quantifier elimination.
A theory $T$ has quantifier-elimination if and only if for all models $M\models T$ and $N\models T$, any substructure $A\subseteq M$, and any embedding $f\colon A\to N$, $f$ is a partial elementary map.
The theorem is false if we require the structure $A$ to be non-empty. If you look at Marker's book Model Theory: An Introduction, Theorem 3.1.4, he actually adds the unnatural hypothesis that the language contains a constant symbol in order to get around this issue!
On the other hand, one of the only places that I'm aware of where it really helps to assume all structures are non-empty is the prenex normal form. For example, the sentence $(\forall x\, P(x))\land Q$, where $P$ is a $1$-ary relation symbol and $Q$ is a proposition symbol (a $0$-ary relation symbol) is not equivalent to any sentence in prenex form. Of course, this can be fixed by changing the theorem: every first-order formula is equivalent over non-empty structures to one in prenex form. But I'll admit it is a little bit unsatisfying.
If anyone has other examples of places where forbidding empty structures genuinely seems to improve the theory, I'd like to hear about them. (Though fair warning: I'm a real partisan on this issue, so I'll probably respond by trying to convince you that there's an elegant solution allowing empty structures.)
In my experience, there are really no problems developing the basics of first-order logic with empty structures - once you fix the proof rules to be sound on empty structures, of course! But again, there are proof systems which are sound and complete on empty structures and just as elegant as traditional proof systems, if not more so. If you want to see the details of the completeness theorem worked out, you can look at Chapter 3 of these lecture notes on model theory, where I give a sequent calculus system that is sound and complete for many-sorted first-order logic in which any or all of the sorts are permitted to be empty.

- 76,357
-
2I do find it quite ironic that your notes assume a non-empty set of sorts. – Mark Saving Aug 18 '21 at 20:53
-
2@MarkSaving Ha! I feel like I must have had a reason for making that requirement at the time, but now I can't remember... And I'm pretty sure it's the wrong choice, since working over the empty set of sorts gives you exactly propositional logic. If I ever get around to editing the notes, I'll take it out. – Alex Kruckman Aug 18 '21 at 21:00
-
Thanks for posting the lecture notes. I'm a little confused by what a variable sequence is. Is it a sequence of variable symbols or a mapping from variable symbols to interpretations (I think the latter is called a Tarskian sequence but I'm not sure)? – Greg Nisbet Aug 19 '21 at 00:29
-
1@GregoryNisbet Where does the term "variable sequence" appear in the notes? A "variable context" is just a finite tuple / sequence of variables. I call the mapping of variables to elements of a structure an "interpretation" of the variable context. – Alex Kruckman Aug 19 '21 at 00:45
-
Yes, you're right. The word context is used consistently. Does the order of the variables come from the linear order that they appear in in the term/wff ... or is the order of the free variables one of the things that you intrinsically get to pick when writing down a term/wff? – Greg Nisbet Aug 19 '21 at 00:49
-
2@GregoryNisbet The way I wrote the notes, the order is something you're able to pick. So $x=y+1$ is a formula both in context $(x,y)$ and in context $(y,x)$. But it might be better to take a context to be a finite set of variables, so the order doesn't matter... – Alex Kruckman Aug 19 '21 at 01:53
-
How would one formally define simultaneous recursion in def 1.11. ? – Vivaan Daga Dec 07 '21 at 13:21
-
@Lobic Sorry, what is def 1.11? Are you referring to my notes? I don't think there's a def 1.11 there... – Alex Kruckman Dec 07 '21 at 13:26
-
Oh! You have two different sets I meant on page 4 here : https://akruckman.faculty.wesleyan.edu/files/2020/05/Lecture-Notes.pdf It also appear in the other set (the one in this answer) in section 1.5 – Vivaan Daga Dec 07 '21 at 13:38
-
@Lobic Oh, well those are lecture notes from a different class! Anyway, since your question about formalizing this recursive definition is far removed from the original question, and it would benefit from an answer that's longer than a comment, I think you should ask a new question. – Alex Kruckman Dec 07 '21 at 14:15
-
@AlexKruckman I know how to formalize a recursive def in set theory (using intersections) but i was confused about how formulate the simaltanoues recursion ; I am not sure how to formualte the question ; is there a simultanoues recursion theorem? – Vivaan Daga Dec 07 '21 at 16:01
-
1@Lobic In fact, nothing special has to be done. My comment that the definition is "simultaneous across all contexts $\overline{x}$" is just to emphasize that we are not fixing a context $\overline{x}$ and giving a recursive definition of "formula in the fixed context $\overline{x}$", i.e., of the set ${\varphi\mid \varphi\text{ is a formula in context }\overline{x}}$. Instead, we're giving a recursive definition of the set of pairs ${(\varphi,\overline{x})\mid \varphi\text{ is a formula in context }\overline{x}}$. – Alex Kruckman Dec 07 '21 at 16:36
-
-
Is there a particular reason variable contexts’ are sequences and not just sets? – Vivaan Daga Jun 02 '22 at 10:23
-
@VioletFlame No, sets work perfectly well (and might be more elegant). I actually made a comment to this effect above. – Alex Kruckman Jun 02 '22 at 12:12
-
What would you blame that causes things to go wrong if we adopt a classical proof system a lot of people blame the axiom $\forall x A[x]\to A[t/x]$ but I can’t see why this doesn’t hold in the empty model. There is nothing in its proof that stops it from going through AFAIK. – Vivaan Daga Jun 08 '22 at 13:15
-
@VioletFlame If you give me any proof system $S$ which is complete over non-empty structures, it proves $\exists x, (x = x)$. This sentence is false in an empty model, so $S$ is not sound over arbitrary structures. Thus there is some axiom or rule in $S$ which is not sound over arbitrary structures. Which axiom or rule this is of course depends on the proof system! But it's just a matter of inspecting every axiom and every rule and checking whether it's sound on empty structures. – Alex Kruckman Jun 08 '22 at 13:33
-
@VioletFlame The situation with the axiom $\forall x A[x]\to A[t/x]$ is a bit subtle. Let's take $A$ to be $\bot$, the contradictory formula. Then the axiom reads $\forall x \bot\to \bot$, which seems to be unsound, since $\forall x\bot$ is true in an empty structure, while $\bot$ is always false. But note that an instance of this axiom requires both a formula $A$ and a term $t$. If there is any term with no free variables (in the empty context), then there are no empty structures. So let's assume $t$ is a term in the non-empty context $y$. Then $\bot[t/x] = \bot$ is a formula in context $y$. – Alex Kruckman Jun 08 '22 at 13:38
-
@VioletFlame And as a formula in non-empty context $y$, $\bot$ is actually valid in an empty structure (vacuously, since there are no interpretations of $y$ in an empty structure). So if we adopt the convention that every formula comes with a variable context (i.e., we don't identify $\bot$ in the empty context and $\bot$ in context $y$), then the axiom is actually sound in empty structures. The upshot is that whether this axiom is sound or not depends on the conventions around how to treat free variables. – Alex Kruckman Jun 08 '22 at 13:41
-
Thanks that helps, but other inferences that we are used to for instance if $\phi \to (a \land \neg a)$ then $\neg \phi$ are also unsound over the empty model so it’s not just one thing at fault and one needs to develop a new axiomatic system like yours correct? – Vivaan Daga Jun 08 '22 at 15:13
-
@VioletFlame Why do you think that inference is unsound over the empty model? "One needs to develop a new axiomatic system like yours" - again, the point is that any proof system $S$ which is complete over non-empty structures fails to be sound over arbitrary structures. Unsound systems are useless, so yes, one needs to develop a new one. It's not as simple as just dropping some rule - you'll lose completeness this way. Does it have to be "like mine"? No, not necessarily. There are lots of different ways such a proof system could look, just like in the classical case. – Alex Kruckman Jun 08 '22 at 15:21
-
I think it’s unsound because, consider: $\forall x (x=x)\to (x=x)\land \neg (x=x)$ which is true in the empty model. But in this case $\neg \phi$ is false. – Vivaan Daga Jun 08 '22 at 15:43
-
This is the same issue about free variables arising again. $\forall x (x = x)\to (y = y)\land \lnot (y=y)$ [I prefer not to reuse variable names] is valid in the empty structure as a formula in context $y$. $\exists x(x = x)$ is also valid in the empty structure as a formula in context $y$. Anyway, this conversation is getting too long. Let's end it here. – Alex Kruckman Jun 08 '22 at 15:51
I will present an abbreviated version of the traditional account of one-sorted classical logic's semantics, explain why we can't allow empty models under this semantics, and show how we can modify the traditional account to allow for empty models.
Fix a language $L$ - that is, a collection of function symbols and predicate symbols.
A structure is a non-empty set $M$, together with, for each $n$-ary function symbol $f$, a function $f_M : M^n \to M$, and for each $n$-ary predicate symbol $P$, an $n$-ary predicate $P_M \subseteq M^n$. The structure is usually abusively denoted as $M$.
Recall that we take the set of all variables to be a countably infinite set $V$. Given a structure $M$, a variable assignment for $M$ is defined to be a function $V \to M$. Given a variable assignment $\alpha$, a variable $v \in V$, and some $m \in M$, we define $\alpha[v \mapsto m]$ to be the variable assignment sending $v$ to $m$, and sending $x \neq v$ to $\alpha(x)$.
Given a term $t$ and a variable assignment $\alpha$, we can define the "interpretation of $t$ in $\alpha$", written as $\alpha(t)$, as follows:
$\alpha(v) = \alpha(v)$ whenever $v \in V$ (here, the left side is "the interpretation of $v$ in $\alpha$" and the right side is function application)
$\alpha(f(t_1, ..., t_n)) = f_M(\alpha(t_1), ..., \alpha(t_n))$ whenever $f$ is an $n$-ary function symbol and $t_1, ..., t_n$ are terms.
The statement $M, \alpha \models \phi$, where $M$ is a structure, $\alpha$ is a variable assignment, and $\phi$ is a statement in 1st-order logic in the language $L$, is defined recursively as follows:
$M, \alpha \models t_1 = t_2$ if and only if $\alpha(t_1) = \alpha(t_2)$
$M, \alpha \models P(t_1, ..., t_n)$ if and only if $(\alpha(t_1), ..., \alpha(t_n)) \in P_M$
$M, \alpha \models \top$ always
$M, \alpha \models \bot$ never
$M, \alpha \models A \land B$ if and only if $M, \alpha \models A$ and $M, \alpha \models B$
... (other connectives omitted)
$M, \alpha \models \exists x \phi$ if and only if there is some $m \in M$ such that $M, \alpha[x \mapsto m] \models \phi$
$M, \alpha \models \forall x \phi$ if and only if for all $m \in M$, $M, \alpha[x \mapsto m] \models \phi$
We define $M \models \phi$ to mean that for all $\alpha : V \to M$, it is the case that $M, \alpha \models \phi$. This is read as "$M$ is a model of $\phi$".
Note that this definition immediately runs into a problem if we allow $M$ to be empty. This is because there are no variable assignments $\alpha : V \to M$. Therefore, for all $\phi$, $M \models \phi$. This is very much not what we want! We don't want models of contradictory phenomena. We want there to be models of statements if and only if these statements are consistent.
Thankfully, there is a way to revise this account to allow for empty models.
A flexible variable assignment is defined to be a partial function $\alpha : V' \to M$, where $V'$ is a subset of $V$. A flexible variable assignment $\alpha : V' \to M$ is said to be "compatible with $\phi$" (my own terminology) if $FreeVariables(\phi) \subseteq V'$. Given some flexible variable assignment $\alpha : V' \to M$, some variable $v \in V$, and some $m \in M$, we can define a flexible variable assignment $\alpha[v \mapsto m] : V' \cup \{v\} \to M$ which sends $v$ to $m$ and sends $x \in V'$, $x \neq v$ to $\alpha(x)$.
Once we've defined flexible variable assignments, we can define the interpretation of a term over this flexible assignment. A flexible variable assignment $\alpha : V' \to M$ is compatible with a term $t$ iff $FreeVariables(t) \subseteq V'$. If $\alpha$ is compatible with $t$, then the interpretation of $t$ in $\alpha$, written $\alpha(t)$, is defined by
$\alpha(v) = \alpha(v)$ whenever $v$ is a variable (the right side being actual function application, the left side being "the interpretation of $v$ in $\alpha$)
$\alpha(f(t_1, ..., t_n)) = f_M(\alpha(t_1), ..., \alpha(t_n))$ for all $n$-ary function symbols $f$ and terms $t_1, ..., t_n$
The statement $M, \alpha \models \phi$, where $M$ is a structure, $\alpha$ is a flexible variable assignment on $M$, $\phi$ is a statement in the language $L$, and $\alpha$ is compatible with $\phi$, is recursively defined to mean
$M, \alpha \models t_1 = t_2$ if and only if $\alpha(t_1) = \alpha(t_2)$
$M, \alpha \models P(t_1, ..., t_n)$ if and only if $(\alpha(t_1), ..., \alpha(t_n)) \in P_M$
$M, \alpha \models \top$ always
$M, \alpha \models \bot$ never
$M, \alpha \models (A \land B)$ if and only if $M, \alpha \models A$ and $M, \alpha \models B$.
... (other connectives omitted)
$M, \alpha \models \exists x \phi$ if and only if there exists $m \in M$ such that $M, \alpha[x \mapsto m] \models \phi$.
$M, \alpha \models \forall x \phi$ if and only if for all $m \in M$, $M, \alpha[x \mapsto m] \models \phi$.
The statement $M \models \phi$ means that for all flexible variable assignments $\alpha : V' \to M$ compatible with $\phi$, it is the case that $M, \alpha \models \phi$.
Note that there's a bit more work here. For example, we have to show that if $\alpha$ is compatible with $\forall x \phi$, then $\alpha[x \mapsto m]$ is compatible with $\phi$.
But this does get us out of the earlier conundrum by allowing $M$ to be empty. This is because there is always the empty variable assignment, which is compatible with the statement $\bot$. So it is never the case that $M \models \bot$ even when $M$ is empty.
It turns out that it's not too difficult to slightly modify the normal rules of classical predicate logic so that they are sound and complete over this modified definition of "models". The modified rules prove exactly the same statements as the "ordinary rules" if you assume $\exists x \top$.

- 31,855
-
6An even better "way out" - which I consider to be the correct semantics for first-order logic - is to declare that every term and every formula comes with a variable context (which includes all of the variables appearing free in the term/formula). The variable context is part of the definition of the syntax. For example, $x$ is a term in context $(x_1,\dots,x_n)$ if and only if $x$ is one of the variables $x_i$, we declare that $\forall x, \varphi$ is a formula in context $(y_1,\dots,y_n)$ if $\varphi$ is a formula in context $(x,y_1,\dots,y_n)$, etc. – Alex Kruckman Aug 18 '21 at 19:48
-
3Then given a formula $\varphi$ in variable context $(x_1,\dots,x_n)$, a structure $M$, and an interpretation $(a_1,\dots,a_n)$ of the variables in the context, we can ask about the satisfaction $M\models \varphi(a_1,\dots,a_n)$. This avoids the universal quantification over (flexible) variable assignments: to know what element a term refers to, or to know whether a formula is satisfied, you just need to assign values to the variables in its context. – Alex Kruckman Aug 18 '21 at 19:55
-
1@AlexKruckman Yes, I agree. That semantics also has nice parallels the way judgements are phrased in formal type theory and the categorical semantics of logic. I just wanted to present a simple solution that was as closely analogous to the traditional semantics as possible. – Mark Saving Aug 18 '21 at 20:47
-
Maybe I'm missing something, but how does this work if the language contains individual constants? If the domain is empty, those constants don't refer to anything. If $c$ is such a constant, would the formula $P(c)$ simply be interpreted as false? – Max Aug 18 '21 at 22:56
-
2@Max Keep in mind that a constant is just a zero-ary function symbol $c$. Thus, if $M$ is a structure for the language, we will have $c_m : M^0 \to M$. Since $M^0$ always has exactly one element $$, we have $c_m() \in M$. So there are no empty models of languages with constant symbols. – Mark Saving Aug 18 '21 at 23:44
-
1@AlexKruckman Mind adding these two comments to your answer? I found them helpful. – user76284 Aug 19 '21 at 04:35
-
I suppose one modifies the proof rules, by trivially modifying the initiation rule? Right? – Vivaan Daga Mar 13 '22 at 15:10
-
@VioletFlame Yes, the rule for existential introduction must be modified somewhat. For an even better account, you can see Kruckman’s model theory notes in the accepted answer. I found them to be quite illuminating. – Mark Saving Mar 14 '22 at 16:26
If you allow the domain to be non-empty, then you need to introduce more complexity to handle non-logical symbols.
You can relax or eliminate the assumption of domain non-emptiness, which gives you various flavors of free logic.
Free logic on the face of it addresses a slightly different problem, namely how to handle constant symbols that happen not to refer to anything or partial functions.
However, these are questions that you need to address if you want to allow constant symbols in your non-logical vocabulary. In the theory of Peano Arithmetic, for example, there's a constant $0$. In an empty structure, there's nothing that $0$ can refer to ... so it's not clear how to build a structure with an empty domain that could be or not-be a model of PA.

- 11,657
-
10This is a complete non-issue. There simply does not exist any structure with an empty domain over a language that has a constant symbol. This does not require any special treatment; it is immediate from the definition of a structure. – Eric Wofsey Aug 18 '21 at 16:15
In classic (quantified) predicate logic, we assume that the domain of discourse contains at least one object and that every constant in the language refers to an object in that domain. Of course you can create your own logic system without such idealization, but you'll always bear in mind that we may have no objects to range over in your formula, it will complicate the form of language considerably without much gain in analyzing real issues. Real issues are always grounded upon existing physical or well defined (mental) abstract objects, otherwise it's a somewhat nihilistic or purely imagined unicorn/pegasus-like metaphysical problem which free logic can be employed to describe.
A free logic is a logic with fewer existential presuppositions than classical logic. Free logics may allow for terms that do not denote any object. Free logics may also allow models that have an empty domain. A free logic with the latter property is an inclusive logic.
At a deeper philosophical level, philosopher Quine has a famous dictum
"To be is to be the value of a bound variable."
Existence itself is not a predicate in classic logic consistent with Quine's spirit, so we first have to assume the non-emptiness of the domain to be ranged over for the bound variable. In other words, the existence of all your variables in classic FOL is already implicitly assured by the non-emptiness assumption of the domain of discourse at this genesis stage, later quantifiers further decide their existence under corresponding predicates... As a summary here in classic logic we are all realists and commit to the non-emptiness of any domain of discourse of interest. If it turns out no such object in this non-empty domain satisfies some predicate P(x), then we simply conclude the proposition $\neg \exists xP(x)$ or $\forall x \neg P(x)$.

- 1,648
- 1
- 4
- 12
-
2Why are empty sets, empty graphs, empty orders, etc. not domains of discourse of interest? Can't you be a realist and accept the reality of these mathematical objects? "Every constant in the language refers to an object in that domain" - Indeed! If there are constant symbols in the language, then there are no empty structures. But in the language of sets, the language of graphs, the language of orders, etc., it is just wrong to deny existence to empty structures. – Alex Kruckman Aug 18 '21 at 19:59
-
@AlexKruckman thx for your feedback and challenge. However I don't find any contradiction of my statements here. For example, in the language of ZF sets, empty set is considered a building block object in the background domain of discourse and can be defined as ∀y(y=∅↔∀z(z∉y)), (see here) but the domain of discourse itself is required to be non-empty in FOL so the Unordered Pair Axiom implies the existence of a set that contains this pair. (to be continued) – cinch Aug 18 '21 at 23:00
-
...otherwise if the background domain of discourse is empty, we cannot make sure such unordered pair existence and have to add additional premises to just express same effect. Like treating null pointer exception in programming language, it's better to exclude these trivial but annoying edge cases in most situations. Human mind doesn't like unnecessary complication, as evidenced by your own lecture note when you assumed non-empty set of sorts for reasons now you forgot and confidently oppose yourself now... – cinch Aug 18 '21 at 23:09
-
3One issue here is: What is first-order logic for? If its purpose is to axiomatize classes of mathematical structures (so we're interested in the theory of groups, orders, graphs, etc.) then it is unnatural to exclude empty structures. If its purpose is to provide a foundation for a wide swath of mathematics (so we're interested in set theories, theories of arithmetic, etc.) then it is perfectly natural to want to require the existence of some objects. – Alex Kruckman Aug 19 '21 at 02:23
-
4Of course, first-order logic has both roles! But even in the foundational setting, I would argue that it is the role of the theory, not the underlying logic, to assert the existence of objects. As ZFC does, for example, with the axiom of infinity. – Alex Kruckman Aug 19 '21 at 02:25
-
@AlexKruckman I believe logic is the foundation of all epistemic fields, including math, philosophy and language, as the morphology from Greek universal logos to logic and you can see the word "language" is etymologically related to "logos" hinting logic was regarded as atomic component of any natural language since ancient times... Set theory is just another metalanguage built on FOL to give more semantic meanings and abstract relations than plurals and offer more predicates and wffs. But the ultimate existence or not (T or ⊥) is an epistemic issue already encoded in ∃ quantifier in logic. – cinch Aug 19 '21 at 03:25