quantificational logic semantics

Report 6 Downloads 134 Views
Notes on quantificational logic, II: validity and truth Max Weiss 18 October 2015

Semantics of L20 Having specified the syntax of a language, we now need to explain what makes its formulas true or false in a structure. In the case of quantificational logic, this is a rather interesting problem which takes a couple of steps. I’ll then present semantic analyses of validity and logical consequence. Finally, I’ll conclude with a new semantic idea, that of definability, which should lead to amusing exercises.

L20 -structures To begin with, we have to define a notion of structure which is suitable for L20 . This just makes precise the idea informally sketched in §1. A structure A for L20 consists of • a nonempty set ∗A , called the domain of A, • an interpretation of each predicate of L20 , which assigns them suitable extensions: – a truth-value P 0A , for each zero-place predicate P 0 , – a set P 1A of elements of the domain, for each one-place predicate P 1 , – a set P 2A of ordered pairs of elements of the domain, for each twoplace predicate P 2 , – and so on for all the n-place predicates for n > 2. Generally speaking, we’ll only care about the interpretation of just a few of the infinitely many predicates of L20 . So, in practice we’ll define explicitly just the portion of the structure which matters to the problem, and assume that all other predicates are assigned the value ∅. Which of the following are examples of structures? 1

( A=

∗ : {Obama} Q1 : {Hilary}

( B=

∗ : {Obama} Q1 : {}

( ∗:∅ C= Q1 : ∅ ( E=

∗ : {n : n is a natural number} Q3 : {hj, k, li : j, k, l are natural numbers and j + k = l}

Truth Let’s now turn to the definition of truth-in-a-structure for L20 . We already saw a definition of a truth for the language L1 . Because L1 is truth-functional, therefore to say whether a complex formula is true or false, we need only say how its truth-value is a function of the truth-values of its subformulas. However, L20 is not truth-functional. Consider, for example, the formula ∀xQx. Now, ∀xQx does does contain the subformula Qx. But in Qx the x occurs free, and so Qx is not closed. This means that Qx is analogous to a sentence like “it is green” where the “it” is unspecified. Being not closed, the subformula Qx ought not to have a truth-value at all. Thus, our basic problem is that closed formulas of L20 do not in general even have closed subformulas. So it is hopeless to try to evaluate a formula of LA 20 merely by reference to the truth-values of the smaller formulas which occur in it. At this point, it’s worth recalling that in general one might consider terms of another kind besides variables, namely constants. Unlike variables, constants have a definite meaning. So, if we had some other language besides L20 which did contain constants, like for example a, then we ought to define truth in that case so that Qa does come out true or false in a structure A. This suggests a way of evaluating generalizations. Recall that ∀xQx ought to come out true in A just in case every object in the domain of A has the property Q. Suppose now that L20 were extended to a language LA 20 in which every element in the domain of A were denoted by a constant. With respect to the extended language LA 20 , the following proposal would then be reasonable:

2

• a formula ∀xQx is A iff for every constant term t of LA 20 , the formula Qt is true in A. So we would evaluate a complex formula merely by reference to the truth-values of smaller formulas. The problem of truth-in-A of one closed formula ∀xQx reduces to the problem of truth-in-A of many simpler closed formulas Qt, one for constant t which corresponds to an element of the domain of A. To spell out when a formula of L20 is true in a structure A, we’ll take two preliminary steps. 1. extend L20 to the larger language LA 20 . 2. define the notion of truth on this larger language. These steps being completed, the truths-in-A of the smaller language L20 will be identified as those truths-in-A of LA 20 which are actually formulas of L20 . Step 1: extension of L20 to LA 20 Step 1 calls for a method of manufacturing constants which correspond to elements of an arbitrary domain. For any element a of the domain of a structure, we write a ¯ for its corresponding constant term. It doesn’t matter what the constant a ¯ actually is. The only crucial point is that if a and b are distinct, then so are a ¯ and ¯b. For example, we might take the constant a ¯ simply to be the singleton set {a}. Or more metaphorically, you might think of the new constant a ¯ as the result of taking the object a and encasing it in glass. We can now complete step 1 like this: • let A be an L20 -structure. The A-extension LA 20 of L20 is the result of adding to the terms of L20 the constant a ¯ for each a in the domain of A. Thus, every formula of L20 is a formula of LA 20 . But moreover, suppose that φ is a formula of L20 and that a is an element of the domain of A. The precise effect of the above definition is as follows: that for any variable v, the formula φ[v/¯ a] is also a formula of LA . We will say that an instance of the formula φ is any 20 formula which can be got from φ by zero or more substitutions of constants for variables free in φ. Now, recall that a formula is closed when no variable has any free occurrences in it. The point of the expansion of L20 to LA 20 will be to let us compute the truth-values of quantified formulas from the truth-values of the closed instances of their subformulas. Consider some examples. Suppose that A and B are structures, such that the domain of A is {0, 1, 2} and the domain of B is the set of all natural numbers. Which of the following are L20 -formulas, which LA 20 -formulas, and which LB 20 -formulas? Which of the following formulas are closed? And if any of the following formulas is an instance of another, which is an instance of which? 3

a. b. c. d. e. f.

∃xRxy ¯ ∃xRx0 R¯ 0y¯ ∃xR¯ 2y ∀x(Ryx → ∃yRyz) R¯ 0¯ 3 → ∃yRy ¯ 0

Step 2: the definition of truth-in-A for LA 20 We will write A |= φ to mean that φ is true in A.1 As promised, the definition reduces the question of truth-in-A of complex formulas to the question of truthin-A of simpler ones. We begin with the essentially new ideas: • for any k-place predicate R and any elements a1 , . . . , ak of ∗A , – A |= R¯ a1 · · · a ¯k iff ha1 , . . . , ak i is in RA ; • for any formula φ and any variable v, – A |= ∀v φ iff A |= φ[v/¯ a] for all a in ∗A , and – A |= ∃v φ iff A |= φ[v/¯ a] for some a in ∗A . Of course, LA 20 also contains stuff already present from truth-functional language L1 ; and we treat that stuff exactly as it was treated before. Thus. . . • for any 0-place predicate P , – A |= P iff P

0

A

=T

• for any formulas φ and ψ, – – – – –

A |= ¬φ iff A 6|= φ A |= φ ∧ ψ iff A |= φ and A |= ψ A |= φ ∨ ψ iff A |= φ or A |= ψ A |= φ → ψ iff A 6|= φ or A |= ψ A |= φ ↔ ψ iff either A |= φ and A |= ψ, or A 6|= φ and A 6|= ψ

This completes the definition of truth for LA 20 . Since every formula of L20 is a 0 is now complete. , the definition of truth for L formula of LA 0 2 2 1 Halbach writes |φ| = T for the same idea; but I think this is a pain. Halbach also writes A Γ  φ to mean that φ is a logical consequence of Γ even though the other use of |= is quite standard. But there shouldn’t arise any confusion, as long as you keep in mind that what’s related to φ by logical consequence is a set of formulas, whereas what’s related to φ by truth is a structure. It also may be that |= is a bit bigger than .

4

Examples Let’s now consider some examples to see how it works. First, let   ∗ : {0, 1, 2} A = P : {0, 1}   R : {hx, yi : x < y.} Now consider the formula ∃xP x. By the definition of |=, we have that • A |= ∃xP x iff there’s an a ∈ ∗A such that A |= P a ¯. However, ∗A = {0, 1, 2}. Hence, • for there to be an a ∈ ∗A such that A |= P a ¯ is simply for it to be the case that either A |= P ¯ 0, or A |= P ¯1, or A |= P ¯2. Now, the definition of truth also implies that A |= P a ¯ iff a ∈ P A . So • A |= P ¯ 0 iff 0 ∈ P A , and A |= P ¯1 iff 1 ∈ P A , and A |= P ¯2 iff 2 ∈ P A . From the three conclusions just reached, it follows that • A |= ∃xP x iff at least one of 0, 1 and 2 is in P A . Since, in particular, 0 ∈ P A , therefore actually A |= ∃xP x. For another example, consider ∀x∀y(Rxy → Ryx). By the clause of the truthdefinition corresponding to |=, it follows that • ∀x∀y(Rxy → Ryx) iff A |= ∀y(R¯ ay → Ry¯ a) for all a ∈ ∗A . But likewise • A |= ∀y(R¯ ay → Ry¯ a) iff A |= R¯ a¯b → R¯b¯ a for all b ∈ ∗A . Hence • A |= ∀x∀y(R¯ ay → Ry¯ a) iff A |= R¯ a¯b → R¯b¯ a for all a and b in ∗A . What does this English phrase “for all a and b in ∗A ” amount to? Since ∗A = {0, 1, 2}, there are nine possible choices of a and b. The requirement is that A |= R¯ a¯b → R¯b¯ a holds for each of these. For example we may pick a = 0 and b = 1. Well, actually A |= R¯0¯1 but A 6|= R¯1¯0. Hence A 6|= R¯0¯1 → R¯1¯0. So, the conclusion follows: 5

• A 6|= ∀x∀y(Rxy → Ryx). Which of the following formulas are true in A? • • • •

∃xP x ∧ ∃x¬P x ∀x∀y∀z(Rxy ∧ Ryz → Rxz) ∃xP x → ∃x∃yRxy ∀x(P x → ∃yRxy)

For another example, let ( ∗ : {n : n is a natural number} B= Q : {hj, ki : j + 1 = k} Have we B |= ∀x∃yQxy? How about B |= ∀y∃xQxy? Let me conclude the discussion of truth-in-A with some philosophical remarks. We began with the language L20 . To define for it the notion of truth-in-A we extended it to the bigger language LA 20 . The reader might be wondering: why go through all this bother? Why not simply start with a language which contained enough constants in the first place? The reason is that studying the relationship between a formal language and a structure is motivated by the desire to understand the relationship between natural language and the world. No natural language contains a name for every object whatsoever. So it would be silly to require that a formal language contain a name for every object in the domain of a structure. So, we began by introducing the language L20 which contains no constants at all. Later on it will be straightforward to develop semantics for languages which do contain some constants. In practice, we will mainly consider structures whose domain is drawn from the natural numbers 0, 1, 2, . . ., henceforth called simply “numbers”. It would be possible also to consider domains whose elements are drawn from the US presidents, such as Barack Obama or George W. Bush, or for that matter from the carpenter ants in Uzbekistan. However, we focus on natural numbers because they are easier to specify. The names of people derive from the often capricious use of various personal naming practices. In contrast, numbers have an efficient system of names, combining Arabic numerals and decimal representation.2 Thanks to that system, it turns out that many natural numbers have shorter names than most people do. Moreover, no two numbers have the same name. And every natural number has a name; this cannot be said for the ants. 2 The first ten numbers have the names ‘0’,’1’, . . . , ‘9’. As for any other number, say n, the convention is as follows. Note that there is a unique sequence dk , . . . , d0 of numbers less than 10, with dk 6= 0, such that n = dk × 10k + · · · + d0 × 100 . It is then conventional to take the name of any n > 0 to be the concatenation of the names of the associated numbers dk , . . . , d0 in that order. For example, the name of 9834523 is’9834523’.

6

Now the reader might wonder whether we aren’t after all “cheating”. In choosing structures whose domain is drawn from the numbers, haven’t we built a universal naming system into the extension LA 20 , and therefore only concealed, rather than discharged, the assumption that it is possible to name every object? The answer is no. We do wish the relationship between L20 -formulas and an L20 -structure like A to be somewhat analogous to the relationship between sentences and the world. But this does not imply that our relationship to the domain of an L20 -structure should be analogous to our relationship to the totality of objects: what matters to the fidelity of the analysis is rather the relationship between L20 -formulas and L20 -structures. So, it is up to us as theorists to choose to build structures whose elements do (or don’t) happen all to have names in English.

Validity and consequence We’ve now defined the concept of truth-in-A for L20 . As with truth-functional logic, this leads immediately to a definition of semantic consequence. We write A |= Γ to mean that A |= ψ for all ψ ∈ Γ. • a formula φ is a semantic consequence of Γ iff there’s no L20 -structure A such that A |= Γ while A 6|= φ And as before we say that an argument Γ ∴ φ is valid iff φ is a semantic consequence of Γ. In parallel to the notion of “tautology” from truth-functional logic we also have the following: • a single formula φ is semantically valid if ∴ φ is valid, i.e., if A |= φ for all L20 -structures A. So the definitions of these concepts are quite similar to those from truthfunctional logic. However, as we’ll now see, the application is rather different. First consider how we’d go about showing that a argument is quantificationally valid. Here, we need to make sure that whenever a structure makes true the premise, also it makes true the conclusion. So, we need to run through all relevantly different structures. In the case of truth-functional logic, we needed only to consider those structures which differ with respect to the atomic formulas used in the argument. However, the question whether ∀xP x is true in a structure depends on the truth-values of the closed instances P a ¯ for all a in the domain. Furthermore, some structures may have infinite domains. And there are domains of infinitely many different sizes. How can we run through all of these and make sure that none of them makes the premise true and the conclusion false? The only general method of demonstrating validity in quantificational logic is ordinary mathematical reasoning. Consider, for example, ∀x(P x → Qx), ∃xP x ∴ ∃xQx. To establish its validity one might reason like this: 7

• Let A be any structure whatsoever. Suppose that A |= ∀x(P x → Qx) and that A |= ∃xP x. We want to show that A |= ∃xQx. Well since A |= ∃xP x, there must be some a such that a ∈ P A . But then, since A |= ∀x(P x → Qx), therefore A |= P a ¯ → Q¯ a). By the truth-table for →, it follows that A |= Q¯ a. But then we must have a ∈ QA , so that A |= ∃xQx, as desired. However, when formulas get complicated, such informal reasoning becomes hard to follow. Moreover, it’s quite inefficient even for very simple arguments. So, it turns out that the most efficient way of demonstrating validity is to work in a system of proof.3 On the other hand, the situation with invalidity is rather different. Here, the use of semantics is both natural and essential. I’ll devote the rest of this section to the use of semantics for demonstration of invalidity. Consider the argument ∀xP x → ∀xQx ∴ ∀x(P x → Qx). To show that this is invalid, it suffices to find a structure A such that (i) A |= ∀xP x → ∀xQx, while (ii) A 6|= ∀x(P x → Qx). Note that (i) is fairly easily fulfilled: since it’s a conditional, to make it true we need only ensure, for example, that A 6|= ∀xP x; and this means merely ensuring that some element of the domain ∗A of A fall outside the extension P A of P . As for (ii), note that the truth of ∀x(P x → Qx) amounts to the truth of P a ¯ → Q¯ a for all elements a of the domain; so that to make it false we need only ensure the existence of an a in ∗A such that A 6|= P a ¯ → Q¯ a. In summary, then, according to our desired counterexample A there must be some object outside the extension of P , while there’s also some object inside the extension of P but outside the extension of Q. And now we are done: it suffices to pick e.g., ∗A = {0, 1}, with P A = {0} and QA = ∅. For exercise here, show that the following arguments are invalid. • • • •

∃xP x ∴ ∃x(P x ∧ Qx) ∀x(P x → Qx), ∃xQx ∴ ∃xP x ∃xP x, ∃xQx ∴ ∃x(P x ∧ Qx) ∀x(P x ∨ Qx) ∴ ∀xP x ∨ ∀xQx

For a trickier example, consider ∀x∃yRxy ∴ ∃y∀xRxy. To make the premise true, we must ensure (i) that the formula ∃yRxy is satisfied by every object. On the other hand, to make the conclusion false, we must ensure (ii) that the formula ∀xRxy is satisfied by no object. Here, it may help to begin with an example of a concrete domain, like {0, 1}. Given this domain, the condition (i) amounts to requiring that each of 0 and 1 satisfies at least one of Rx¯0 and Rx¯ 1. On the other hand, the condition (ii) amounts to requiring that neither 3 For

example, like that presented in Halbach’s Chapter 6. We’ll return to that shortly.]

8

of 0 and 1 satisfies both of Rx¯0 and Rx1¯. At this point, it becomes clear that a counterexample is given by the structure ( ∗ : {0, 1} B= R : {h0, 0i, h1, 1i} The strategy of the last example suggests a kind of dirty trick. This may help you get going, but for reasons that will be clear pretty soon, you shouldn’t take it too seriously. Suppose we are considering a structure A whose domain is {a0 , . . . , ak }. And consider some universally generalized closed formula ∀xφ. Then for ∀xφ to be true in A is precisely for all of the formulas φ[x/a0 ], . . . , φ[x/ak ] to be true in A. It follows that • if ∗A = {a1 , . . . , ak }, then – A |= ∀xφ if and only if A |= φ[x/a0 ] ∧ · · · ∧ φ[x/ak ]; and similarly, – A |= ∃xφ if and only if A |= φ[x/a0 ] ∨ · · · ∨ φ[x/ak ]. So, considering only those structures A whose domain is {a0 , . . . , ak }, we have a way of converting a formula φ into some other formula without quantifiers, call it φ{a0 ,...,ak } , such that A |= φ iff A |= φ{a1 ...,ak } . For example, over the domain {0, 1} you compute like this: (∀x(P x → ∃yRxy)){0,1}

= (P ¯0 → ∃yR¯0y){0,1} ∧ (P ¯1 → ∃yR¯1y){0,1} = (P ¯0 → (∃yR¯0y){0,1} ) ∧ (P ¯1 → (∃yR¯1y){0,1} ) = (P ¯0 → R¯0¯0 ∨ R¯0¯1) ∧ (P ¯1 → R¯1¯0 ∨ R¯1¯1)

Now, suppose you have some A, say ( ∗ : {0, 1} A= R : {h0, 1i, h1, 0i}

.

And suppose you want to know whether whether or not A |= ∀x(P x → ∃yRxy). Then you can do the following. First, apply the above computation. Second, construct a truth-table with columns for the four “atomic formulas” R¯ 0¯ 0, R ¯ 0¯ 1, R¯ 1¯ 0, R¯ 1¯ 1. Then the structure A corresponds to the row F T T F . So finally, you can compute the truth-value of ∀x(P x → ∃yRxy)){0,1} at that row! Note that this procedure is essentially useless for demonstrating that a formula is valid. For one thing, you’d need to consider not just structures with domain {0, 1} but structures with domain of any size whatsoever. The reason is that the method does not say that a quantified formula is logically equivalent to an unquantified one. Rather, how the method expands a quantified formula into an unquantified one depends on the size of the domain. So, to confirm validity we’d need to check at least all of those infinitely many expansions. And completing 9

even that infinite task wouldn’t be enough to show that the formula is valid. For there are invalid formulas whose only countermodels have infinite domain. However, the procedure can be useful when you’re looking for a countermodel. For example, it’s easy to use the procedure to check whether there is a countermodel whose domain has just one element. In that case, only one atomic formula corresponds to each basic predicate, and so your truth-table won’t have too many columns. Moreover, some arguments whose invalidity won’t be obvious at first blush may have countermodels with domain of two elements. You will notice that the size of the table grows scarily fast with the number and arity of predicates and also with the size of the domain. But if you’re just looking for a countermodel, you need only find the one row in which the conclusion is false while the premises are true; and here the method may be useful at least at first. Anyway, are a few more invalid arguments. Using the above search method or not, try proving that each is invalid. • • • • •

∃x(P x ∨ Qx) → ∀xP x, ∃xP x ∴ ∀xP x ∨ ∀xQx ∃xP x → ∃yQy ∴ ∃x(P x → ∃yQy) ∃xP x ↔ ∃xQx ` ∃x(P x ↔ Qx) ∀x∃yRxy, ∀x∀y(P x ∧ Rxy → P y) ∴ ∀xP x ∃xP0 x, ∃xP1 x, ∃xP2 x ∴ ∀x(P0 x ↔ P1 x) ∨ ∀x(P1 x ↔ P2 x) ∨ ∀x(P2 x ↔ P0 x) • ∀x∀y∀z(Rxy ∧ Ryz → Rxz), ∀x∃yRxy ∴ ∃xRxx.

As the last example confirms, there are invalid arguments whose only countermodels have a domain with infinitely many elements. So, the truth-tabular search for countermodels to quantificational arguments will sometimes fail to terminate, even when applied to arguments which are actually invalid. One might hope to find some improved search procedure which is “complete” in that it always guaranteed to find a countermodel if one exists. However, actually there is a theorem of 1936, due to Alonzo Church: no purely mechanical search for counterexamples is complete. One moral to draw here is that truth-functional logic is quite unlike logic as a whole. In truth-functional logic, one has the method of truth-tables. There is no in-principle barrier to using the truth-table method to settle every problem of truth-functional logic. Of course, the truth-tables may become enormous, and ingenuity may accelerate a search, but brute force can always get you there in principle. However, with quantificational logic the situation is different: brute force cannot always suffice to demonstrate invalidity.

Definability Let’s conclude the introduction of semantics of quantificational logic with a closer look at its expressive power. Throughout philosophy, mathematics, 10

and other disciplines the practice of definition plays a central organizing role. Philosophers have tried for millenia to define concepts like truth, knowledge and justice. Definitions also pervade mathematics: for example, a number is prime if it has just two positive whole divisors. Now there are two ways to think about definition: one syntactic and one semantic. On the syntactic approach, a definition of some term is a stipulation that the term abbreviates some other expression which doesn’t contain that term. Thus, definition in the syntactic sense is just a relationship between expressions. However, here we’ll pursue another approach, the semantic one. The basic intuition of the semantic approach is to identify some portion of a structure, and seek a formula which in some sense characterizes that portion uniquely. In this section, I’ll make this idea precise and conclude with a few more exercises. Definability of sets Let φ be a formula containing one free variable, say x. Because φ is not closed, φ is not true or false in any given structure. Rather, the natural question to ask about φ is whether or not it is satisfied by this or that element. More precisely, • if φ has at most one free variable v, then an element of a of A satisfies φ over A iff A |= φ[v/¯ a]. For example, consider the formula ∃yRxy and the structure ( ∗ : {0, 1, 2} A= R : {hx, yi : x, y ∈ ∗A and x < y.} ¯1 ¯ and so A |= ∃y 0¯y. It follows that 0 satisfies ∃yRxy. Then, for example, A |= 0 Similarly, because A |= R¯ 1¯ 2, therefore 1 satisfies ∃yRxy too. But, for no element a ∈ ∗A have we that A |= R2¯ a. Hence, A 6|= ∃yR¯2y, and so 2 does not satisfy ∃yRxy over A. In this way, we can consider a formula in one free variable to determine, over a structure, the set of all elements of the domain which satisfy it: • if φ has at most one free variable v, then φ defines, over A, the set {a : A |= φ[v/¯ a]}. Continuing the previous example: {0, 1} = {a ∈ {0, 1, 2} : A |= ∃yR¯ ay}. Hence {0, 1} is the set defined over A by ∃yRxy. ( ∗ : {0, 1, 2} Now a few questions. Let A = as before. R : {hx, yi : x < y.} 11

1. What set does each of the following formulas define over A? • • • •

∃yRyx ∃xRxy ∃yRyx ∧ ∃yRxy ∀x(Rxy → ∃zRzy)

2. Suppose that φ and ψ contain the same free variable, that φ defines over A the set {0} and that ψ defines over A the set {1, 2, 3}. Then what sets are defined over A by the formulas • • • • •

¬φ φ∧ψ φ∨ψ ψ ∧ ¬φ ψ → φ?

3. Give an example of a structure B such that the formula ∃yRxy defines over B the set {0, 1, 2}. 4. Suppose that the variable x occurs free in φ, but that φ doesn’t contain the variable y. Does φ[x/y] define the same set as φ? 5. Let

  ∗ : {n : n is a natural number} N = P : {n ∈ ∗N : n is even}   R : {hm, ni : m, n ∈ ∗H and n = m + 1}

What sets are defined over N by the formulas. . . • • • • •

¬P x ¬∃xRxy ∀x(Rxy → ¬P x) ∃x∃y(Rxy ∧ Ryz) ∃x∃y(∀w¬Rwx ∧ Rxy ∧ Ryz)?

Definability of relations So a formula in one free variable can be understood to define-over-A a set. How about a formula in two free variables? Making sense of this requires refining the concept of satisfaction. Consider for example the formula Ryx. Clearly, it makes no sense to ask of a single object whether it satisfies Rxy, since the result of replacing one free variable in Rxy with a name of that object still has no truth-value in A. Rather we should ask about pairs of objects. For example, does h0, 1i satisfy Ryx over A? Of course, here it needs to be specified which element of the pair h0, 1i is assigned to which of x and y. Roughly, we’ll stipulate that since x comes before y in the alphabet, therefore x gets assigned the first 12

element of h0, 1i and y gets assigned the second. Thus, the question whether h0, 1i satisfies Ryx over A becomes whether A |= R¯1¯0. More generally: the canonical ordering of the variables of L20 is like this: x, y, z, x1 , y1 , z1 , . . . , so that a variable v canonically precedes a variable w iff either v has a lower subscript than w, or v and w have the same subscript and v precedes w in the alphabet. Now if φ is a formula with k free variables, we write φ[¯ a1 , . . . , a ¯k ] to mean φ[v1 /¯ a1 ] · · · [vk /¯ ak ]. Thus, the free variable which occurs earliest in the ordering is assigned the first element of the sequence ha1 , . . . , ak i, the next-earliest in the ordering the second element, and so on. Finally, we can make it all precise. • Let φ be a formula with at most k free variables. Then the sequence ha1 , . . . , ak i satisfies φ over A iff A |= φ[¯ a1 , . . . , a ¯k ]. With the general notion of satisfaction in hand we can now define a general concept of definition too. • The formula φ defines over A the class {ha1 , . . . , ak i : A |= φ[¯ a1 , . . . , a ¯k ].} Lastly some questions. 1. Let

( H=

∗ : {m : m is a human being} R : {hm, ni : m is a parent of n}

what relations are defined over H by the following formulas? • ∃y(Rxy ∧ Ryz) • ∃x(Rxy ∧ Rxz) • ∃z(∃w(Rzw ∧ Rwy) ∧ Rzx ∧ ¬Rxy} 2. Write down a formula which defines the following relations on the abovementioned structure H. • {hm, ni : m is either a parent or a grandparent of n} • {hm, ni : m and n do not have any children together} • {hm, ni : m is a second cousin of n}

13

3. Say that a collection Γ of formulas defines a relation X over H iff X = {ha1 , . . . , ak i : H |= φ[¯ a1 , . . . , a ¯k ] for all φ ∈ Γ}. Now, consider the set Nan = {ha, bi : a, b ∈ ∗H and a is not an ancestor of b}. Is there a single formula which defines Nan over H? How about a collection of formulas? Also, let An = {ha, bi : a, b ∈ ∗H and ha, bi 6∈ X}. Is there a set of formulas which defines An over H?

14