Skip to content

2.4 Satisfaction and Models

Satisfaction, truth in a structure, models of sentences, and theories in first order logic.

Satisfaction is the formal relation that connects syntax with semantics in first order logic, and it tells us when a formula is true in a structure under a given assignment of objects to its free variables.

Satisfaction

Let M\mathcal{M} be a structure with domain MM, and let ss be an assignment:

s:VarM s : \mathrm{Var} \to M

The notation:

M,sA \mathcal{M}, s \models A

means that the formula AA is satisfied in the structure M\mathcal{M} under the assignment ss.

This notation is used because formulas may contain free variables, and the truth of such a formula can depend on which elements of the domain are assigned to those variables.

Definition 2.29 (Satisfaction for Atomic Formulas)

Let M\mathcal{M} be a structure, let ss be an assignment, and let t1,,tnt_1, \dots, t_n be terms.

If PP is an nn-ary predicate symbol, then:

M,sP(t1,,tn) \mathcal{M}, s \models P(t_1, \dots, t_n)

if and only if:

(t1M,s,,tnM,s)PM (t_1^{\mathcal{M}, s}, \dots, t_n^{\mathcal{M}, s}) \in P^{\mathcal{M}}

If the atomic formula is an equality:

t1=t2 t_1 = t_2

then:

M,st1=t2 \mathcal{M}, s \models t_1 = t_2

if and only if:

t1M,s=t2M,s t_1^{\mathcal{M}, s} = t_2^{\mathcal{M}, s}

Thus atomic formulas are evaluated by first evaluating their terms and then checking whether the corresponding relation or equality holds in the structure.

Definition 2.30 (Satisfaction for Connectives)

The satisfaction relation extends from atomic formulas to compound formulas by following the truth rules for the logical connectives.

For negation:

M,s¬A \mathcal{M}, s \models ¬A

if and only if:

M,s⊭A \mathcal{M}, s \not\models A

For conjunction:

M,sAB \mathcal{M}, s \models A \land B

if and only if:

M,sAandM,sB \mathcal{M}, s \models A \quad \text{and} \quad \mathcal{M}, s \models B

For disjunction:

M,sAB \mathcal{M}, s \models A \lor B

if and only if:

M,sAorM,sB \mathcal{M}, s \models A \quad \text{or} \quad \mathcal{M}, s \models B

For implication:

M,sAB \mathcal{M}, s \models A \to B

if and only if either:

M,s⊭A \mathcal{M}, s \not\models A

or:

M,sB \mathcal{M}, s \models B

For biconditional:

M,sAB \mathcal{M}, s \models A \leftrightarrow B

if and only if:

M,sA \mathcal{M}, s \models A

and:

M,sB \mathcal{M}, s \models B

have the same truth value.

Definition 2.31 (Changing an Assignment)

Let ss be an assignment, let xx be a variable, and let aMa \in M.

We write:

s[xa] s[x \mapsto a]

for the assignment that sends xx to aa and agrees with ss on every variable other than xx.

Thus:

s[xa](x)=a s[x \mapsto a](x)=a

and if yxy \ne x, then:

s[xa](y)=s(y) s[x \mapsto a](y)=s(y)

This notation is used to define the semantics of quantifiers, since quantifiers vary the value assigned to one variable while leaving the other variables fixed.

Definition 2.32 (Satisfaction for Quantifiers)

For the universal quantifier:

M,sxA \mathcal{M}, s \models \forall x \, A

if and only if for every aMa \in M:

M,s[xa]A \mathcal{M}, s[x \mapsto a] \models A

Thus xA\forall x \, A is true when AA is true no matter which element of the domain is assigned to xx.

For the existential quantifier:

M,sxA \mathcal{M}, s \models \exists x \, A

if and only if there exists aMa \in M such that:

M,s[xa]A \mathcal{M}, s[x \mapsto a] \models A

Thus xA\exists x \, A is true when AA is true for at least one element of the domain assigned to xx.

Example 2.33

Let N\mathcal{N} be the usual structure of natural numbers:

