Formal Logic/Predicate Logic/The Predicate Language
← Goals | ↑ Predicate Logic | Formal Syntax → |
The Predicate Language
editThis page informally describes our predicate language which we name . A more formal description will be given in subsequent pages.
Language components
editUse of occurs in the context of a domain of objects. Ascribing a property to 'everything' is only interpreted as ascribing it to everything in the domain.
Definitions
editVariables serve as placeholders in general statements for objects in the domain of discourse. We will use the lower case letters n through z as variables. Frequently, variables correspond to pronouns in statements. For instance, consider the statement 'For any number, if it is even then it is not odd.' Introducing the variable x produces 'For any number x, if x is even then x is not odd.'
An operation letter is a function that takes a fixed number of objects (or variables representing objects) and returns an object in the domain. We write operation letters as lower case letters a through m. An operation letter that takes n objects is called an n-place operation letter. Zero-place operation letters are allowed and merely represent a fixed object. Usually, the context is sufficient to determine the number of places of each operation letter.
For examples on this page, we also allow numerals ( ) as zero-place operation letters.
A term is any of the following:
- A variable
- A zero-place operation letter.
- An n-place operation letter (with ) followed by a parenthesized list of n terms.
Examples include (variables); (zero-place operation letters); (1-place operation letter operating on ); and (2-place operation letter operating on and ).
If a term contains no variables, then it is called a name. Each name specifies a particular object in the domain, whereas terms containing variables do not.
Examples
editFor the remainder of this page, assume the following translations.
With the right set of characters in the domain, names Cain, and (according to Biblical tradition) names Adam.
The term is not a name because it contains variables. Then the terms and , however, name 7 and 3 respectively (assuming that 7 and 3 are in the domain).
Primitive formulae
editA predicate letter is a function that takes a fixed number of objects (or variables representing objects) and returns a sentence letter. Predicate letters will consist of capital letters A through Z. The same symbols will be used for predicate letters of any number of places, so, as with operation letters, we sometimes need to specify the number of places but usually can rely on context. Notice that zero-place predicate letters are sentence letters we are familiar with from sentential logic.
A primitive formulae is either one of the following:
- A zero-place predicate letter (that is, a sentence letter).
- An n-place predicate letter (with ) followed by a parenthesized list of n terms.
Examples include
Examples
editIf translates 'Snow is white', then it is true. However, it is false if it translates 'Snow is blue'.
Suppose we add the following translations to the translations above:
We say that is true of all bald things and false of all non-bald things. Thus is true while is false. Whether is true or false depends on whether Adam was bald.
Now add
to the translations above. Then is neither true nor false because and are variables that do not name anything, nor do the variables or . But if we substitute numbers for the variables, then the is true while is false.
Sentential connectives
editThe predicate language will use sentential connectives just as they were used in the sentential language . These were:
Using the translations already set above (together with letting numerals be zero-place operation letters),
is true while
is false.
Quantifiers
editQuantifiers are special symbols that allow us to construct general sentences which are about all thing or about some (at least one) things.
- translates to English as 'for all x'.
- is called a universal generalization.
- is true if is true of all objects in the domain. Roughly speaking, it is true if
- where each names an object in the domain and all objects in the domain are named. This is only a rough characterization, however. First, we do not require that all objects in the domain have a name in the predicate language. Second, we allow there to be infinitely many objects in the domain but do not allow infinitely long sentences.
- Some authors use instead of . This notation is semi-obsolete and is becoming ever less frequent.
- translates to English as 'there exists an x' or, perhaps a bit more clearly, 'there exists at least one x'.
- is called an existential generalization.
- is true if is true of at least one object in the domain. Roughly speaking, it is true if
- where each names an object in the domain and all objects in the domain are named. This is only a rough characterization, however. First, we do not require that all objects in the domain have a name in the predicate language. Second, we allow there to be infinitely many objects in the domain but do not allow infinitely long sentences.
Translation
editUsing the translation scheme
we translate as follows.
- All numbers are prime.
- Some numbers are prime.
- No numbers are prime. (two equivalent alternatives are given)
- Some numbers are not prime.
Now using the translation scheme
we can translate as follows.
- George loves Martha.
- Martha loves George.
- George and Martha love each other.
We can further translate as follows.
- Everybody loves everybody. (the second alternative assumes only persons in the domain)
- Somebody loves somebody. (the second alternative assumes only persons in the domain)
- Everybody loves somebody (or other). (the second alternative assumes only persons in the domain)
- Somebody is loved by everybody. (the second alternative assumes only persons in the domain)
- Everybody is loved by somebody (or other). (the second alternative assumes only persons in the domain)
- Somebody loves everybody. (the second alternative assumes only persons in the domain)