Formal Logic/Predicate Logic/Satisfaction

From testwiki
Revision as of 20:31, 20 January 2009 by imported>David in DC (Undo revision 86388 by 69.154.118.249 (Talk) vandalism)
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

Template:Formal Logic:TOCPageNav


Satisfaction

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, φ will normally have free variables. In particular, it will normally have free α. 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.

  • We will need an assignemnt of objects from the domain to the variables.
  • We will need to say that a model satisfies (or does not satisfy) a formula with a variable assignment.

We can then define truth in a model in terms of satisfaction.

Variable assignment

Given model 𝔐, a variable assignment s is a function assigning each variable of ℒ𝒫 a member of |𝔐|. The function s is defined for all variables of ℒ𝒫, so each one is assigned a member of the domain.

Okay, we have assignments of domain members to variables. We also have an assignment of domain members to constant symbols—this achieved by the model's interpretation function. Now we need to use this information to generate assignments of domain members to arbitrary terms including, in addition to constant symbols and variables, complex terms formed by using n-place operation letters where n is greater than 0. This is accomplished by an extended variable assignment s defined below. Remember that I𝔐 is the interpretation function of model 𝔐. It assigns semantic values to the operation letters and predicate letters of ℒ𝒫.

An extended variable assignment s is a function making assignments as follows.

If α is a variable, then:
s(α) = s(α)
If α is a constant symbol (i.e., a 0-place operation letter), then:
s(α) = I𝔐(α)
If ζ is an n-place operation letter (n greater than 0) and α1, α2, , αn are terms, then:
s(ζ(α1,α2,,αn)) = I𝔐(ζ)( s(α1),s(α2),,s(αn) )

Some examples may help. Suppose we have model I𝔐 where:

|𝔐| = {1,2,3} .
I𝔐(a00) = 0 .
I𝔐(b00) = 1 .
I𝔐(f02) = π”£02 such that:𝔣02(0,0)=2, π”£02(0,1) = 1, π”£02(0,2)=0,
𝔣02(1,0)=1, π”£02(1,1) = 0, π”£02(1,2)=2, π”£02(2,0)=0,
𝔣02(2,1)=2, and π”£02(2,2)=1 .

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

f(a,b) resolves to 1 in π” .

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

s(f(a,b)) = I𝔐(f)( s(a),s(b) ) = π”£02( s(a),s(b) )
= π”£02( I𝔐(a),I𝔐(b) ) = π”£02(0,1) = 1 .

Suppose we also have a variable assignment s where:

s(x0) = 0 .
s(y0) = 1 .

Then we get:

s(f(x,y)) = I𝔐(f)( s(x),s(y) ) = π”£02( s(x),s(y) )
= π”£02(f)( s(x),s(y) ) = π”£02(0,1) = 1 .

Satisfaction

A model, together with a variable assignment, can satisfy (or fails 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 interpretaion 𝔐 satisfies (or does not satisfy) φ with s.

<𝔐, s> φ
<𝔐, s> ⊭φ

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'.

i.For σ a sentence letter:
<𝔐, s> σiffI𝔐(σ) = True .
ii.For π an n--place predicate letter and for α0,α1,,αn any terms:
<𝔐, s> π(α0,α1,,αn)iff <s(α0),s(α1),,s(αn)>  I𝔐(π) .
iii.For φ a formula:
<𝔐, s> ¬φiff <𝔐, s> ⊭φ .
iv.For φ and ψ formulae:
<𝔐, s> (φψ)iff <𝔐, s> φ  and <𝔐, s> ψ .
v.For φ and ψ formulae:
<𝔐, s> (φψ)iff <𝔐, s> φ  or <𝔐, s> ψ (or both) .
vi.For φ and ψ formulae:
<𝔐, s> (φψ)iff <𝔐, s> ⊭φ  or <𝔐, s> ψ (or both) .
vii.For φ and ψ formulae:
<𝔐, s> (φψ)iff <𝔐, s> (φψ)  or <𝔐, s> (¬φ¬ψ) (or both) .
viii.For φ a formula and α a variable:
<𝔐, s> αφiff  for every d |𝔐|, <𝔐, s[α:d]> φ .
where s[α:d] differs from s only in assigning d to α ..
ix.For φ a formula and α a variable:
<𝔐, s> αφiff  for at least one d|𝔐|, <𝔐, s[α:d]> φ .
where s[α:d] differs from s only in assigning d to α ..

Examples

The following continue the exmaples used when describing extended variable assignments above. They are based on the examples of the previous page.

A model and variable assignment for examples

Suppose we have model I𝔐 where

|𝔐| = {1,2,3} .
I𝔐(a00) = 0 .
I𝔐(b00) = 1 .
I𝔐(c00) = 2 .
I𝔐(f02) = π”£02 such that:𝔣02(0,0)=2, π”£02(0,1) = 1, π”£02(0,2)=0,
𝔣02(1,0)=1, π”£02(1,1) = 0, π”£02(1,2)=2, π”£02(2,0)=0,
𝔣02(2,1)=2, and π”£02(2,2)=1 .
I𝔐(F02) = {<0, 1>, <1, 2>, <2, 1>} .

Suppose further we have a variable assignment s where:

s(x0) = 0 .
s(y0) = 1 .
s(z0) = 2 .


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

f(a,b)
f(x,y)

Examples without quantifiers

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

(1)F(a,b), F(b,c), and F(c,b) are True in π” .
(2)F(a,a) is False in π” .
(3)F(a,f(a,b)) is True in π” .
(4)F(f(a,b),a) is False in π” .
(5)F(c,b)F(a,b) is True in π” .
(6)F(c,b)F(b,a) is False in π” .

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 s. Indeed, the details of s will not figure in dertermining 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),

