Prolog Language Extra-logical Predicates Meta-logical predicates


Predicates that reason about instantiations are called meta-logical. Examples are:

  • var/1
  • ground/1
  • integer/1

These predicates are outside the realm of pure monotonic logic programs, because they break properties like commutativity of conjunction.

Other predicates that are meta-logical include:

  • arg/3
  • functor/3
  • (=..)/2

These predicates could in principle be modeled within first-order logic, but require an infinite number of clauses.