The predicate calculus includes a wider range of entities.
It permits the description of relations and the use of variables.
It also requires an understanding of * quantification*.

The language of predicate calculus requires:

- Variables
- Constants
- ---these include the
*logical constants*The last two logical constants are additions to the logical connectives of propositional calculus ---they are known as quantifiers. The

*non-logical*constants include both the `names' of entities that are related and the `names' of the relations. For example, the constant**dog**might be a relation and the constant**fido**an entity. - Predicate
- ---these relate a number of entities.
This number is usually greater than one. A predicate with one argument
is often used to express a property
*e.g.***sun(hot)**may represent the statement that ``the sun has the property of being hot''.If there are no arguments then we can regard the `predicate' as standing for a statement à la the propositional calculus.

- Formulæ
- ---these are constructed from predicates and formulæ
.
The logical constants are used to create new formulæ/ from old ones.
Here are some examples:
Note that the word ``and'' used in the left hand column is used to suggest that we have more than one formula for combination ---and

*not*necessarily a conjunction.In the last two examples, ``dog(X)'' contains a variable which is said to be

*free*while the ``X'' in ``X.dog(X)'' is*bound*. - Sentence
- ---a formula with no free variables is a sentence.

Two informal examples to illustrate quantification follow:

The former is an example of * universal* quantification
and the latter of * existential* quantification.

We can now represent the problem we initially raised:

X.(dog(X)smelly(X))dog(fido)smelly(fido)

To verify that this is correct requires that we have some additional machinery which we will not discuss here.

Mon May 24 20:14:48 BST 1999