Prolog is an old programming language from some AI winters ago—the idea was a combination of proving math theorems and writing “expert systems.” This is done by first creating a whole database of facts which assert some things are true about other things. Then you have “rules” which create new facts as long as some predicates argue about existing facts.
So you have facts like “article(this).” which state this is an article. Then you have another fact such as “author(this, quinn).” which states this article was written by me. We can then create a rule which states someone is a writer if there exists any situation they have become the author of something: “writer(X) :- author(_, X).” This combination of rules and facts comes to form what is called a knowledge base.