7.1  Structures and Satisfaction

Sections 5.3 to 6.4 derived a good deal, and some searches stalled. The converse of Proposition 5.6.2 could not be finished: every attempt ran into a side condition. The converse of Proposition 5.6.1 stalled in the same way, and so did the search for ∃xP(x)⊢P(c) in Exercise (C2: A witness is not a name, used later). But a search that fails proves nothing, since a cleverer derivation might exist. Chapter 4 met the same problem for the connectives and solved it with meaning: a row of a truth table that makes the premises true and the conclusion false rules out every derivation at once (Corollary 4.7.3). This section builds the meaning of a quantified formula: a model, a domain of objects with a meaning for every symbol. A model that makes the premises true and the conclusion false is a counter-model, the exact form of the counter-readings used since Section 5.3, and Section 7.2 uses it to settle the stalled searches.

Remark (Looking back). Section 4.4 gave each formula of Chapter 4 a truth value by recursion on the formula, one clause per connective, under a row. This section does the same for first-order formulas, with a structure and an assignment in place of a row. Clauses (S3)–(S5) below are Chapter 4’s clauses for ⊥ and the connectives, read as conditions for satisfaction instead of truth under a row; (S6) and (S7), for the quantifiers, are the new ones.

7.1.1. Why a row is not enough

Chapter 4’s semantics gave each atom a truth value and computed the rest. Try it on the stalled sequent of Proposition 5.6.2’s converse, ∀y∃xR(x,y)⊢∃x∀yR(x,y). Neither side has a main connective among ¬,∧,∨,→,↔: each is a quantified formula, and a truth table would have to treat each as one atom. The sequent would become p⊢q, refuted by the row p=T, q=F. That “refutation” is worthless. The same reading refutes ∀xP(x)⊢∃xP(x), which is derivable (Proposition 5.5.1). Treating a quantified formula as an atom throws away exactly the structure that the quantifier rules use.

So what does make ∀y∃xR(x,y) true or false? Section 5.1 read such sentences informally, over a domain: “for every y in the domain there is an x in the domain with R(x,y)”. To decide it we need three things.

  • A domain: the objects the variables range over. Over Z the sentence may be true and over a three-element set false.
  • A meaning for each symbol. R is a predicate symbol, a name with two slots and no meaning of its own (Section 5.2). Read as > on Z, the sentence says “every integer has an integer above it”, which is true; read as < on N, it says “every natural number has a natural number below it”, which is false at y=0.
  • Values for the free variables, if there are any. The formula ∃y(y<x) is neither true nor false on N until we know which number x is.

The first two together are a structure; the third is an assignment. A structure with an assignment decides every formula, by clauses that read the quantifiers as Section 5.1 read them. That is all this section does; Section 7.2 uses the result.

7.1.2. Structures

Situate the notion first. A formula is built from symbols: constants such as c and 0, function symbols such as f and +, predicate symbols such as P, R and <, each function and predicate symbol with its number of argument places, its arity (Section 5.2, Definition 5.2.1 and Definition 5.2.2). The symbol = is special: it is part of the logic, with rules of its own (Definition 5.7.1), and it will always mean the same thing. A structure gives every other symbol a meaning.

A structure is a non-empty set of objects together with a meaning for each symbol: an object for each constant, an operation for each function symbol, and a relation for each predicate symbol.

Definition 7.1.1 (Structure)

Fix a collection of constants, function symbols and predicate symbols, each function and predicate symbol with its arity n≥1. A structure M (also called a model) for these symbols consists of

  • (M1) a non-empty set D, the domain of M;
  • (M2) for each constant c, an element cM∈D;
  • (M3) for each function symbol f of arity n, a function fM:Dn→D, defined at every n-tuple of elements of D;
  • (M4) for each predicate symbol R of arity n, a set RM of n-tuples of elements of D.

The symbol = is not interpreted by M: in every structure it means identity, “is the same element of D as”.

In words. (M1) says what the variables range over, and insists that there is at least one object. (M2) says which object each name names; two constants may name the same object. (M3) makes each function symbol an operation that can be applied to any objects of the domain and always returns an object of the domain. (M4) makes each predicate symbol a relation: RM is the set of tuples for which R “holds”. A one-place predicate symbol P becomes a subset PM⊆D, a two-place one a set of ordered pairs, and so on. Here Dn is the set of n-tuples (d1,…,dn) of elements of D; this section uses only their everyday meaning.

We usually describe a structure in one line, naming the domain and the meaning of each symbol, and write “M=(Z,<)” for the structure with domain Z in which the symbol < means the usual order. When a symbol has its usual meaning on a familiar set, we say so and do not write <M. When the domain is followed by a list of symbols, a semicolon separates the domain from the list, as in (R;1,+,⋅): each listed symbol has its usual meaning on that set, and only the listed symbols belong to the structure. With a single symbol we may also write a comma, as in (Z,<).

Examples, simplest first.

  • One element. D={a}, with PM={a}. This is the degenerate structure. Every variable must take the value a, so “for every element” and “there is an element” both mean “a”. It will reappear as a test case: a sentence true here and false in some other structure cannot be derivable (by the soundness statement in Section 7.2), and some of the chapter’s non-derivable sequents need at least two elements to refute.
  • Two elements, one relation. D={a,b}, with RM={(a,a),(b,b)}: the relation “is the same as”, written out as a set of pairs. A finite structure can be given completely by listing.
  • The integers with their order. D=Z, with RM={(x,y)∈Z2:x>y}. Here the relation is described by a condition rather than a list.
  • Arithmetic. D=R, with the constants 0 and 1 naming zero and one, the function symbols +, ⋅ and two-place − meaning addition, multiplication and subtraction, the one-place symbols −, (⋅)2 and |⋅| meaning negation, squaring and absolute value, and <, ≤, >, ≥ the usual order. Extended by the other familiar symbols with their usual meanings (numerals, halving, the predicates ∈A, division with its value at a zero denominator fixed arbitrarily as in the non-example below, and a function symbol for each sequence or function an example uses), this is the structure in which the analysis examples of Chapters 5 and 6 have been read all along.
