The full force of the semantics

Now that we have everything in place, we can start appreciating how expressive our language 1\mathcal{L}_1 is. So far, in our examples, we only considered ourselves with complex formulas without quantifiers, and with multiple quantifiers in front of an atomic formula, with some negations thrown in here and there. But of course, the real magic happens when we use the quantifiers and the connectives together to form complex sentences.

To make this more vivid, we may consider a possible real life application; a webshop’s database of items. The website sells clothing items in the following categories: shoes, bottoms, tops, and accessories. Moreover, each item has one or more associated color (black, white, red, green, blue), and one or more associated material (cotton, polyester, polycotton, leather). All in all, the database has information about 10 pieces of clothing items. These, we can refer to by their associated ‘code’: 11, 22, 33, and so on.

All of this we can formally represent in a first-order structure. To make the particulars more easily readable, we will represent them in a table as follows:

Item Category Color(s) Fabric
11 top red, green cotton
22 top white cotton
33 top red, blue cotton
44 top blue cotton
55 bottom green cotton
66 bottom red, white polycotton
77 shoes white polyester, cotton
88 shoes blue polyester, cotton
99 shoes white polyester, cotton
1010 accessory blue, white polyester, cotton

Then, we can use the following predicates, with their interpretation specified relative to the table above:

  1. Category predicates:

    1. I(Top)={xx is a top}I(Top)=\{x \mid x\text{ is a top}\}

    2. I(Bot)={xx is a bottom}I(Bot)=\{x \mid x\text{ is a bottom}\}

    3. I(Sho)={xx is a pair of shoes}I(Sho)=\{x \mid x\text{ is a pair of shoes}\}

    4. I(Acc)={xx is an accessory}I(Acc)=\{x \mid x\text{ is an accessory}\}

  2. Color predicates:

    1. I(Red)={xx is red}I(Red)=\{x \mid x\text{ is red}\}

    2. I(Gre)={xx is green}I(Gre)=\{x \mid x\text{ is green}\}

    3. I(Blu)={xx is blue}I(Blu)=\{x \mid x\text{ is blue}\}

    4. I(Whi)={xx is white}I(Whi)=\{x \mid x\text{ is white}\}

    5. I(Bla)={xx is black}I(Bla)=\{x \mid x\text{ is black}\}

  3. Fabric predicates:

    1. I(Cot)={xx is made of cotton}I(Cot)=\{x \mid x\text{ is made of cotton}\}

    2. I(Pol)={xx is made of polyester}I(Pol)=\{x \mid x\text{ is made of polyester}\}

    3. I(Pc)={xx is made of polycotton}I(Pc)=\{x \mid x\text{ is made of polycotton}\}

    4. I(Lea)={xx is made of leather}I(Lea)=\{x \mid x\text{ is made of leather}\}

Here is an interesting fabric fact. Some items are made out of polycotton, while some items are made out of polyester and cotton. We can distinguish between these two as follows. Polycotton is a fabric blend that is made out of both polyester and cotton. For example, many t-shirts are made entirely out of polycotton. But there are also some items that are made of pure cotton and pure polyester in some way combined. For example, you might buy some cotton shoes that have a polyester brand label. This does not make the shoes polycotton.

Let’s call the structure determined by the above information 𝐖\mathbf{W} (for a change). Once 𝐖\mathbf{W} is fixed, we can try and express a number of complex facts about 𝐖\mathbf{W}, and in particular, about the various relations between these items and their properties.

Quantifier placement

Let’s start with some simple facts. First, you might want to express something like the following: “There is a red top and a white top”. You might hesitate between the following two options: x((Red(x)Top(x))(Whi(x)Top(x)))x(Red(x)Top(x))x(Whi(x)Top(x))\begin{gathered} \exists x ((Red (x) \wedge Top(x)) \wedge (Whi(x) \wedge Top(x)))\\ \exists x (Red(x) \wedge Top(x)) \wedge \exists x (Whi(x) \wedge Top(x)) \end{gathered} In such cases, the correct option is the second one. For note that what the first option says is that there is a red and white top (that is a top). You can easily see this if you do the calculations explicitly, for in the first case, we need to find a single xx-variant assignment that would satisfy the formula ((Red(x)Top(x))(Whi(x)Top(x)))((Red (x) \wedge Top(x)) \wedge (Whi(x) \wedge Top(x))). This is clearly impossible, for there is no one item that is a top, and both red and white. In the second case, however, we consider the two conjuncts separately, and thus we can consider two distinct xx-variant assignments (two distinct objects). Accordingly, in 𝐖\mathbf{W}, the first sentence is false, while the second is true. We can see how the second sentence is true in 𝐖\mathbf{W} as follows:

