Intensional predicates
Intensional predicates express computations by means of rules, which look like named queries:
strong_pokemon(Name)
:-
pokemon(_, Name, HP), HP > 150.
-
The rule’s head names the predicate
strong_pokemonand its single argumentName(also called head variable). -
The rule’s body is a conjunction, which uses a body variable
HP. -
Database view: an intensional predicate defines how to compute a new table from existing ones
-
Deductive view: an intensional predicate gives us rules for inferring new conclusions from what we already know
By evaluating all intensional predicates based on the EDB, we get the intensional database (IDB).