Formal Logic/Predicate Logic/Models: Difference between revisions

From testwiki
Jump to navigation Jump to search
imported>The-erinaceous-one
Summary: Misc. cleanup
 
(No difference)

Latest revision as of 07:40, 25 June 2021

Template:Formal Logic:TOCPageNav


Models

Interpretations

We said earlier that the formal semantics for a formal language such as 𝒮 (and now 𝒫) goes in two parts.

  • Rules for specifying an interpretation. An interpretation assigns semantic values to the non-logical symbols of a formal syntax. Just as a valuation was an interpretation for a sentential language, a model is an interpretation for a predicate language.
  • Rules for assigning semantic values to larger expressions of the language. All formulae of the sentential language 𝒮 are sentences. This enabled rules for assigning truth values directly to larger formulae. For the predicate language 𝒫, the situation is more complex. Not all formulae of 𝒫 are sentences. We will need to define the auxiliary notion satisfaction and use that when assigning truth values.

Models

A model is an interpretation for a predicate language. It consists of two parts: a domain and interpretation function. Along the way, we will progressively specify an example model 𝔐.

Domain

  • A domain is a non-empty set.

Intuitively, the domain contains all the objects under current consideration. It contains all of the objects over which the quantifiers range. x is then interpreted as 'for any object x in the domain …'; x is interpreted as 'there exists at least one object x in the domain such that …'. Our predicate logic requires that the domain be non-empty, i.e., that it contains at least one object.

The domain of our example model 𝔐, written |𝔐|, is {0, 1, 2}.

Interpretation function

  • An interpretation function is an assignment of semantic value to each operation letter and predicate letter.

The interpretation function for model 𝔐 is I𝔐.

Operation letters

  • To each constant symbol (i.e., zero-place operation letter) is assigned a member of the domain.

Intuitively, the constant symbol names the object, a member of the domain. If the domain is |𝔐| above and a00 is assigned 0, then we think of a00 naming 0 just as the name 'Socrates' names the man Socrates or the numeral '0' names the number 0. The assignment of 0 to a00 can be expressed as:

I𝔐(a00)=0 .
  • To each n-place operation letter with n greater than zero is assigned an n+1 place function taking ordered n-tuples of objects (members of the domain) as its arguments and objects (members of the domain) as its values. The function must be defined on all n-tuples of members of the domain.

Suppose the domain is |𝔐| above and we have a 2-place operation letter f02. The function assigned to f02 must then be defined on each ordered pair from the domain. For example, it can be the function 𝔣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,𝔣02(2,2)=1 .

The assignment to the operation letter is written as:

I𝔐(f02)=𝔣02 .

Suppose that a00 is assigned 0 as above and also that b00 is assigned 1. Then we can intuitively think of the informally written f(a,b) as naming (referring to, having the value) 1. This is analogous to 'the most famous student of Socrates' naming (or referring to) Plato or '2 + 3' naming (having the value) 5.

Predicate letters

  • To each sentence letter (i.e., zero-place predicate letter) is assigned a truth value. For π a sentence letter, either
I𝔐(π)=True

or

I𝔐(π)=False .

This is the same treatment sentence letters received in sentential logic. Intuitively, the sentence is true or false accordingly as the sentence letter is assigned the value 'True' or 'False'.

  • To each n-place predicate letter with n greater than zero is assigned an n-place relation (a set of ordered n-tuples) of members of the domain.

Intuitively, the predicate is true of each n-tuple in the assigned set. Let the domain be |𝔐| above and assume the assignment

I𝔐(F02) = {0, 1, 1, 2, 2, 1}.

Suppose that a00 is assigned 0, b00 is assigned 1, and c00 is assigned 2. Then intuitively F(a,b), F(b,c), and F(c,b) should each be true. However, F(a,c), among others, should be false. This is analogous to 'is snub-nosed' being true of Socrates and 'is greater than' being true of 2,3.

Summary

The definition is interspersed with examples and so rather spread out. Here is a more compact summary. A model consists of two parts: a domain and interpretation function.

  • A domain is a non-empty set.
  • An interpretation function is an assignment of semantic value to each operation letter and predicate letter. This assignment proceeds as follows:
  • To each constant symbol (i.e., zero-place operation letter) is assigned a member of the domain.
  • To each n-place operation letter with n greater than zero is assigned an n+1 place function taking ordered n-tuples of objects (members of the domain) as its arguments and objects (members of the domain) as its values.
  • To each sentence letter (i.e., zero-place predicate letter) is assigned a truth value.
  • To each n-place predicate letter with n greater than zero is assigned an n-place relation (a set of ordered n-tuples) of members of the domain.

Examples

A finite model

An example model was specified in bits and pieces above. These pieces, collected together under the name 𝔐, are:

|𝔐| = {0, 1, 2} .
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}.

We have not yet defined the rules for generating the semantic values of larger expressions. However, we can see some simple results we want that definition to achieve. A few such results have already been described:

f(a,b) resolves to 1 in 𝔐 .
F(a,b), F(b,c), and F(c,b) are True in 𝔐 .
F(a,a) is False in 𝔐 .

Some more desired results can be added:

F(a,f(a,b)) is True in 𝔐 .
F(f(a,b),a) is False in 𝔐 .
F(c,b)F(a,b) is True in 𝔐 .
F(c,b)F(b,a) is False in 𝔐 .

We can temporarily pretend that the numerals '0', '1', and '2' are added to 𝒫 and assign then the numbers 0, 1, and 2 respectively. We then want:

(1)F(0,1)F(1,0)False in 𝔐 .
(2)F(1,2)F(2,1)True in 𝔐 .

Because of (1), we will want as a result:

xy(F(x,y)F(y,x)) is false in  𝔐 .

Because of (2), we will want as a result:

xy(F(x,y)F(y,x)) is true in 𝔐 .

An infinite model

The domain |𝔐| had finitely many members; 3 to be exact. Domains can have infinitely many members. Below is an example model 𝔐2 with an infinitely large domain.

The domain |𝔐2| is the set of natural numbers:

|𝔐2|={0,1,2,...}

The assignments to individual constant symbols can be as before:

I𝔐2(a00) = 0 .
I𝔐2(b00) = 1 .
I𝔐2(c00) = 2 .

The 2-place operation letter f can be assigned, for example, the addition function:

I𝔐2(f02) = 𝔣02 such that 𝔣02(u,v)=u+v .

The 2-place predicate letter F02 can be assigned, for example, the less than relation:

I𝔐2(F02) = {x, y: x<y} .

Some results that should be produced by the specification of an extended model:

f(a,b) resolves to 1 in 𝔐2 .
F(a,b) and F(b,c) are True in 𝔐2 .
F(c,b) and F(a,a) are False in 𝔐2 .

For every x, there is a y such that x < y. Thus we want as a result:

xyF(x,y) is true in 𝔐2 .

There is no y such that y < 0 (remember, we are restricting ourselves to the domain which has no number less than 0). So it is not the case that, for every x, there is a y such that y < x. Thus we want as a result:

xyF(y,x) is false in 𝔐2 .