Это хорновские фразы с заголовком и одной или несколькими подцелями-предикатами.
Правила имеют форму
<голова правила>:- <список подцелей>.
где знак: - читается «если», а список подцелей состоит из отдельных подцелей, разделенных знаком «запятая» (читаемым как «и»).
Правила позволяют определить новые отношения между объектами на основе уже объявленных с помощью фактов.
В качестве аргументов в предикатах правила могут использоваться не только константы, но и переменные.
На переменные в правилах действуют кванторы общности, поэтому правила очень концентрированно и лаконично выражают конструкции логического вывода.
Пример 3. Факты, описывающие студентов:
нравится(сергей,рэп). нравится(юрий,джаз).
носит(сергей, блейзер).
носит(юрий, пиджак).
крутойпарень(X):- нравится(X,рэп), носит(X,блейзер).
Это означает «любой X — крутой парень, если X нравится рэп и X носит блейзер».
ест(Х,У):- пища(Y),любит(X,Y).
«Каждый X ест любой Y, если Y — пища и X любит Y».
владелец(А,В):- купил(А,В).
«Любой А есть владелец каждого В, если А купил B».