5

Given a signature $\Sigma$ consisting of an empty set of functions and a set of predicates $P=\{human,\ shelter,\ need\},$ where $need$ is of arity two and $human$ and $shelter$ have arity one, I want to express the sentence "Every human needs a shelter" over a set of variables $X.$

The answer that first came to my mind is: $$\forall x,y\: \Big(\text{human}(x)\rightarrow \big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big).\tag1$$ The problem with this is that it expresses, that every variable that qualifies as a shelter is needed by all humans, which is not quite, what the sentence is saying.

An alternative is to use an existential quantifier instead of the universal quantifier for $y$, which yields $$\forall x\:\Big(\text{human}(x)\rightarrow \exists y\:\big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big).\tag2$$ The problem with this is that it entails that the existence of humans implies the existence of shelters, i.e. for every interpretation, where shelter is empty and human is not empty, the formula is falsified.

How to solve the given problem?

ryang
  • 38,879
  • 14
  • 81
  • 179
Akvsam
  • 61
  • 1
    Second one... But about your concern, what is the "natural expectation"? If we have humans and there are no shelters, what is the truth value that we want for the statement "Every human needs a shelter"? There is Bob and he cannot find a shelter to satisfy his need... – Mauro ALLEGRANZA Aug 23 '22 at 08:51
  • 3
    "An other alternative would be to use an existential quanifier instead of the universal quantifier for y, which yields yields $\forall x: human(x)\rightarrow \exists y:shelter(y)\rightarrow need(x,y)$" No, it yields $\forall x: human(x)\rightarrow \exists y:shelter(y)\wedge need(x,y)$. – Natalie Clarius Aug 23 '22 at 11:10
  • @akvsam When the issue has been resolved, remember to accept ✔ an answer: this signals resolution, prevents the page from being bumped, scores points, and influences the site's search results, cleanup activities, and other behind-the-scenes processes. $\tag{}$ I like lemontree's answer because it sticks to your given rules and* articulately pinpoints why doing so is problematic. – ryang Aug 26 '22 at 01:32

4 Answers4

2

Revised answer with Addendum

$\text{Every human needs a shelter.}\tag0$

The phrase “needs/wants a/some” is tricky (impossible?) formalise, because it ostensibly calls for existential quantification yet the object needed may not exist. I gave up trying to translate $(0),$ so shall just cheat by adding an axiom $$\exists x\; \text{shelter}(x),$$ in which case $(0)$ is equivalent to $$\forall x\:\Big(\text{human}(x)\rightarrow \exists y\:\big(\text{shelter}(y)\land \text{need}(x,y)\big)\Big).\tag3$$

There is another axiom: no human is a shelter, and vice versa. However, this is common to both $(0)$ and $(3),$ so isn't required for them to be equivalent.

$$\forall x,y\: \Big(\text{human}(x)\rightarrow \big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big).\tag1$$

$(1)$ is wrong, since it is equivalent to

  • every human needs every shelter.

$$\forall x\:\Big(\text{human}(x)\rightarrow \exists y\:\big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big).\tag2$$

$(2)$ is also wrong, since unlike $(0),$ it is indeed true whenever the universe contains a non-shelter. It is equivalent to

  • for each human, for some object, if it's a shelter then the human needs it.

The problem with $(2)$ is that it entails that the existence of humans implies the existence of shelters, i.e. for every interpretation, where shelter is empty and human is not empty, the formula is falsified.

No $(2)$ doesn't entail what you're claiming: if the universe contains a human but no shelter, then $(2)$ is true. (Why?) Read more about sentence $(2)$ here.


Addendum (orthogonal)

@ryang Let us consider an interpretation consisting of exactly one variable $x,$ which is a human. This interpretation satisfies $$\forall x\:\Big(\text{human}(x)\rightarrow \exists y\:\big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big),\tag2$$ because the right hand side of the implication in (2) is satisfied due to the existence of $x,$ which is not a shelter.

