To understand predicates first you have to understand something called instance.
What is instance? Instance could be anything from the real world. Instances are set of real world objects like books, cars, buses, batteries, trees anyting.
Predicates are used to describe instances or their states. Still what is it?
Let’s write like On(Book, Table), Here On is a predicate and inside the bracket it has two real objects or two things book and table. Here two things are instances too.
So here On(Book, Table) means the Book is on the Table and On is a predicate.
Another predicate Under(Dirt, Rug), Under is a predicate and it means Dirt is under the Rug.
Predicates could evaluate to true or false. We also say predicates are functions. When you evaluate predicates they are called expressions, and we also called the positive literals.
So Under(Dirt, Rug) is a positive literal and there’ is a negative literal as well. It’s expressed as ¬Under(Dirt, Rug) is negative literal
A planning problem is expressed in terms of an initial set S of positive literals.