image

A similar problem arises if, for example, we change the conjunction to a disjunction, and the existential quantifier to a universal one. Suppose we want to express the fact that every item in the database is either made (at least partly) of polycotton, or made (at least partly) of cotton. Again, you have two options: x(Pc(x)Cot(x))xPc(x)xCot(x)\begin{gathered} \forall x (Pc(x) \vee Cot(x))\\ \forall x Pc(x) \vee \forall x Cot(x) \end{gathered}

Now the first sentence is the correct choice, and the second is the incorrect one. For note that what the second sentence says is really that either everything is made of polycotton, or everything is made of cotton. This sentence is a disjunction, so it is true if one of the disjuncts is true. But taken separately, it is not true that everything is made of polycotton, and it is also not true that everything is made of cotton. In particular, we can refer to the fact that 11 is not made of polycotton, while 66 is not made of cotton. Thus:

image

But again, we do have that 𝐒x(Pc(x)Cot(x))\mathbf{S} \models \forall x(Pc(x) \vee Cot(x)), since for every xx-variant assignment 𝐚\mathbf{a}', we have that 𝐒Pc(x)Cot(x)[𝐚]\mathbf{S} \models Pc(x) \vee Cot(x)[\mathbf{a}'].

Restricted quantification

Let’s try and formulate some more interesting facts about our database. For example, we might want to capture some interrelations between various properties of our objects. One such fact would be the following: “If something is blue, then it is made of cotton”.

The first question here would be: which quantifier are we supposed to use? From the above formulation, this is not clear, and indeed, the use of ‘something’ might be misleading. Suppose you went with: x(Blu(x)Cot(x))\exists x (Blu(x) \rightarrow Cot(x)) This sentence is true in 𝐖\mathbf{W} if there is a value for xx relative to which Blu(x)Cot(x)Blu(x) \rightarrow Cot(x) is satisfied. There are several problems with this option. First, since this is an existentially quantified sentence, it is sufficient for a single object to satisfy Blu(x)Cot(x)Blu(x) \rightarrow Cot(x) for the sentence to be true. This does not seem like what we are trying to express, which is a general rule applying to every thing that is blue.

But there is another misleading element here: the use of a conditional after an existential quantifier. As mentioned several times already, a conditional is only unsatisfied (false) if its antecedent is satisfied (true), but its consequent is unsatisfied (false). In this case, this means that for any value for xx, Blu(x)Cot(x)Blu(x) \rightarrow Cot(x) is satisfied relative to that value provided either Blu(x)Blu(x) and Cot(x)Cot(x) are both satisfied, or Blu(x)Blu(x) is not satisfied (regardless of whether Cot(x)Cot(x) is satisfied or not). This means that item 66 being red, white, and polycotton is by itself sufficient to make x(Blu(x)Cot(x))\exists x (Blu(x) \rightarrow Cot(x)) true in 𝐖\mathbf{W}, for it is not made of cotton. This is usually not something we want to express. In general, if we wanted to express the fact that there is something that is blue and is made of cotton, then we can just say: x(Blu(x)Cot(x))\exists x(Blu(x) \wedge Cot(x)).

Returning to our initial fact under consideration, it was not that there is something that is blue and cotton, it was that whenever something is blue, then it is made of cotton. The correct way to capture this fact is with a universal quantifier. In particular: x(Blu(x)Cot(x))\forall x(Blu(x) \rightarrow Cot(x)) Interestingly, once we change the quantifier to a universal one, the use of a conditional proceeding it will capture precisely what we wanted to express. In particular, the only fact that would make this sentence false is if there were a blue item that was not cotton. In other words, as long as there is no item that is both blue and not cotton, the sentence is true, which seems to be what we wanted to express.