If we assume that either the human is not a shelter or they need themself, then $(2)$ is true. (Remember, of the current interpretation, although we know that the universe is $\{h\},$ the predicates' meanings haven't been properly specified.)

As a matter of fact, following the same argument, (2) is satisfied for any interpretation with a non empty universe.

This italicised portion is just an illogical leap, and the boldfaced claim is false.

Noting that a non-empty universe is a standard given anyway, your boldfaced claim is precisely rephrased as “sentence $(2)$ is a logical validity, i.e., true regardless of interpretation”. If you don't immediately see that this is absurd, click on these links: sentence $(2)$ is neither valid nor unsatisfiable; that is, sentence $(2)$ is alternately true and false as the interpretation varies.

ryang
  • 38,879
  • 14
  • 81
  • 179
2

The example is a bit difficult because "need" is a so-called intensional predicate: It combines with an object that, even when truthfully existentially quantified, may not actually exist in the universe of discourse; from the existential quantification "a shelter" we would actually not want to infer that there exist any shelters, even when it is true that all humans need one. This kind of situation can not be accurately represented with plain first-order logic, so the truth conditions will not exactly match the intended ones. But let's assume here that there exist indeed shelters.

$$\forall x,y\: \Big(\text{human}(x)\rightarrow \big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big).\tag1$$ The problem with this is that it expresses, that every variable that qualifies as a shelter is needed by all humans, which is not quite, what the sentence is saying.

Yes, that's incorrect. This statement reads "Every human needs every shelter".

$$\forall x\:\Big(\text{human}(x)\rightarrow \exists y\:\big(\text{shelter}(y)\rightarrow \text{need}(x,y)\big)\Big).\tag2$$
The problem with this is that it entails that the existence of humans implies the existence of shelters, i.e. for every interpretation, where shelter is empty and human is not empty, the formula is falsified.

No, that's not the case. If there are no shelters at all, then every object will falsify $shelter(y)$ and thereby satisfy $shelter(y) \to need(x,y)$ by the truth conditions of $\to$. Even worse, as soon as there is anything at all in the universe that is not a shelter, the inner implication and thereby the existential statement becomes true. This is not what we want.

The correct answer is

$$\forall x\:\Big(\text{human}(x)\rightarrow \exists y\:\big(\text{shelter}(y)\wedge \text{need}(x,y)\big)\Big).\tag3$$

This means that for every individual that is human, there is something which is a shelter and needed by them.