<𝔐, s> F(a,b), F(b,c), and F(c,b) .

In particular:

<𝔐, s> F(a,b)  because <s(a),s(b)> = <0,1>  I𝔐(F) .
<𝔐, s> F(b,c)  because <s(b),s(c)> = <1,2>  I𝔐(F) .
<𝔐, s> F(c,b)  because <s(c),s(b)> = <2,1>  I𝔐(F) .


Corresponding to (2) through (6) respectively:

<𝔐, s> ⊭F(a,a))  because <s(a),s(a)> = <0,0>  I𝔐(F) .
<𝔐, s> F(a,f(a,b))  because <s(a),s(f(a,b))> = <0,1>  I𝔐(F) .
<𝔐, s> ⊭F(f(a,b),a)  because <s(f(a,b),s(a)> = <1,0>  I𝔐(F) .
<𝔐, s> F(c,b)F(a,b)  because <𝔐, s> F(a,b) .
<𝔐, s> ⊭F(c,b)F(b,a)  because <𝔐, s> F(c,b) but <𝔐, s> ⊭F(b,a) .


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

<𝔐, s> F(x,y)  because <s(x),s(y)> = <0,1>  I𝔐(F) .
<𝔐, s> F(y,z)  because <s(y),s(z)> = <1,2>  I𝔐(F) .
<𝔐, s> F(z,y)  because <s(z),s(y)> = <2,1>  I𝔐(F) .
<𝔐, s> ⊭F(x,x))  because <s(x),s(x)> = <0,0>  I𝔐(F) .
<𝔐, s> F(x,f(x,y))  because <s(x),s(f(x,y))> = <0,1>  I𝔐(F) .
<𝔐, s> ⊭F(f(x,y),x)  because <s(f(x,y),s(x)> = <1,0>  I𝔐(F) .
<𝔐, s> F(z,y)F(x,y)  because <𝔐, s> F(x,y) .
<𝔐, s> ⊭F(z,y)F(y,x)  because <𝔐, s> F(z,y) but <𝔐, s> ⊭F(y,x) .

Examples with quantifiers

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

(7)xy(F(x,y)F(y,x)) is false in  π” .
(8)xy(F(x,y)F(y,x)) is true in π” .

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 s.


Corresponding to (7):

(9)<𝔐, s> ⊭xy(F(x,y)F(y,x))

is true if and only if at least one of the following is true:

(10)<𝔐, s[x:0]> ⊭y(F(x,y)F(y,x))
(11)<𝔐, s[x:1]> ⊭y(F(x,y)F(y,x))
(12)<𝔐, s[x:2]> ⊭y(F(x,y)F(y,x))

The formula of (7) and (9) is satisfied by <𝔐, s> if and only if if it is satified by 𝔐 with each of the modified variable assignments. Turn this around, and we get the formula failing to be satisfied by <𝔐, s> 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:

<𝔐, s[x:0, y:0]> ⊭F(x,y)F(y,x)
<𝔐, s[x:0, y:1]> ⊭F(x,y)F(y,x)
<𝔐, s[x:0, y:2]> ⊭F(x,y)F(y,x)

Indeed, the middle one of these is true. This is because

<0,1>  I𝔐(F) but<1,0> ∉ I𝔐(F) .

Thus (9) is true.


Corresponding to (8),

(13)<𝔐, s> xy(F(x,y)F(y,x))

is true if and only if at least one of the following is true:

<𝔐, s[x:0]> y(F(x,y)F(y,x))
<𝔐, s[x:1]> y(F(x,y)F(y,x))
<𝔐, s[x:2]> y(F(x,y)F(y,x))

The middle of these is true if and only if at least one of the following are true:

<𝔐, s[x:1, y:0]> F(x,y)F(y,x)
<𝔐, s[x:1, y:1]> F(x,y)F(y,x)
<𝔐, s[x:1, y:2]> F(x,y)F(y,x)

Indeed, the last of these is true. This is because:

<1,2>  I𝔐(F) and<2,1>  I𝔐(F) .

Thus (13) is true.