Let’s choose a blue and a non-blue item from the domain, and see how this functions. First, take item number 44, which is blue. Then, we have that: 𝐖Blu(x)[𝐚4x]𝐖Cot(x)[𝐚4x]𝐖CotBlu(x)[𝐚4x]\begin{aligned} \mathbf{W} \models& Blu(x)[\mathbf{a}^x_4]\\ \mathbf{W} \models& Cot(x)[\mathbf{a}^x_4]\\ \mathbf{W} \models& Cot \rightarrow Blu(x)[\mathbf{a}^x_4] \end{aligned} But now taking item number 55, which is not blue, we can reason, based on the definition of satisfaction as it relates to \rightarrow, that: 𝐖⊭Blu(x)[𝐚5x]𝐖Cot(x)[𝐚5x]𝐖CotBlu(x)[𝐚5x]\begin{aligned} \mathbf{W} \not\models& Blu(x)[\mathbf{a}^x_5]\\ \mathbf{W} \models& Cot(x)[\mathbf{a}^x_5]\\ \mathbf{W} \models& Cot \rightarrow Blu(x)[\mathbf{a}^x_5] \end{aligned} Naturally, we would need to check whether Blu(x)Cot(x)Blu(x) \rightarrow Cot(x) is satisfied in 𝐖\mathbf{W} relative to every possible xx-variant assignment, not just these two. But it is easy to see that this will indeed hold, for again, every blue thing is cotton, and the non-blue things cannot make the sentence false.

If we zoom out for a bit, we can say that in sentences like x(Blu(x)Cot(x))\forall x(Blu(x) \rightarrow Cot(x)), the universal quantifier is restricted. What it is restricted to is the set of things satisfying the antecedent of the conditional. For in general, the universal quantifier ‘ranges over’ the whole domain. For example, if we had xCot(x)\forall x Cot(x), the truth of this sentence depends on every possible assignment of value to xx, so every object in the domain is relevant here. On the other hand, as mentioned, once we put Blu(x)Blu(x) in front with a conditional, we are no longer concerned with the whole domain. Rather, we restrict our attention to just the blue things in the domain, and we say of them that each must be cotton. Once quantification is restricted, any member of the domain not captured by the antecedent condition becomes irrelevant.

As a rule, the universal quantification of ZZ, xZ\forall x Z is thus restricted (w.r.t. YY) with a conditional in the form x(YZ)\forall x(Y \rightarrow Z). We can also talk about restricting the existential quantification of ZZ, xZ\exists x Z (w.r.t. YY), which is done with a conjunction (as mentioned briefly above), in the form x(YZ)\exists x(Y \wedge Z).

One problematic aspect of this is vacuous quantification. Note that it may be the case that nothing satisfies the antecedent of the conditional after the universal quantifier. As demonstrated above, if something does not satisfy the antecedent of the conditional, the conditional as a whole is automatically satisfied. Unfortunately, this entails that if nothing satisfies the antecedent of the conditional, then relative to each value of xx, the conditional as a whole is satisfied. So its universal quantification is true. For example, 𝐖x((Gre(x)Sho(x))(Blu(x)¬Blu(x)))\mathbf{W} \models \forall x ((Gre(x) \wedge Sho(x)) \rightarrow (Blu(x) \wedge \neg Blu(x))), for the sole (pun unintended) reason that there are no green shoes.

Quantifying into multiple positions

Finally, let’s add even more complexity by introducing a two-place predicate ColCol, defined such that: I(Col)={x,y,x is part of the same collection as y}.I(Col)=\{\langle x, y\rangle, \mid x\text{ is part of the same collection as } y\}. Let’s further specify that in our structure 𝐖\mathbf{W}, there are four collections:

  1. Collection 1: items 22, 66, and 99

  2. Collection 2: items 44, 77 and 1010

  3. Collection 3: items 11, 33, and 88

  4. Collection 4: item 55

We can represent these collections in terms of the relation I(Col)I(Col) as follows:

image

As you can see, the relation allows us to separate the domain into 4 distinct, non-overlapping subsets, one for each collection, based on how the relation I(Col)I(Col) is distributed between the members (as represented by the arrows). The basic idea is that for any two members of the same collection, I(Col)I(Col) holds, while for any two items in distinct collections, they are never related in terms of I(Col)I(Col).

Note that as it is specified, I(Col)I(Col) is a reflexive, symmetric, and transitive relation. Reflexive, because everything is in the same collection as itself. Symmetric, because if xx is in the same collection as yy, then yy is in the same collection as xx. And transitive, because if xx is in the same collection as yy, and yy is in the same collection as zz, then xx is in the same collection as zz. As it turns out, such relations always partition the domain into non-overlapping subsets, like our collections above.