"Some P Q" means $\exists (P(x) \land Q(x))$: An existential quantifier typically goes with a conjunction to get the desired truth conditions, whereas the univesrsal quantifier normally goes with implication. So a statement of the form $$\text{Every subject verbs an object}$$ translates $$\forall x (Subject(x) \to \exists y (Object(y) \land Verb(x,y)))$$

  • 2
    Even with the assumed existence of shelters, this still seems unsatisfactory. Formula $(3)$ says that there is at least one particular shelter associated with each human and that that human needs that particular shelter. But the statement that I need "a shelter" does not say that there exists any particular shelter that I need. What I actually need is for a predicate to be true that says there exists a shelter that I have. Can this idea be expressed at all in this formalism? – David K Aug 24 '22 at 01:37
  • 2
    @David K: Good observation; yes, this is another aspect of the intensionality. Unfortunately, the language of first order logic is too limited to express this subtlety, and the formula I gave last really is the best we can do in the given formalism. You can read more about it e.g. here if you're interested. – Natalie Clarius Aug 24 '22 at 02:56
  • Ah, that's interesting, thanks for pointing out! To be clear: Is intensional logic able to properly formalise the OP's given verbal sentence? – ryang Aug 24 '22 at 14:31
  • @DavidK: See my answer for some discussion of how to express the true meaning of the sentence, dealing precisely with the issue you raise. – user21820 Aug 24 '22 at 16:36
  • 1
    @ryang Yes, though in addition to intensional operators you need higher-order quantification and abstraction to express that what is sought is the property of a shelter rather than a particular shelter object. The mainstream formalism that encompasses these notions is Montague Grammar. In extension to the classical example "John seeks a unicorn", a formalization of the discussed sentence in this framework yeilds $\forall x (\text{human}(x) \to \text{needs}(x, {}^{\wedge} \lambda P. \exists y(\text{shelter}(y) \land {}^{\vee}P(y)))$. – Natalie Clarius Aug 24 '22 at 17:37
2

If this problem comes from a textbook, then lemontree's answer is probably the expected one. However, as pointed out by lemontree, even that answer cannot express the true meaning of the English sentence. Some people have suggested that FOL is not capable of expressing this. I somewhat disagree with that. But first I want to show that it may be acceptable to use modal operators on top of FOL.

A simple solution using the modal operator "Should" is:
  ∀x∈Humans ( Should ∃y∈Shelters ( HasAccessTo(x,y) ) ).
This translates the English:
  Every human should have access to some shelter.

The problem with this simple way is that it expresses the notion of "need" via the global modal "should", which means that it ties individual need to the intended model of the axiomatization, as if what every individual needs is uniformly covered by the global "should". Whether this is appropriate would depend on your philosophical position on morality. (If whatever people need should be provided to them, and vice versa, then this way suffices.)

Note that "Should ∃" does not mean the same as "∃ Should". That is, the above solution is not equivalent to:
  ∀x∈Humans ( ∃y∈Shelters ( Should HasAccessTo(x,y) ) ).
which roughly corresponds to:
  ∀x∈Humans ( ∃y∈Shelters ( Needs(x,y) ) ). [which is lemontree's answer]

Incidentally, we can express the true desired meaning using pure FOL, by using a different way of saying it:
  ∀x∈Humans ( Shelters∈Needs(x) ).
  ∀x∈Humans ( Satisfied(x) ⇔ ∀S∈Needs(x) ∃y∈S ( HasAccessTo(x,y) ) ).
which translates:
  Shelter is a need of every human.
  Every human x is satisfied if and only if,
    for each set S representing a need of x,
      x has access to some member of S.
which is what is really meant by:
  Every human needs a shelter.

Here Shelters is a set, and Needs is a function-symbol, with Needs(x) being the set of all S such that S is a set of objects of which x needs at least one. So every normal human x would satisfy WaterSources∈Needs(x) ∧ FoodSources∈Needs(x) ∧ Shelters∈Needs(x).

I have used restricted quantifiers throughout this post, because they are the most natural way to translate quantifiers from natural language, but I presume you know how to translate these to unrestricted quantifiers by having a predicate-symbol for each quantifier domain.

user21820
  • 57,693
  • 9
  • 98
  • 256
  • The FOL example shows that the limitations of the problem as initially stated have a lot to do with the particular choice of predicates offered. But this new formulation seems to say that if some human x does not have a shelter, then ~HasNeedsSatisfied(x), and therefore HasNeedsSatisfied(x) ⇒ ∃y∈P ( HasAccessTo(x,y) ) for any set of objects P -- that is, a human who lacks shelter needs everything. – David K Aug 24 '22 at 17:38
  • 1
    @DavidK: No it doesn't say a human who lacks shelter needs everything! It only says that such a human does not have needs satisfied. When you say that a human needs a shelter, you do not mean that just having a shelter is enough to satisfy all the needs of that human. But it is a necessary condition. – user21820 Aug 24 '22 at 17:41
  • 1
    But you said "HasNeedsSatisfied(x) ⇒ ∃y∈P ( HasAccessTo(x,y) )" means "x needs a P". And if HasNeedsSatisfied(x) is false then every implication with HasNeedsSatisfied(x) on the left is vacuously true. Therefore if HasNeedsSatisfied(x) is false, then "x needs a P" is true. – David K Aug 24 '22 at 17:49
  • I like this answer. On the side, do you mean that $\forall x \in P (Q(x))$ expresses something different than $\forall x (P(x) \to Q(x))$?/Why? – Natalie Clarius Aug 24 '22 at 17:55
  • 1
    Ex falso quodlibet. You're familiar with the principle of explosion, right? I agree that we should not be able to infer any new needs from one unsatisfied need. But in this formulation we can. That is why I don't think this definition of "need" expresses what we mean by "need" in English. – David K Aug 24 '22 at 18:01
  • @lemontree: The restricted quantification is not different at least in pure FOL, but I think you'll agree with me that it captures natural language quantification better than using "∀(...⇒...)" or "∃(...∧...)", since it has the 'correct' complexity. That's why in my last sentence I implied that the asker can freely translate it to unbounded quantifiers, even if I didn't. =) – user21820 Aug 24 '22 at 18:37
  • @DavidK: I now see what you mean, thanks. One direction ( x needs some shelter ⊨ HasNeedsSatisfied(x) ⇒ ∃y∈Shelters ( HasAccessTo(x,y) ) ) is correct. The other direction, implicitly claimed in my original post, is incorrect. I have fixed my post, please take a look! =) – user21820 Aug 24 '22 at 19:17
  • @lemontree: I have fixed my post in response to DavidK's correct objection that my original attempt failed to imply the desired sentence. – user21820 Aug 24 '22 at 19:18
  • The revised answer is the kind of thing I expected we would need in the absence of modals. I haven't studied the fundamentals of FOL in so long that I don't know whether they cover these kinds of propositions. Maybe someone with more current expertise can help. – David K Aug 24 '22 at 22:50
  • @DavidK: It's pure FOL. Of course, the way I phrased it uses the binary predicate-symbol "∈" as well, and note that "∀x∈S ( Q(x) )" is equivalent to "∀x ( x∈S ⇒ Q(x) )" whenever S is a set. "Humans" doesn't have to be a set for this to work (since it can be represented by a predicate-symbol), but we might as well reify it. I'm not sure what you mean by "current expertise", since I have the expertise. (I'm just a bit careless..) – user21820 Aug 25 '22 at 07:58
