The rules for assigning truth to sentences of
should say, in effect, that

is true if and only if
is true of every object in the domain. There are two problems. First,
can, in general, have free variables. In particular,
will normally be free (otherwise saying "for all
…" is irrelevant). But formulae with free variables are not sentences and do not have a truth value. Second, we do not yet have a precise way of saying that
is true of every object in the domain. The solution to these problems comes in two parts:
- assignment of objects from the domain to each of the variables,
- specification of whether a model satisfies a formula with a particular assignment of variables.
We can then define truth in a model in terms of satisfaction.
Given model
, a variable assignment, denoted
, is a function assigning a member of the domain
to each variable of
. For example, if
contains natural numbers, then
applied to variable
could be
.
In addition to variable assignment, we also have the assignment of domain members to constant symbols by the model's interpretation function
. Together, we use this information to generate assignments of domain members to arbitrary terms (including, constant symbols, variables, and complex terms formed by operation letters acting on other terms). This is accomplished by an extended variable assignment, denoted
, which is defined below. Recall that the interpretation function
assigns semantic values to the operation letters and predicate letters of
.
An extended variable assignment
is a function that assigns a value from
as follows.
- If
is a variable, then:

- If
is a constant symbol (i.e., a 0-place operation letter), then:

- If
is an n-place operation letter (n greater than 0) and
are terms, then:

Some examples may help. Suppose we have model
where:





On the previous page, it was noted that we want the following result:

We now have achieved this because we have for any
defined on
:

Suppose we also have a variable assignment
where:


Then we get:

A model, together with a variable assignment, can satisfy (or fail to satisfy) a formula. Then we will use the notion of satisfaction with a variable assignment to define truth of a sentence in a model. We can use the following convenient notation to say that the interpretation
satisfies (or does not satisfy)
with
.


We now define satisfaction of a formula by a model with a variable assignment. In the following, 'iff' is used to mean 'if and only if'.







![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} \rangle \ \vDash \forall \alpha \,\varphi \quad {\mbox{iff}}\ \ {\mbox{for every}}\ \mathrm {d} \ \in |{\mathfrak {M}}|,\ \langle {\mathfrak {M}},\ \mathrm {s[\alpha \!:\,d]} \rangle \ \vDash \varphi \ .\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e7c631086d8f9f7cbec2219483df94a0bfd1ae69)
.
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} \rangle \ \vDash \exists \alpha \,\varphi \quad {\mbox{iff}}\ \ {\mbox{for at least one}}\ \mathrm {d} \in |{\mathfrak {M}}|,\ \langle {\mathfrak {M}},\ \mathrm {s[\alpha \!:\,d]} \rangle \ \vDash \varphi \ .\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/28adc8a563598602446e758b3dd8178a1f6ddda8)
.
The following continue the examples used when describing extended variable assignments above. They are based on the examples of the previous page.
Suppose we have model
where







Suppose further we have a variable assignment
where:



We already saw that both of the following resolve to 1:


Given model
, the previous page noted the following further goals:






We are not yet ready to evaluate for truth or falsity, but we can take a step in that direction by seeing that these sentences are satisfied by
with
Indeed, the details of
will not figure in determining which of these are satisfied. Thus
satisfies (or fails to satisfy) them with any variable assignment. As we will see on the next page, that is the criterion for truth (or falsity) in
.
Corresponding to (1),

In particular:



Corresponding to (2) through (6) respectively:





As noted above, the details of
were not relevant to these evaluations. But for similar formulae using free variables instead of constant symbols, the details or
do become relevant. Examples based the above are:








Given model
, the previous page also noted the following further goals:


Again, we are not yet ready to evaluate for truth or falsity, but again we can take a step in that direction by seeing that the sentence in (7) is and the sentence in (8) is not satisfied by
with
Corresponding to (7):

is true if and only if at least one of the following is true:
![{\displaystyle (10)\quad \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,0]\rangle \ \not \vDash \forall y\,(\mathrm {F} (x,y)\rightarrow \mathrm {F} (y,x))\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/248790c7c4850042ed0d3adb40f3df5f674beee6)
![{\displaystyle (11)\quad \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,1]\rangle \ \not \vDash \forall y\,(\mathrm {F} (x,y)\rightarrow \mathrm {F} (y,x))\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/78bef17e267c5461e9856197d59be3015aa467ea)
![{\displaystyle (12)\quad \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,2]\rangle \ \not \vDash \forall y\,(\mathrm {F} (x,y)\rightarrow \mathrm {F} (y,x))\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6f1148d28e89d73cc5236b60e83e0d0e732bc911)
The formula of (7) and (9) is satisfied by
if and only if it is satisfied by
with each of the modified variable assignments. Turn this around, and we get the formula failing to be satisfied by
if and only if it fails to be satisfied by the model with at least one of the three modified variable assignments as per (10) through (12). Similarly, (10) is true if and only if at least one of the following are true:
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,0,\ y\!:\,0]\rangle \ \not \vDash \mathrm {F} (x,y)\rightarrow \mathrm {F} (y,x)\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f55e18b1a792cf431ebd038d24296711e6ac0952)
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,0,\ y\!:\,1]\rangle \ \not \vDash \mathrm {F} (x,y)\rightarrow \mathrm {F} (y,x)\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/df7ad3f9d46f3f1b942d0c14a61bcff4adf517b8)
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,0,\ y\!:\,2]\rangle \ \not \vDash \mathrm {F} (x,y)\rightarrow \mathrm {F} (y,x)\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bb8b6ee8001f5cf1b08f912b78e9e75022cdc61d)
Indeed, the middle one of these is true. This is because

Thus (9) is true.
Corresponding to (8),

is true if and only if at least one of the following is true:
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,0]\rangle \ \vDash \exists y\,(\mathrm {F} (x,y)\land \mathrm {F} (y,x))\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/33a6b8e1209d24aea00d5d54f5371da896c4ed47)
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,1]\rangle \ \vDash \exists y\,(\mathrm {F} (x,y)\land \mathrm {F} (y,x))\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d8f97201239b90a398d7eab7e51c0a444efc3cb1)
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,2]\rangle \ \vDash \exists y\,(\mathrm {F} (x,y)\land \mathrm {F} (y,x))\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/34b4256bdc13fc42a5e5d1c3131a41704e4c816b)
The middle of these is true if and only if at least one of the following are true:
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,1,\ y\!:\,0]\rangle \ \vDash \mathrm {F} (x,y)\land \mathrm {F} (y,x)\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/71c9eca8553a860f592cd8781a40119e1281e83c)
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,1,\ y\!:\,1]\rangle \ \vDash \mathrm {F} (x,y)\land \mathrm {F} (y,x)\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/32b6b5c86f378fe24d53965bb8b46e189779fcb3)
![{\displaystyle \langle {\mathfrak {M}},\ \mathrm {s} [x\!:\,1,\ y\!:\,2]\rangle \ \vDash \mathrm {F} (x,y)\land \mathrm {F} (y,x)\,\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/82ee4fd3652bf7712775ca65075f3fb82157b0fb)
Indeed, the last of these is true. This is because:

Thus (13) is true.