Second readingA non-example, and the repair used for 1/n

Non-example by minimal change. Take the arithmetic structure and add a one-place function symbol g, meant to be read as x↦1/x. This is not a structure: (M3) asks for a function defined at every element of D, and 1/0 is not defined. Everything else in the description is fine; exactly clause (M3) fails, at the single point 0. There are two repairs. Shrink the domain to (0,∞), where 1/x is always defined; or keep R and give g any value at 0, say gM(0):=0. The second repair is the one this book uses for terms such as 1/n: the value at 0 is fixed arbitrarily and is never looked at, because such terms are used only under a bound n∈Z>0 (as in Exercise C3 of Section 7.2), exactly as a sequence an was read in Section 5.1 as a function symbol whose values off N are never used.

The domain is non-empty because of Proposition 5.5.1; the subsection “Why domains are non-empty” explains why.

Second readingWhy total functions, and why identity
  • Total functions. Clause (M3) is what makes every term name an object: the term g(0) must have a value, or the formula g(0)=g(0), which =I derives from nothing, would have no truth value.
  • Identity for =. The rule =E replaces equals by equals everywhere. If a structure could read = as some other relation, =E would fail. On Z, read x=y as “x and y have the same parity” and P as “is positive”: then −2=2 and P(2) would both hold, while P(−2), which =E derives from them, fails. With = fixed as identity, no such reading exists.

Warning. A structure must interpret every symbol that occurs in the formulas at hand. “Take D=Z” is not yet a structure for ∀y∃xR(x,y): until R is given a meaning, the sentence has no truth value, and the same domain makes it true with R read as > and false with R read as “x⋅x=y” (at y=2). Always write the domain and the meaning of each symbol.

7.1.3. Drawing a finite structure

A finite structure whose symbols are one- and two-place predicate symbols can be drawn, as Section 5.1 drew its worlds. Each element is a dot. Beside a dot stand its name and the one-place predicates it satisfies. For a two-place relation R, an arrow runs from d to e for each pair (d,e) in RM, and a loop at d records the pair (d,d). Deciding a sentence in a drawn structure is then reading the picture, dot by dot.

When the relation is a partial order ≤, arrows crowd the picture, and a lighter drawing is used. Section 7.4 defines partial orders; here it is enough that ≤ is reflexive and transitive and never holds both ways between two different elements. The Hasse diagram of such a structure puts d below e when d≤e and d≠e, and draws a line only for the pairs with nothing strictly between them. The loops, and the pairs that follow by chaining lines upwards, are understood. In the right picture below, 1≤6 holds although no line joins 1 and 6: the chain 1, 2, 6 runs upwards.

A picture is a structure only when it says what every symbol means: the caption names the domain and each symbol. Figure F draws two structures. Left: D={a,b,c}, PM={a}, RM={(a,b),(b,b),(c,a)}. Right: D={1,2,3,6}, with x≤y read as “x divides y”.

Diagram. Labels: 1, 2, 3, 6

Figure F. An arrow diagram (left) and a Hasse diagram (right).

Quick check. In the left structure of Figure F, decide ∀x∃yR(x,y) and ∃y∀xR(x,y).

Solution. The first is true: every dot has an arrow out of it (a→b, b→b, c→a). The second is false: no dot receives an arrow from all three. The dot b receives none from c, the dot a none from a or b, and the dot c none at all.

7.1.4. Assignments and the value of a term

A structure names the objects that constants stand for. Variables are different: their whole purpose is to range over the domain, so a structure gives them no fixed value. A separate object records what they stand for at a given moment.

Definition 7.1.2 (Assignment)

