The predicate serves to make an assertion or denial about the subject of the sentence.

x > 3 or x + y = 1 are assertions not propositions because the truth value you give them will depend on the values assigned to the variables x and y.

In English you may have statements like this:

- She is Tall and Fair
- x was born in city y in the year z.

Often pronouns (I, he she, you etc) are used in place of variables.

In the first case – we cannot say if the statement is true because that depends of who she is and in the second case the statement will get a truth value depending on variable x,y and z.

Predicate are noted for example something like this P(x,x,z)

For example x + y= z is written as:

Sum(x,y,z)

This stands for the predicate x + y = z

You may have a predicate like this:

M(x,y)

which could stand for x is married to y

Again, we do not have a unique value, the value will depend on the values given to the variables x and y.

In Programming we often come across statements like this:

If x > 3

then y = 5

else y = 1

x > 3 is the predicate.

When the program is executed, x will have a specific value and so we can find out if that statement becomes true or false and variable y will be set accordingly.

In general you have predicates in the form of:

P(x) – this is a unary predicate (has one variable)

P(x,y) – this is a binary predicate (has two variables)

P(x1, x2, x…….., xn) – this is an n-ary or n-place predicate – (has n individual variables in a predicate)

You have to choose the values for the variables – these can be from a set of humans -a specific human, a set of places or a place, a set of integers or an integer, a set of real numbers or a real number, negative numbers etc, etc, etc and so on.

The values are chosen from a particular domain of values called a universe or a universe of discorse.

If we take a look at this agiain:

x was born in city y in the year z.

x is taken from a set of humans, y is taken from a set of cities and z is taken from a set of years. This is called the underlying universe.

Looking at this again:

Sum(x,y,z)

The values for the variables x,y,z will be taken from a set of integers or negative integers.

In some cases you will have to specify the underlying universe because a certain predicate may, for true for real numbers, be true, but false but not for real numbers.

A statement like this:

“more than 90% of teenagers can read and write” is also dependent on the underlying universe because it might be true in America, but it will be false in Africa.

So the underlying universe has to be specific.

Sometimes in cases like this:

x was born in city y in the year z.

You might not have to specifically define the underlying universe.

in the case x has to be a human being and y has to be a city and z has to be a year.

You cannot have y as an integer or z a color for example.

If we were to have the predicate:

x > 3

we cannot say that x is green, x has to be from a set of integers or real numbers or whatever it is.

green > 3 does not make any sense.

So in some cases the underlying universe need not be specified because it is implicitly understood.

We can have predicate constants and predicate variables.

Sum(x,y,z) is a predicate constant it represents x+y=z.

P(x1, x2, x3…….., xn) is predicate variable you can assign any n.place variable with a value.

If you assign a particular value to each of the the n.place values in P(x1, x2, x3…….., xn) then the predicate becomes a proposition and takes a truth value – true or false.

if we take this

x+y=z

and assign the value x=2, y=3 and z = 5 it becomes a proposition and takes a truth value – true or false.

If you take the predicate P(x1, x2, x3…….., xn) is true for all values (c1,c2,c3….cn) from the universe U

then we say

P is valid in U

If P(x1, x2, x3…….., xn) is true for some values (c1,c2,c3….cn) from the universe U

then we say

P is satisfiable in Universe U

If P(x1, x2, x3…….., xn) is not true for any set of values (c1,c2,c3….cn) from the universe U

Then P is said to be unsatisfiable in Universe U