-1

An appropriate setting to see the difficulties involved in such translations and the possible directions for progress is the epsilon calculus extension of first-order predicate logic.

Making use of Hilbert's $\varepsilon$-operator, the statement can be translated as

$$\forall x\,\underbrace{\big(\text{human}(x)\rightarrow\text{need}(x,\varepsilon y\,\text{shelter}(y)\big)}_{A(x)}$$

We may obtain an entirely quantifier-free formula using the equivalence

$$\forall xA(x)\leftrightarrow A(\varepsilon x(\neg A))$$

The $\varepsilon$-operator is a term-forming variable-binding operator that picks out some member of the domain of discourse that falls under the constituent predicate, if there is such a member; otherwise, the $\varepsilon$-term defaults to an arbitrary value.

A paraphrase of the statement in question is that humans need a shelter (not a shelter specific for each one), whether any shelters exist or not. Here, the consequent clause stands out as the problematic part to formulate in the language of logic. Carnap explains how the $\varepsilon$-operator fulfils the relevant task in his article On the Use of Hilbert's ε-Operator in Scientific Theories as follows:

If a language like $L_{\varepsilon}$ is used, the situation is radically different, because the symbol '$\varepsilon$' was intentionally introduced by Hilbert as an indeterminate constant. Its meaning is specified by the axioms (1) and (2) only to the extent that any non-empty set has exactly one representative and that this representative is an element of the set. If the set has more than one element, then nothing is said, either officially or unofficially, as to which of the elements is the representative. Thus, for example, $\varepsilon_{x}(x = 1\vee x = 2\vee x = 3)$ must be either $1$, or $2$, or $3$; but there is no way of finding out which it is.

If there is no member of the domain of discourse that satisfies the stipulation expressed by the constituent predicate, then the $\varepsilon$-term (viz., $\varepsilon y\,\text{shelter}(y)$) is a null-term. In that case, it denotes an indefinite object that can be interpreted here as an associated object that does not exist in the given domain (universe), thus, effectively, points not to the extension, but to the intension expressed by the predicate.

Tankut Beygu
  • 2,331