Let M be a structure with domain D. An assignment in M is a function ℓ that gives every variable x a value ℓ(x)∈D. For an assignment ℓ, a variable x and an element d∈D, the assignment ℓ[x↦d] is the one that gives x the value d and every other variable the value ℓ gives it: ℓ[x↦d](y):={dif y is the variable x,ℓ(y)if y is any other variable.

In words: an assignment is a choice of value for every variable at once, and ℓ[x↦d] changes that choice at the one variable x, leaving the others alone. The assignment ℓ[x↦d] is what the quantifiers will use: “for every x” will mean “for every d∈D, with x set to d”. Changes can be stacked: ℓ[x↦d][y↦e] first sets x to d and then y to e. When x and y are different variables the order does not matter, since each change touches only its own variable; when they are the same variable, the later change wins.

There are always assignments, because D is non-empty: pick any d0∈D and let every variable have the value d0. Like a valuation in Chapter 4 (Definition 4.4.1), an assignment fixes infinitely many values, and a formula will only ever look at finitely many of them.

With a structure and an assignment, every term names an element of the domain. Terms are built by the clauses of Definition 5.2.1, so the value is defined by recursion on terms, in the pattern of Theorem 4.3.4.

The value of a term is computed from its variables and constants upwards, one function symbol at a time.

For a structure M and an assignment ℓ, the value tM,ℓ∈D of a term t is:

  • xM,ℓ:=ℓ(x) for a variable x;
  • cM,ℓ:=cM for a constant c;
  • f(t1,…,tn)M,ℓ:=fM(t1M,ℓ,…,tnM,ℓ) for a function symbol f of arity n.

The third clause is where (M3) is needed: fM must accept every tuple the terms t1,…,tn might produce.

For example, in the arithmetic structure on R, let ℓ(x)=2 and ℓ(y)=−3. The term x⋅x+y, which is +(⋅(x,x),y) written in the usual way, has value 2⋅2+(−3)=1. Under ℓ[y↦1] it has value 2⋅2+1=5, and under ℓ[x↦0] it has value −3. The term 1+1 has value 2 under every assignment, since it contains no variable.

7.1.5. Satisfaction

Now the central definition. We want to say when a structure and an assignment make a formula true. Formulas are built by the clauses of Definition 5.2.2, so we define it by recursion, one clause per way of building a formula, and each clause reads its connective or quantifier as Chapter 4 and Section 5.1 read it.

A formula is satisfied when the objects its terms name stand in the relations its predicates name, combined by the connectives as in a truth table, with “for every x” and “there is an x” ranging over the domain.

Definition 7.1.3 (Satisfaction)

Let M be a structure with domain D and ℓ an assignment in M. The relation M,ℓ⊨φ, read “M satisfies φ under ℓ”, is defined by recursion on the formula φ:

  • (S1) M,ℓ⊨R(t1,…,tn) if (t1M,ℓ,…,tnM,ℓ)∈RM;
  • (S2) M,ℓ⊨t1=t2 if t1M,ℓ and t2M,ℓ are the same element of D;
  • (S3) M,ℓ⊨⊥ never holds;
  • (S4) M,ℓ⊨¬φ if M,ℓ⊨φ does not hold;
  • (S5) M,ℓ⊨φ∧ψ if both M,ℓ⊨φ and M,ℓ⊨ψ; M,ℓ⊨φ∨ψ if at least one of them holds; M,ℓ⊨φ→ψ unless M,ℓ⊨φ holds and M,ℓ⊨ψ does not; M,ℓ⊨φ↔ψ if both hold or neither does;
  • (S6) M,ℓ⊨∀xφ if M,ℓ[x↦d]⊨φ for every d∈D;
  • (S7) M,ℓ⊨∃xφ if M,ℓ[x↦d]⊨φ for at least one d∈D.

When M,ℓ⊨φ does not hold we write M,ℓ⊭φ. For a list Γ of formulas, M,ℓ⊨Γ means that M,ℓ⊨γ for every formula γ of Γ.

Read it clause by clause. (S1): an atomic formula is satisfied exactly when the values of its terms form a tuple in the relation that interprets its predicate symbol. (S2): an equation is satisfied when both sides name the same object; this is where “= means identity” enters. (S3)–(S5) are the ⊥ half of (V1) and clauses (V2)–(V6) of Chapter 4’s Definition 4.4.2, with “is true under v” replaced by “is satisfied by M under ℓ”: ⊥ is never satisfied, ¬ flips, ∧ needs both, ∨ needs one, → fails only with a satisfied hypothesis and an unsatisfied conclusion, ↔ needs agreement. (S6) and (S7) are the new clauses. To decide ∀xφ, we run through the elements d of the domain, set x to d and leave every other variable alone, and ask whether φ is satisfied each time. For ∃xφ one success is enough. In symbols, for (S6) and (S7): M,ℓ⊨∀xφifffor every d∈D,  M,ℓ[x↦d]⊨φ,M,ℓ⊨∃xφiffthere is d∈D with M,ℓ[x↦d]⊨φ.

A trace, step by step. Decide ∀x∃y(x<y) in two structures, both with < the usual order: M1 with domain N, and M2 with domain {1,2,3}. Let ℓ be any assignment.

In M1: by (S6) we must check, for every d∈N, that M1,ℓ[x↦d]⊨∃y(x<y). Fix d. By (S7) it is enough to find one e∈N with M1,ℓ[x↦d][y↦e]⊨x<y. Take e=d+1. Under ℓ[x↦d][y↦d+1] the terms x and y have the values d and d+1, and d<d+1, so (S1) holds. Hence the sentence is satisfied. Notice that the witness e=d+1 depends on d: (S7) is checked inside (S6), once for each d.

In M2: (S6) asks the same for d=1,2,3. At d=1 and d=2 the witnesses e=2 and e=3 work. At d=3 no e∈{1,2,3} has 3<e, so (S7) fails for ℓ[x↦3], and (S6) fails. So M2⊭∀x∃y(x<y), and the failure has a name: the element 3 has nothing above it.

The assignment matters for free variables. In M1=(N,<), with ≤ also read as usual, take the formula ∀y(x≤y), in which x is free. Under an assignment with ℓ(x)=0 it is satisfied, since every e∈N has 0≤e (recall that N={0,1,2,…}). Under an assignment with ℓ(x)=1 it is not: e=0 gives 1≤0, which fails. The same formula in the same structure is satisfied under one assignment and not under another; it is a property of x, “x is least”, not a statement.

Second readingSatisfaction is well defined; degenerate cases

Well defined. The clauses define, for each formula, which pairs (M,ℓ) satisfy it, by recursion on the formula: (S1)–(S3) settle the atomic formulas and ⊥, and each of (S4)–(S7) settles a compound formula from its immediate parts. One point needs a word. Clauses (S6) and (S7) consult the immediate part φ under other assignments ℓ[x↦d], not under ℓ. So the recursion must define satisfaction of each formula under all assignments at once, and then (S6) reads off the answer for φ at every ℓ[x↦d]. The recursion is still on the formula alone, and Theorem 4.3.4, applied to formulas built by the clauses of Definition 5.2.2, gives exactly one such relation.

Degenerate cases. In the one-element structure D={a}, every assignment gives every variable the value a, so ℓ[x↦a]=ℓ and (S6) and (S7) both reduce to “M,ℓ⊨φ”. So ∀xφ and ∃xφ are satisfied together or not at all, and every equation x=y is satisfied. In any structure, ∀x(x=x) is satisfied, since every d is the same element as itself; and ∃x¬(x=x) never is.

Satisfaction as a game. Section 5.1 read a sentence whose quantifiers all stand in front as a game between a challenger, who tries to make it false, and a defender, who tries to make it true. The clauses extend that game to every formula, one move per clause. At ∀xφ (S6) the challenger picks an element d∈D for x; at ∃xφ (S7) the defender picks. At φ∧ψ the challenger picks the side to be checked, and at φ∨ψ the defender does; φ→ψ is played as ¬φ∨ψ, and φ↔ψ as the two implications joined by ∧. At ¬φ the players change roles (S4), since making ¬φ true is making φ false. At an atomic formula the game ends, and the defender wins exactly when (S1) or (S2) holds; at ⊥ the defender never wins (S3). A sentence is true in M exactly when the defender can answer every challenge and win: read clause by clause, that is what (S1)–(S7) say. In the trace above, the defender’s answer e=d+1 to each challenge d is such a way of winning on N; on {1,2,3} the challenge d=3 has no answer.

Quick check. Play the game for ∃y∀x(x≤y) on (N,≤) and on ({1,2,3},≤). Who moves first, and who wins?

Solution. The defender moves first, since ∃ comes first: the order of the quantifiers is the order of the moves. On N, whatever e the defender names, the challenger answers x=e+1 and wins, so the sentence is false. On {1,2,3} the defender names 3, and every challenge x has x≤3, so the sentence is true.

Quick check. Is ∀x∃y(y⋅y=x) satisfied in R, in [0,∞), and in C, each with ⋅ the usual product?

Solution. In R, no: at d=−1, (S7) asks for a real e with e⋅e=−1, and every real square is ≥0. In [0,∞), yes: for each d≥0, e=d is in the domain and e⋅e=d; and [0,∞) with ⋅ is a structure, since a product of non-negative reals is non-negative (M3). In C, yes: every complex number has a complex square root (school algebra of complex numbers: r(cos⁡θ+isin⁡θ) with r≥0 has the square root r(cos⁡θ2+isin⁡θ2)). The sentence is the same all three times; only the structure changes.

7.1.6. Only the free variables matter

The example of ∀y(x≤y) above showed ℓ mattering. In the first example it did not: the verdict on ∀x∃y(x<y) was reached for “any assignment ℓ”. That is no accident. A sentence has no free variables (Definition 5.2.4), and every variable it contains is bound, so every value ℓ gives is overwritten by (S6) or (S7) before it is looked at. We prove the general fact, which is the first-order version of Chapter 4’s Lemma 4.4.1: satisfaction depends only on the values of the free variables.

Say that two assignments ℓ and ℓ′ agree on a set of variables if ℓ(y)=ℓ′(y) for every variable y in it. We need the free variables of a formula (Definition 5.2.3), in the recursive description given after that definition in Section 5.2: every variable occurring in an atomic formula is free there; ¬φ has the free variables of φ; φ∘ψ, for a binary connective ∘, has those of φ and those of ψ; and ∀xφ and ∃xφ have those of φ other than x.

Lemma 7.1.1 (Free Variables Coincidence Lemma)

Let M be a structure and φ a formula, and let ℓ and ℓ′ be assignments in M that agree on every free variable of φ. Then M,ℓ⊨φif and only ifM,ℓ′⊨φ.

In words: to decide a formula, only the values of its free variables matter.

Second readingThe proof: an induction for all assignments at once

Idea. Structural induction on φ, as for Lemma 4.4.1, after a first induction on terms: a term’s value depends only on the values of its variables. The connective cases are Chapter 4’s. The quantifier case is the only new one, and it explains why the property must be stated for all pairs of assignments: (S6) compares ℓ[x↦d] with ℓ′[x↦d], which are new assignments, so the induction hypothesis must apply to them. They agree at x, since both give it d, and at every other free variable of φ, since those are free in ∀xφ.

Proof. Terms first. We show: if ℓ and ℓ′ agree on every variable occurring in a term t, then tM,ℓ=tM,ℓ′. We use structural induction on terms (Definition 5.2.1; the pattern of Theorem 4.3.1). For a variable x, the variable x occurs in x, so xM,ℓ=ℓ(x)=ℓ′(x)=xM,ℓ′. For a constant c, both values are cM. For f(t1,…,tn), every variable of ti occurs in f(t1,…,tn), so the hypothesis for ti gives tiM,ℓ=tiM,ℓ′ for each i; applying fM to equal tuples gives equal values.

Formulas. We apply structural induction to the property C(φ): for all assignments ℓ, ℓ′ in M that agree on the free variables of φ, M,ℓ⊨φ if and only if M,ℓ′⊨φ.

Atomic formulas. Let φ be R(t1,…,tn), and let ℓ, ℓ′ agree on its free variables. Every variable occurring in φ is free in it (Definition 5.2.3), so ℓ and ℓ′ agree on the variables of each ti, and by the claim for terms tiM,ℓ=tiM,ℓ′. The two tuples in (S1) are equal, so one lies in RM exactly when the other does. The case t1=t2 is the same with (S2). For ⊥, neither side holds, by (S3).

Connectives. Assume C(φ) and C(ψ), and let ℓ, ℓ′ agree on the free variables of φ∧ψ. These include the free variables of φ and those of ψ, so M,ℓ⊨φ if and only if M,ℓ′⊨φ, and likewise for ψ. By (S5), satisfaction of φ∧ψ is decided by these two answers through the same rule for ℓ and for ℓ′, so C(φ∧ψ) holds. The cases ¬φ, φ∨ψ, φ→ψ, and φ↔ψ are the same argument with (S4) and the other parts of (S5), as in the proof of Lemma 4.4.1.

Universal quantifier. Assume C(φ), let x be a variable, and let ℓ, ℓ′ agree on the free variables of ∀xφ. Let d∈D. We claim that ℓ[x↦d] and ℓ′[x↦d] agree on the free variables of φ. At x, both give d. A free variable y of φ other than x is a free variable of ∀xφ (Definition 5.2.3), so ℓ[x↦d](y)=ℓ(y)=ℓ′(y)=ℓ′[x↦d](y). By C(φ), applied to these two assignments, M,ℓ[x↦d]⊨φiffM,ℓ′[x↦d]⊨φ. This holds for every d∈D, so by (S6) M,ℓ⊨∀xφ if and only if M,ℓ′⊨∀xφ. This proves C(∀xφ).

Existential quantifier. The same argument, with (S7) in place of (S6): the displayed equivalence holds for each d, so there is a d making the left side hold exactly when there is one making the right side hold.

Every clause of Definition 5.2.2 has been covered, so C(φ) holds for every formula φ. This proves the lemma.

Quick check. In (N,≤), does whether ℓ satisfies ∀y(x≤y) depend on ℓ(y)?

Solution. No: y is not free in the formula, so by the lemma only ℓ(x) matters. The formula holds exactly when ℓ(x)=0.

The lemma has a consequence that the rest of the section uses constantly.

Sentences. If φ is a sentence, it has no free variables, so any two assignments agree on its free variables, and the lemma says that M,ℓ⊨φ either holds for every assignment ℓ or for none. We then write M⊨φ, and say that φ is true in M (or that M is a model of φ), in the first case, and M⊭φ, φ is false in M, in the second. At least one assignment exists because D is non-empty, so a sentence is always exactly one of true and false in M. This is the precise form of Section 5.1’s informal “true over a domain”.

Only finitely many values matter. A formula has finitely many free variables. To decide M,ℓ⊨φ, it is enough to know ℓ on those. So we describe an assignment by the values that matter (“ℓ(x)=2”), exactly as Chapter 4 described a valuation by the values of a few atoms.

Warning. The same sentence can be true in one structure and false in another, and “true” without a structure means nothing. ∀x∃y(x<y) is true in (N,<) and false in ({1,2,3},<), as traced above. A sentence of predicate logic is like a formula of Chapter 4 with atoms: it has a truth value only once the meaning of its symbols has been fixed.

7.1.7. Semantic entailment

Chapter 4 said that Γ entails ψ when every row that makes Γ true makes ψ true (Definition 4.5.3). The row is now a structure with an assignment.

An argument is valid when every structure, under every assignment, that satisfies all the premises also satisfies the conclusion.

Definition 7.1.4 (Semantic Entailment in Predicate Logic)

Let Γ be a list of formulas and φ a formula. We say Γ semantically entails φ, and write Γ⊨φ, if for every structure M for the symbols occurring in Γ and φ, and every assignment ℓ in M, M,ℓ⊨Γ⇒M,ℓ⊨φ. We write ⊨φ when Γ is empty. If Γ⊨φ fails, we write Γ⊭φ; a structure M with an assignment ℓ such that M,ℓ⊨Γ and M,ℓ⊭φ is a counter-model to Γ⊨φ.

In words: “every structure” means every domain and every meaning of the symbols, so an entailment holds for reasons of form and not because of what R happens to mean. “Every assignment” covers every value of the free variables; when Γ and φ are sentences, the assignment makes no difference, by Lemma 7.1.1. And a counter-model is the analogue of Chapter 4’s refuting row: one structure, with one assignment, where the premises hold and the conclusion does not. The symbol ⊨ is the one of Chapter 4, and the context always shows which is meant: a sequent of formulas with quantifiers or predicate symbols is read with this definition.

A structure may interpret symbols that do not occur in Γ or φ. The clauses of Definition 7.1.3 consult only the symbols of the formula at hand, so such extra meanings change nothing.

First examples of entailment. The argument Section 5.1 opened with, “every positive real has a square root; 2 is positive; so 2 has a square root”, is ∀x(P(x)→Q(x)), P(c)⊢Q(c), derived in Section 5.3. Truth tables called it invalid, since they saw three unrelated atoms. It is valid in the new sense: ∀x(P(x)→Q(x)), P(c)⊨Q(c). Let M,ℓ satisfy both premises, and let a=cM. By (S6) for the first premise, with d=a, we get M,ℓ[x↦a]⊨P(x)→Q(x). Under ℓ[x↦a] the term x has value a, and under ℓ the term c has value a; so by (S1), M,ℓ[x↦a]⊨P(x) holds if and only if a∈PM if and only if M,ℓ⊨P(c), which is the second premise. So by (S5) M,ℓ[x↦a]⊨Q(x), that is, a∈QM, and by (S1) again M,ℓ⊨Q(c). Chapter 4’s objection to this argument is gone.

7.1.8. Proving an entailment by meaning

To show Γ⊨φ, fix an arbitrary structure and assignment satisfying Γ, and show that they satisfy φ. The first proof below writes every step with the clause that licenses it; the second condenses it to what a mathematician writes.

Example (A Semantic Proof, Clause by Clause)

Show that ∃x∀yR(x,y)⊨∀y∃xR(x,y).

Solution. Each step ends with the clause that licenses it.

  1. Let M be a structure with domain D and ℓ an assignment with M,ℓ⊨∃x∀yR(x,y) (Definition 7.1.4).
  2. There is d∈D with M,ℓ[x↦d]⊨∀yR(x,y) (S7).
  3. To show M,ℓ⊨∀y∃xR(x,y), let e∈D; we must show M,ℓ[y↦e]⊨∃xR(x,y) (S6).
  4. From item 2, with this e: M,ℓ[x↦d][y↦e]⊨R(x,y) (S6).
  5. Under ℓ[x↦d][y↦e] the terms x, y have the values d, e, so (d,e)∈RM (S1).
  6. Take the witness d for x: under ℓ[y↦e][x↦d] the values are again d, e, so M,ℓ[y↦e][x↦d]⊨R(x,y) by item 5 (S1), and so M,ℓ[y↦e]⊨∃xR(x,y) (S7).
  7. Since e was arbitrary, M,ℓ⊨∀y∃xR(x,y) (S6).

Condensed. Suppose some d is R-related to everything. Then for each e, the element d itself is related to e, so each e has something related to it.

Section 5.6 derived the same sequent (Proposition 5.6.2); this is its meaning. The converse fails, and Section 7.2 draws why.

Quick check. In item 6, why are ℓ[y↦e][x↦d] and ℓ[x↦d][y↦e] the same assignment?

Solution. The variables x and y are different, and each change touches only its own variable, so the order of the two changes does not matter (the paragraph after Definition 7.1.2).

Example (The Drinker Sentence, by Meaning)

Show that ⊨∃x(P(x)→∀yP(y)): in every structure, some element has the property that if it has P, everything has P.

Solution. Let M and ℓ be given, with domain D.

Case 1: PM=D. Choose any d∈D, which exists because D is non-empty (M1). Under ℓ[x↦d] the formula ∀yP(y) is satisfied, by (S6), so the implication is satisfied, by (S5); hence the sentence holds, by (S7).

Case 2: some d∈D is not in PM. Under ℓ[x↦d] the hypothesis P(x) fails (S1), so the implication is satisfied (S5), and (S7) gives the sentence.

The case split is on a question about the whole structure, whether PM=D, and the witness depends on its answer; this is why no witness can be named in advance, and why a derivation needs a detour (Section 6.3 derived it, with D, n, m in place of P, x, y, Exercise (C1: Some index decides, used later)). Case 1 is where the non-empty domain is used, as in the next subsection.

7.1.9. Why domains are non-empty

Clause (M1) of Definition 7.1.1 demands a non-empty domain. Here is the reason. Proposition 5.5.1 derives ∀xP(x)⊢∃xP(x) in three lines: ∀E at the variable x, then ∃I. The matching entailment holds for our structures: ∀xP(x)⊨∃xP(x). Let M,ℓ⊨∀xP(x). Since D is non-empty, choose some d∈D. By (S6), M,ℓ[x↦d]⊨P(x), and this d is the one element (S7) asks for, so M,ℓ⊨∃xP(x).

Now suppose empty domains were allowed. In a structure with D=∅, (S6) says ∀xP(x) is satisfied, since “for every d∈∅” has nothing to check; and (S7) says ∃xP(x) is not, since there is no d at all. So the sequent would be derivable and yet fail in a structure, and the rules would lead from a true premise to a false conclusion. (Worse, no assignment into an empty domain exists, so even the clauses could not be applied as written.) One of two things had to give: the rule ∀E at a variable, or empty domains. The book, like most of mathematics, keeps the rules and makes domains non-empty.

Nothing is lost. Statements about an empty set are handled by the bounded quantifiers of Definition 5.1.1, inside a non-empty domain. The bounded forms ∀x∈∅ φ and ∃x∈∅ φ abbreviate ∀x(x∈∅→φ) and ∃x(x∈∅∧φ), and in a structure with domain R in which the one-place predicate symbol ∈∅ (Section 5.2) is interpreted, by (M4), as the empty subset of R, the first is true (every hypothesis d∈∅ is false) and the second is false (no d is in ∅). Vacuous truth lives in the bound, not in the domain.

7.1.10. Exercises

A. Check your understanding

Exercise (A1)

Let MN, MZ, MQ be the structures with domains N, Z, Q, each with < the usual order.

  • (a) For each of the sentences (i) ∀x∃y(x<y), (ii) ∃x∀y¬(y<x), (iii) ∀x∀y(x<y→∃z(x<z∧z<y)) and (iv) ∀x∃y(y<x), say in which of the three structures it is true, with a witness or a failing element for each verdict.
  • (b) True or false: if a sentence is true in some structure, it is true in every structure for its symbols.
  • (c) Why must the domain of a structure be non-empty? Name the derivable sequent that would otherwise fail.
  • (d) In Example (A Semantic Proof, Clause by Clause), which clause produces the element d, and why may the same d serve for every e?

Solution. (a) (i) True in all three: for each d, take y=d+1, which lies in the same domain and is larger.

  • (ii) This says “there is a least element”. True in MN, with x=0: no natural number is below 0. False in MZ and MQ: for any d, the element e=d−1 has e<d, so (S6) fails for ¬(y<x) under ℓ[x↦d].

  • (iii) This says “between any two elements there is a third” (density). False in MN and MZ: at x=1, y=2 there is no integer strictly between. True in MQ: for d<e in Q, z=(d+e)/2 is rational and d<z<e.

  • (iv) This says “no element is least”. False in MN, at x=0. True in MZ and MQ, with y=d−1.

N Z Q
(i) true true true
(ii) true false false
(iii) false false true
(iv) false true true

(b) False. Sentence (ii) is true in MN and false in MZ, as the table shows.

(c) The sequent is ∀xP(x)⊢∃xP(x), derived in Proposition 5.5.1 by ∀E at the variable x and ∃I. In an empty domain ∀xP(x) would be true, with nothing to check, and ∃xP(x) false, with no witness; so the rules would lead from a true premise to a false conclusion. (There would also be no assignments at all.)

(d) (S7), applied to the premise in item 2. The element d is fixed before any e is chosen, and item 2 says that d is related to every e, by (S6); so item 6 may use d whatever e item 3 picked.

Exercise (A2: Drill)

Each part takes a line or two. Parts (a)–(d) read a structure or a clause, (e)–(i) decide a formula in a given structure, with a witness or a failing element, (j) and (k) judge, and (l) builds a structure.

  • (a) Let D={a,b} and PM={a}. Is ∀xP(x) true in M?
  • (b) In the same structure, is ∃x¬P(x) true?
  • (c) In (R;1,+,⋅), what is the value of x⋅x+1 under an assignment with ℓ(x)=−2?
  • (d) By Lemma 7.1.1, the values of which variables can matter to the truth of ∀y(x≤y)∧z=z in a given structure? Do they all matter?
  • (e) In ({0,1,2},≤), is ∃x∀y(x≤y) true?
  • (f) In (N,<), under an assignment with ℓ(x)=3, is ∃y(y<x) satisfied? And with ℓ(x)=0?
  • (g) In the left structure of Figure F, is ∀x(P(x)→∃yR(y,x)) true?
  • (h) Decide ∀x∀y(x≤y∨y≤x) in (N,≤) and in the right structure of Figure F.
  • (i) Decide ∃x∀y(y⋅x=y) in (Z,⋅) and in the even integers with ⋅.
  • (j) Is N with the two-place function symbol − read as subtraction a structure?
  • (k) In a structure with D={a} and PM=∅, decide ∀xP(x)→∃xP(x) and ∀x¬P(x)→¬∃xP(x).
  • (l) Give a structure on {1,2} in which ∃xR(x,x) is false and ∀x∃yR(x,y) is true.

Solution.

  • (a) No: it fails at b.

  • (b) Yes, at b.

  • (c) (−2)⋅(−2)+1=5.

  • (d) At most x and z, its free variables; not y. Not always: z never matters, since z=z holds under every assignment, and whether x matters depends on the structure. In (N,≤) it does (true with ℓ(x)=0, false with ℓ(x)=1); if ≤M is empty it does not. The lemma gives an upper bound, not the exact set.

  • (e) Yes, with x=0.

  • (f) Yes, with y=0. With ℓ(x)=0, no: nothing in N is below 0.

  • (g) Yes: the only element with P is a, and the arrow c→a enters it; at b and c the hypothesis fails.

  • (h) True in N; false in the divisibility structure, at x=2, y=3.

  • (i) True in Z, with x=1. False in the even integers: y=2 would need 2x=2, so x=1, which is odd.

  • (j) No: (M3) fails, since 0−1∉N.

  • (k) Both true: the first because its hypothesis fails at a; the second because both sides are true.

  • (l) RM={(1,2),(2,1)}: no loops, and each element has an arrow out.

B. Practice

Exercise (B1: One sentence, two pictures)

Two structures for the one symbol ≤ are drawn below. On the left, M1: the domain D1={1,2,3,4,6,12}, with x≤y read as “x divides y”, as a Hasse diagram. On the right, M2=({1,2,3,4,5,6},≤), with the usual order, as a vertical chain.

Diagram: B1: One sentence, two pictures. Labels: 1, 2, 3, 4, 6, 12, 5

Decide each sentence in each structure, with a witness or a failing pair:

  • (i) ∃x∀y(x≤y);
  • (ii) ∃x∀y(y≤x);
  • (iii) ∀x∀y(x≤y∨y≤x);
  • (iv) ∀x∀y∃z(x≤z∧y≤z).

Which of them tell the two structures apart?

Solution. (i) True in both: x=1 in each, since 1 divides every element of D1 and is the least element of M2.

(ii) True in both: x=12 in M1, since every element of D1 divides 12; x=6 in M2.

(iii) False in M1, at x=2, y=3: neither divides the other. True in M2: of two numbers, one is at most the other.

(iv) True in both: z=12 in M1, and z=6 in M2 (or z the larger of x and y).

Only (iii) separates them.

Marking scheme. (10 points) - 8: 2 for each of (i)–(iv) in both structures, 1 for the verdicts and 1 for a named witness or failing pair for every verdict. - 2: naming (iii) as the only separating sentence. Fatal errors (0 for the part): a verdict on M1 that reads ≤ as the usual order of numbers.

Exercise (B2: A model on three elements)

Give an example of a structure with exactly three elements in which both ∀x∃yR(x,y)and∀x¬R(x,x) are true. Check both sentences. Which properties must every such structure have?

Solution. Take D={0,1,2} and RM={(0,1),(1,2),(2,0)}: each element is related to the next one around a circle. First sentence: for d=0,1,2, the witnesses e=1,2,0 give pairs in RM. Second sentence: none of (0,0), (1,1), (2,2) is in RM, so ¬R(x,x) is satisfied under ℓ[x↦d] for each d.

The properties every answer must have: the domain has three elements; every element d has some e with (d,e)∈RM; and no pair (d,d) is in RM, so that e is always different from d. Any RM meeting these works, for instance {(0,1),(1,0),(2,0)} or the set of all pairs (d,e) with d≠e.

Exercise (B3: Is it a structure?)

For each description, say whether it is a structure for the symbols named. If not, name the clause of Definition 7.1.1 that fails, and repair it with as small a change as you can.

  • (i) D=Q, with a one-place function symbol f read as x↦1/x for x≠0 and f(0)=0.
  • (ii) D=N, with f read as x↦x−1.
  • (iii) D=∅, with P read as the empty set.
  • (iv) D=Z, with a constant c naming 12.
  • (v) D=R, with a two-place predicate symbol R read as {(x,y):y=x}.
  • (vi) D=R, with a one-place function symbol g read as x↦x.

Solution. (i) Yes: every element has a value in Q.

(ii) No: (M3) fails, since f(0)=−1∉N. Repair: f(0):=0.

(iii) No: (M1) fails. Repair: any non-empty domain.

(iv) No: (M2) fails, since 12∉Z. Repair: D=Q, or let c name an integer.

(v) Yes: (M4) asks only for a set of pairs, and nothing requires a relation to hold for every first element.

(vi) No: (M3) fails, since −1 is not real. Repair: D=[0,∞), or fix g(x):=0 for x<0.

Descriptions (v) and (vi) carry the same information, and only the function symbol must be total.

Marking scheme. (10 points) - 6: 1 for each verdict. - 2: the clause named at each “no” (all four right). - 2: repairs that are minimal and correct. Fatal errors (0 for the part): calling (v) a non-structure because x is undefined for x<0.

C. Going deeper

Exercise (C1: Proofs by meaning)
  • (a) Prove ∀x(P(x)∧Q(x))⊨∀xP(x)∧∀xQ(x) clause by clause, as in Example (A Semantic Proof, Clause by Clause).
  • (b) Prove ∀x(P(x)∨Q(x))⊨∀xP(x)∨∃xQ(x), condensed.
  • (c) Prove ∃x(P(x)→Q(c))⊨∀xP(x)→Q(c), condensed, and say where your proof uses the existential premise.

Solution. (a) Let M,ℓ⊨∀x(P(x)∧Q(x)). By (S5) it suffices to show each conjunct. For ∀xP(x), let d∈D (S6). By (S6) for the premise, M,ℓ[x↦d]⊨P(x)∧Q(x); by (S5), M,ℓ[x↦d]⊨P(x). Since d was arbitrary, M,ℓ⊨∀xP(x) (S6). Likewise M,ℓ⊨∀xQ(x), with the other half of (S5).

(b) If PM=D, the left disjunct holds. Otherwise some d∈D is not in PM. The premise at d gives d∈PM or d∈QM, so d∈QM, and ∃xQ(x) holds. Either way the disjunction holds.

(c) Let d be the premise’s witness: if d∈PM, then cM∈QM. Suppose ∀xP(x) holds; then d∈PM, so Q(c) holds. The witness d is where the existential premise is used: the hypothesis ∀xP(x) is applied at it.

Marking scheme. (10 points) - 4: (a), with every step’s clause named, and (S6) used both to fix d and on the premise. - 3: (b), split on whether PM=D (or on a failing element), with the premise used at that element. - 3: (c), taking the premise’s witness d and applying the hypothesis ∀xP(x) at d (in either order). Fatal errors (0 for the part): in (a), a proof in which d is a particular element (for example a constant’s value, or an element chosen to lie in PM) rather than an arbitrary d∈D, so that the closing (S6) step for ∀xP(x) is unjustified.

Exercise (C2: Challenge: only the symbols that occur matter)

Let M and N be structures with the same domain D that give the same meaning to every symbol occurring in a formula φ. Prove that for every assignment ℓ, M,ℓ⊨φ if and only if N,ℓ⊨φ. (This is the claim after Definition 7.1.4 that extra meanings change nothing.)

Solution (Hint 1). Terms first, as in the proof of Lemma 7.1.1.

Solution (Hint 2). Prove, by structural induction on φ, the property: for every assignment ℓ, …; the quantifier case needs it at ℓ[x↦d].

Solution. Terms. For every term t whose symbols M and N interpret alike, tM,ℓ=tN,ℓ for every ℓ, by structural induction on t. For a variable x, both values are ℓ(x). For a constant c, they are cM=cN. For f(t1,…,tn), the hypothesis gives equal values of the ti, and fM=fN applied to equal tuples gives equal values.

Formulas. Let A(φ) be the property: for every assignment ℓ, M,ℓ⊨φ if and only if N,ℓ⊨φ, for formulas φ whose symbols M and N interpret alike. Atomic formulas: the tuples of values are equal by the claim for terms, and RM=RN, so (S1) gives the same answer; equations likewise by (S2); ⊥ by (S3). Connectives: (S4) and (S5) combine equal answers into equal answers. For ∀xφ: the two structures have the same domain, so d ranges over the same elements in both; for each d, A(φ) at the assignment ℓ[x↦d] gives equal answers, and (S6) gives A(∀xφ). For ∃xφ, the same with (S7). Every clause of Definition 5.2.2 has been covered, so A(φ) holds for every formula.

Marking scheme. (10 points) - 2: the claim for terms, by induction. - 2: the atomic cases, with (S1) and (S2). - 2: the connective cases. - 3: the quantifier case, using the property at the changed assignments and the shared domain. - 1: naming where “same domain” is used. Fatal errors (0 for the step): an induction hypothesis stated for one fixed ℓ only.