In the previous unit, we discovered the most fundamental area, the foundation of mathematical logic — propositional calculus. We encountered the idea of simple propositions; made compound propositions by combining the simpler ones with logical operators, considered valuations and interpretations; explored equivalences, specifically the laws of De Morgan.

In short, we discovered a lot on propositional logic. It is of key significance in all other areas of logic that we'll study from this point onwards. Everything follows or extends from the ideas developed in PL.

In this unit, we aim to cover first-order logic, given that we know are familiar with zeroth-order logic. Let's start...

What is predicate logic?

Propositional logic is a powerful tool to represent simple ideas of specific things. For instance, all of the following sentences are propositions:

'Tom is a cat.'
'Tom is lazy.'
'Alex is studying.'
'Cricket is easy.'
'Python language is challenging.'
C++' is easy.'

...and can therefore be easily be modeled into propositional variables, or used to create compound logical expressions, precisely reason, and so on.

The given sentences can be converted into some logical expressions even if that expression is as simple as a single, primitive sentence.

However, PL can't perfectly model all declarative sentences.

Let's first see something easily representable in propositional logic. Consider the following two propositions:

'If Tom is a cat, then he is lazy.'
'Tom is a cat.'

Suppose both of them are true. Purely based on natural intuition, we feel that we could conclude that 'Tom is lazy'.

And guess what, our deduction can even be proven mathematically by constructing a truth table. (We'll see how to express these two sentences and our conclusion based on them, as logical expression when we create arguments in logic.)

But now consider the following two sentences:

'All cats are lazy.'
'Tom is a cat.'

What's told to us is that all cats are lazy, and that Tom is a cat. Therefore, once again, just from pure intuition, we might say that Tom is lazy, and that would indeed be right.

But how do we prove such a statement in PL? How would you represent the first sentence in PL? One way is to call it ::p::, the second ::q::, and then based on both of them, deduce another proposition ::r::.

Does this make sense?

Two different propositions seem to be asserting the truth of a third different proposition. Doesn't make much sense!

There ought to be some connection between the premises and the conclusion in the symbolic expressions, since, linguistically, there is a definite connection.

But, if we look symbolically, we don't see any connection between the propositional expressions. That's because propositional logic is NOT well-equipped to precisely model statements making assertions for a 'group of objects'.

Yes, we could model statements like 'Tom is a cat' precisely in PL, but not statements like 'Every cat is lazy', 'All banks are closed', 'All shopping centres are giving discounts', 'All men are mortal', and so on.

Propositional logic just fails to represent statements where assertions are made regarding unknown objects. It can only work as long as the objects are known i.e. they are specific.

To model such statements, we use a stronger system called predicate calculus.

Predicate calculus, or predicate logic, or first-order logic, is an area of logic that is based on the idea of predicates.

What are predicates? We'll see that in just a moment.

Note that predicate logic is not a replacement for propositional logic — not at all. In fact, we are concerned with creating propositions in predicate logic as well. It's just an extension to propositional logic to make mathematical logic, as a whole, much more stronger and much more precise.

Predicate logic allows us to express statements referring to a group of objects easily. We'll see how it does so, in the upcoming chapters, but the concepts utilised are extremely easy to understand.

Much of mathematical theorems or unproven assertions that we know today can only be precisely represented in predicate logic.

Hence, it won't be wrong to say that predicate logic is also of immense importance when it comes to mathematics and reasoning, in general.