N=(N;0,S,+,×,<) \mathcal{N} = (\mathbb{N}; 0, S, +, \times, <)

Consider the formula:

xy(x<y) \forall x \, \exists y \, (x < y)

To check satisfaction, choose any element aNa \in \mathbb{N} for xx.

We need to find some element bNb \in \mathbb{N} such that:

a<b a < b

Taking:

b=a+1 b = a + 1

works for every natural number aa, and therefore:

Nxy(x<y) \mathcal{N} \models \forall x \, \exists y \, (x < y)

This sentence expresses the fact that the natural numbers have no greatest element.

Example 2.34

Let A\mathcal{A} be the finite ordered structure:

A=({0,1,2};<) \mathcal{A} = (\{0,1,2\}; <)

where << is the usual order restricted to the set {0,1,2}\{0,1,2\}.

The sentence:

xy(x<y) \forall x \, \exists y \, (x < y)

is false in A\mathcal{A}.

Indeed, if xx is assigned the value 22, then there is no element y{0,1,2}y \in \{0,1,2\} such that:

2<y 2 < y

Thus:

A⊭xy(x<y) \mathcal{A} \not\models \forall x \, \exists y \, (x < y)

The same formula can therefore be true in one structure and false in another structure.

Lemma 2.35 (Dependence on Free Variables)

Let AA be a formula, and let ss and ss' be assignments in a structure M\mathcal{M}.

If ss and ss' agree on every free variable of AA, then:

M,sA \mathcal{M}, s \models A

if and only if:

M,sA \mathcal{M}, s' \models A

Proof

The proof is by structural induction on the formula AA.

For atomic formulas, the truth of the formula depends only on the values of the variables occurring in its terms, and these variables are free in the atomic formula, so the two assignments give the same values to all relevant terms.

For negation and binary connectives, the result follows directly from the induction hypothesis applied to the immediate subformulas.

For a quantified formula such as:

xB \forall x \, B

the variable xx is bound, so the free variables of xB\forall x \, B are the free variables of BB except for xx.

To evaluate the universal quantifier, we compare:

M,s[xa]B \mathcal{M}, s[x \mapsto a] \models B

and:

M,s[xa]B \mathcal{M}, s'[x \mapsto a] \models B

for each aMa \in M.

The modified assignments agree on all free variables of BB, because they both send xx to aa and because ss and ss' agree on the remaining free variables.

The existential case is similar.

Corollary 2.36 (Truth of Sentences)

If AA is a sentence, then its truth in a structure does not depend on the choice of assignment.

Proof

A sentence has no free variables.

Therefore any two assignments agree on all free variables of AA, because there are none.

By Lemma 2.35, the truth value of AA is the same under all assignments.

Models

A model is a structure in which a sentence or set of sentences is true.

Definition 2.37 (Model of a Sentence)

Let AA be a sentence. A structure M\mathcal{M} is a model of AA if:

MA \mathcal{M} \models A

This means that AA is true in M\mathcal{M}.

Definition 2.38 (Model of a Theory)

A theory is a set of sentences.

Let TT be a theory. A structure M\mathcal{M} is a model of TT if:

MA \mathcal{M} \models A

for every sentence ATA \in T.

In this case we write:

MT \mathcal{M} \models T

Thus a model of a theory is a structure satisfying all sentences in that theory.

Example 2.39

The group axioms form a first order theory in a language with a binary function symbol, a unary function symbol, and a constant symbol.

A structure is a model of this theory exactly when its domain and operations form a group.

Similarly, the axioms for rings, fields, partial orders, and graphs can be written as first order theories, and their models are precisely the corresponding mathematical structures.

Example 2.40

Let TT be the theory containing the sentence:

xy(x<y) \forall x \, \exists y \, (x < y)

The usual natural number structure:

(N;<) (\mathbb{N}; <)

is a model of TT.

The finite ordered structure:

({0,1,2};<) (\{0,1,2\}; <)

is not a model of TT.

Thus the same theory may have some structures as models and exclude others.