# Formal Logic/Predicate Logic/Goals

← Start of Predicate Logic |
↑ Predicate Logic |
The Predicate Language → |

# Goals[edit]

Sentential logic treated whole sentences and truth functional relations among them. **Predicate logic** treats more fine-grained logical features. This page will informally describe of the logic features of English captured by predicate logic.

## Predicate logic goals[edit]

### Predicates and terms[edit]

We distinguish between *predicates* and *terms*. The simplest terms are simple names such as 'one', 'Socrates', or 'Pegasus'. Simple predicates attribute properties to the object named. In

- Socrates is bald.

'Socrates' is a name and 'is bald' is the predicate. We can informally exhibit its logical structure with

- Bald(socrates)

There are also more complex terms such as '3 minus 2', 'the father of Socrates', and '3 divided by 0'. The logical structure of these can be exhibited informally by

- minus(3, 2)
- father(socrates)
- quotient(3, 0)

These more complex terms can be used to construct sentences such as

- 3 minus 2 is even.
- The father of Socrates is bald.
- 3 divided by zero is odd.

Their logical structure can be informally exhibited by

- Even( minus(3, 2) )
- Bald( father(Socrates) )
- Odd( quotient(3, 0) )

There are also complex predicates, often called *relations*. Sentences using such predicates include

- 3 is greater than 2
- Socrates is a child of the father of Socrates and the mother of Socrates.
- Pegasus kicked Bucephalus.

Their logical structures can be informally exhibited as

- Greater_than(3, 2)
- Child(socrates, father(socrates), mother(socrates))
- Kicked(pegasus, bucephalus)

### General statements[edit]

Names and other terms refer to specific objects. We can also speak generally of all objects or of some (at least one) objects. Some examples are:

- All numbers are prime.
- Some numbers are prime.
- Some numbers are not prime.
- No numbers are prime.

The logical structures of the first three can be informally exhibited as

- All
*x*(if Number(*x*), then Prime(*x*)). - Some
*x*(Number(*x*) and Prime(*x*)). - Some
*x*(Number(*x*) and not( Prime(*x*))).

The fourth can have its logical structure exhibited either as

- All
*x*(if Number(*x*), then not Prime(*x*).

or, equivalently, as

- Not (some
*x*(Number(*x*) and Prime(*x*))).

Note that we count

- All unicorns have a horn

as trivially true because there are no unicorns. In addition, we take 'some' to mean *at least one* (not, as might be expected, *at least two*). Thus we take

- Some prime numbers are even

to be true even though two is the only even prime.

### More complexity[edit]

Variables such as '*x*' and '*y*' help us to keep the following straight.

- All
*x*all*y*(if Person(*x*) and Person(*y*), then Loves(*x*,*y*)) - All
*x*all*y*(if Person(*y*) and Person(*x*), then Loves(*y*,*x*))

- These are equivalent and both say that everybody loves everybody.

- Some
*x*some*y*(Person(*x*) and Person(*y*) and Loves(*x*,*y*)) - Some
*x*Some*y*(Person(*y*) and Person(*x*) and Loves(*y*,*x*))

- These are equivalent and both say that somebody loves someone.

- All
*x*(if Person(*x*), then some*y*(Person(*y*) and Loves(*x*,*y*))) - Some
*y*(Person(*y*) and all*x*(if Person(*x*), then Loves(*x*,*y*)))

- The first says that everybody loves somebody (or other—they do not necessarily all love the same person). The second says that somebody is loved by everybody. Thus the second, but not the first, requires a universally loved person.

- All
*x*(if Person(*x*), then some*y*(Person(*y*) and Loves(*y*,*x*))) - Some
*y*(Person(*y*) and all*x*(if Person(*x*), then Loves(*y*,*x*)))

- The first says that that everybody is loved by somebody (or other—not necessarily all loved by the same person). The second says that the somebody loves everybody. Thus the second, but not the first, requires a universal lover.

### Domains[edit]

By convention, we can temporarily limit the range of the objects being considered. For example, a policy of speaking only about people might be conventionally adopted. Such a convention would allow us to hope optimistically that

- All
*x*some*y*Loves(*y*,*x*)

without hoping that cups and saucers are thereby loved. The truth or falsity of a sentence can be evaluated within the context of such a convention or policy. In a different context, a different convention might prove more convenient. For example, the policy of only speaking about people would prevent us from saying

- Loves( alexander_the_great, beaucephalus)

However, widening the domain to include both horses and people does allow us to say this.

We call the range of objects under discussion the *domain*, or sometimes the *domain of discourse*. A sentence that is true in the context of one domain may be false in the context of another.

## Limits[edit]

There are two limits on predicate logic as conventionally developed and indeed as will be developed here.

- First, predicate logic assumes that at least one thing exists. We cannot, for example, limit the domain of discourse to unicorns.

- Second names and complex terms must refer to objects in the domain. Thus we cannot use such terms as

- Pegasus
- 3 divided by 0

In addition, if we limit the domain to natural numbers, we cannot use a term such as

- 2 minus 3

The loss of '3 divided by 0' in turn requires predicate logic to avoid forming any term with 'divided by'. The loss of '2 minus 3' requires predicate logic to avoid forming any term with 'minus' except in the context of domains including negative numbers.

The significance of these limits is controversial. Free Logic attempts to avoid such limits. The Stanford Encyclopedia of Philosophy has an entry on free logic.