That's my question really.
Why sets, and why do they have to be non-empty?
How can an empty language have structures at all?
That's my question really.
Why sets, and why do they have to be non-empty?
How can an empty language have structures at all?
Copyright © 2021 JogjaFile Inc.
Logic statements are meant to be about objects. What objects? Well, that's what a structure determines. But, in general, it's about some objects ... a 'bunch of' objects. So, a set works pretty darn well for that.
Why non-empty? First, in free logics the domain can actually be empty. But, you're right, we typically require the domain to be non-empty, i.e. be a non-empty set. This has some important practical consequences. For one, it makes many proof systems work. For another, you can infer $\exists x \ \varphi(x)$ from $\forall x \ \varphi(x)$. and finally, it is a pretty innocuous assumption to assume that your domain is non-empty. So, high benefit and low cost to assuming your domain is non-empty.
Finally, how does this the assumption of a non-empty domain square with an empty language? Indeed, how can we talk about anything at all with an empty language? Well, the first thing to note is that having an empty language does not mean that you don't have any symbols to work with at all. Indeed, the purely logical operators, like $\land$, $\neg$, and $\forall$ are always part of your language. It's just that there are non non-logical symbols, like $P$ or $a$.
In fact, we always have variables as part of predicate logic, and we would like them to have somethng to refer to, and a non-empty domian helps us to do so.
Also, remember that there is the $=$ (identity) predicate as part of the logical language as well. And, using that predicate, we can create statements to force the domain to contain certain specific number of objects, such as 'at least two', 'at most six', or 'either exactly four or exactly thirteen'. So, even with an empty language we can already force our domain to be a certain way.