We can then use multiple quantifiers to ‘quantify into’ the two ‘positions’ (argument places) of the binary predicate ColCol. For example, we might want to express the fact that there is an item for which it is true that if another item is in the same collection as it is, then that second item is white. Put another way, there is an item which is in a collection of white things. This can be captured as follows: xy(Col(x,y)Whi(y))\exists x \forall y(Col(x, y) \rightarrow Whi(y)) How is this sentence to be evaluated relative to 𝐖\mathbf{W}? We need to check if we can find a value for xx, such that for any value we can find for yy, it is satisfied that if xx and yy are in the same collection, then yy is white.

Here is what’s not going to work. Suppose you choose for xx the value 44. After all, other than 44, every member of collection 2 is white. The problem here is that we have to check every item in the same collection as 44, which includes 44 itself. And 44 is not white! So we have that: 𝐖⊭y(Col(x,y)Whi(y))[𝐚4x]𝐖⊭Col(x,y)Whi(y)[(𝐚4x)4y]𝐖Col(x,y)[(𝐚4x)4y]𝐖⊭Whi(y)[(𝐚4x)4y]\begin{aligned} \mathbf{W} \not\models& \forall y(Col(x, y) \rightarrow Whi(y))[\mathbf{a}^x_4]\\ \mathbf{W} \not\models& Col(x, y) \rightarrow Whi(y)[(\mathbf{a}^x_4)^y_4]\\ \mathbf{W} \models& Col(x, y)[(\mathbf{a}^x_4)^y_4]\\ \mathbf{W} \not\models& Whi(y)[(\mathbf{a}^x_4)^y_4] \end{aligned} (Note that we are not saying that 𝐒⊭xy(Col(x,y)Whi(y))\mathbf{S} \not\models \exists x \forall y(Col(x, y) \rightarrow Whi(y)), we are saying that choosing 44 as the value for xx would not satisfy y(Col(x,y)Whi(y))\forall y(Col(x, y) \rightarrow Whi(y)). This does not entail that the initial formula is false, and indeed, it is true, we just have to find the right value for xx!)

On the other hand, we may choose any one item of collection 1, for there, it is guaranteed that every member of the collection will be white (including the chosen member). For example: 𝐖xy(Col(x,y)Whi(y))[𝐚]𝐖y(Col(x,y)Whi(y))[𝐚2x]𝐖Col(x,y)Whi(y)[(𝐚2x)2y]𝐖Col(x,y)Whi(y)[(𝐚2x)6y]𝐖Col(x,y)Whi(y)[(𝐚2x)9y]\begin{aligned} \mathbf{W} \models& \exists x\forall y(Col(x, y) \rightarrow Whi(y))[\mathbf{a}]\\ \mathbf{W} \models& \forall y(Col(x, y) \rightarrow Whi(y))[\mathbf{a}^x_2]\\ \mathbf{W} \models& Col(x, y) \rightarrow Whi(y)[(\mathbf{a}^x_2)^y_2]\\ \mathbf{W} \models& Col(x, y) \rightarrow Whi(y)[(\mathbf{a}^x_2)^y_6]\\ \mathbf{W} \models& Col(x, y) \rightarrow Whi(y)[(\mathbf{a}^x_2)^y_9] \end{aligned} As before, these are only the relevant yy-variant assignments that could make a difference. In particular, if we were to send yy to any member other than 22, 66 or 99, the conditional would immediately be satisfied by the fact that for no other assignment to yy do we have Col(x,y)Col(x, y) (when xx is sent to 22).

Exercise 7.5. From the above, it does not follow that 𝐖x(yCol(x,y)Whi(y))\mathbf{W} \models \forall x(\exists y Col(x, y) \rightarrow Whi(y)). Nor does it follow that 𝐖xy(Col(x,y)Whi(y))\mathbf{W} \models \forall x \forall y(Col(x, y) \rightarrow Whi(y)) Explain why these fail to be true in 𝐖\mathbf{W}.

Translating the untranslatable

As our final example, let’s try and capture something trickier. Suppose we want to capture the fact that there is a collection with a red and a blue item in it. At first glance, it seems like you could easy express this fact by using an existential quantifier and a predicate for ‘is a collection’. The problem is that we have no such predicate! We have the predicate ColCol, but that predicate says not that something is a collection, but that two items are in the same collection. There is a reason for not including a predicate for ‘is a collection’. For note that one-place predicates are evaluated in our semantics as subsets of our domain, and our domain does not have collections as members in it. It only has clothing items! And if you check Col(x,y)Col(x, y), it applies to clothing items, and not the collections, for it says that two items xx, yy are in the same collection.

On the other hand, we can capture the above fact without talking explicitly about collections, just by using the predicate ColCol. For there being a collection with a red and a blue item in it is equivalent to saying that there are two items, one red and blue, such that they are in the same collection. If this is true, then there is a collection with a red and a blue item in it. Conversely, if there is a collection with a red and a blue item in it, then there are two items, one red, one blue that are in the same collection. (For everything in this paragraph, you should remember that there may only be a single object that has both properties.)

First-order languages, though very expressive, are still in some respects limited. In particular, they are limited by the fact that the quantifiers only range over members of the domain, predicates only have as interpretations subsets of the domain, and so on. On the other hand, many times (though certainly not always!), there are clever ways to turn an ‘untranslatable’ claim into a translatable one. The touchstone for these is ‘truth-conditional equivalence’. All this means is that the two sentences should be true (false) under the the same circumstances.

Accordingly, we can represent the fact that there is a collection with a red and a blue item in it as: xy((Red(x)Blu(y))Col(x,y))\exists x\exists y((Red(x) \wedge Blu(y)) \wedge Col(x, y)) In particular, item 11 is red, item 33 is blue, and they are both in collection 3. So we have:

image

Now you try it!

Exercise 7.6. Try and formulate in 1\mathcal{L}_1 the fact that the relation I(Col)I(Col) is reflexive, symmetric, and transitive. In particular:

  1. Every item is in the same collection as itself.

  2. For every two items, if the first is in the same collection as the second, then the second is in the same collection as the first one.

  3. For every three items, if the first is in the same collection as the second, and the second is in the same collection as the third, then the first is in the same collection as the third.

Exercise 7.7. Try to formulate in 1\mathcal{L}_1 the following facts about 𝐖\mathbf{W}:

  1. If something is made of polycotton, then it is a red and white bottom.

  2. Every green item is either a top or a bottom.

  3. Every item is either an accessory or not blue and white.

  4. If something is both polyester and cotton, then it is not a top.

  5. If something is a top, then it is only made of one material.

    [Hint: something being made of one material cannot be expressed directly, but you can express each possible situation in which something is made of one thing and not the other two. One of these situations must hold if something is made of a single material.]

In each case, explain why the fact as you translated it into 1\mathcal{L}_1 is true.

Remark 7.5. Here is how your answers should look like. Suppose you want to express that no item is made of leather.

The translation of the above fact is: ¬xLea(x)\neg \exists x Lea(x), since we want to express that there is no xx such that xx is made of leather. Now 𝐖¬Lea(x)\mathbf{W}\models \neg \exists Lea(x), since 𝐖¬xLea(x)[𝐚]\mathbf{W} \models \neg \exists x Lea(x)[\mathbf{a}] iff 𝐖⊭xLea(x)[𝐚]\mathbf{W} \not\models \exists x Lea(x)[\mathbf{a}]. In turn, 𝐖⊭xLea(x)[𝐚]\mathbf{W} \not\models \exists x Lea(x)[\mathbf{a}] if there is no xx-variant assignment 𝐚\mathbf{a}' such that 𝐖Lea(x)[𝐚]\mathbf{W}\models Lea(x)[\mathbf{a}']. This means that for every xx-variant assignment 𝐚\mathbf{a}', 𝐖⊭Lea(x)[𝐚]\mathbf{W}\not\models Lea(x)[\mathbf{a}']. But this is the case, since nothing is made of leather, that is, I(Lea)=I(Lea)=\emptyset.

Exercise 7.8. Write four true sentences about 𝐖\mathbf{W} that each contain at least 2 quantifiers and a connective. In each case, express what fact you are capturing about 𝐖\mathbf{W} by the formula.

License

Icon for the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Learning Logic Backwards Copyright © by Peter Susanszky is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, except where otherwise noted.

Share This Book