На этом шаге мы рассмотрим размещение фактов, правил и запросов.
Предположим, у вас есть следующие факты и правила:
   
Быстрая машина - приятная. (A fast car is fun).
   
Большая машина - красивая. (A big car is nice).
   
Маленькая машина - практичная. (A little car is practical).
   
Биллу нравится машина, если она приятная. (Bill likes a car if the car is fun).
Исследуя эти факты, вы можете сделать вывод, что Биллу нравится быстрый автомобиль. В большинстве случаев Пролог придет к подобному решению. Если бы не было фактов о быстрых автомобилях, вы не смогли бы логически вывести, какие автомобили нравятся Биллу. Вы можете делать предположения о том, какой тип машин может быть крепким, но Пролог знает только то, что вы ему скажете; Пролог не строит предположений.
Вот пример, демонстрирующий, как Пролог использует правила для ответа на запросы.
   likes(ellen,tennis).
   likes(john,football).
   likes(tom,baseball).
   likes(eric,swimming).
   likes(mark,tennis).
   likes(bill,Activity):-  
      likes(tom,Activity).
   likes(bill,Activity):-  
      likes(torn,Activity).
Это правило соответствует предложению естественного языка:
Биллу нравится занятие, если Тому нравится это занятие. (Bill likes an activity if Tom likes that activity)
В данном правиле заголовок - это likes (bill, Activity), а тело - likes (torn, Activity). Заметим, что в этом примере нет фактов о том, что Билл любит бейсбол. Чтобы выяснить, любит ли Билл бейсбол, можно дать Прологу такой запрос:
likes(bill,baseball).
   likes (bill, Activity):-  
      likes (tom, Activity).
   predicates
      likes(symbol,symbol)
   clauses
      likes(ellen,tennis). 
      likes(john,football).
      likes(tom,baseball).
      likes(eric,swimming). 
      likes(mark, tennis).
      likes(bill,Activity):-
         likes (tom, Activity).
Запустите Пролог, загрузите программу pro11_1.pro с помощью пункта меню File | Load или клавиши F3, запустите программу с помощью пункта Run или сочетания клавиш Alt+R и после запроса цель наберите: likes(bill,baseball).
Пролог ответит:
yes (да)
Система использовала комбинированное правило
   likes(bill,Activity):-  
      likes(tom,Activity).
likes(tom,baseball).
likes(bill,baseball).
Попробуйте также следующий запрос:
likes(bill,tennis).
Пролог ответит:
no (нет)
Пролог ответит по на последний запрос "Does Bill like tennis?" (Любит ли Билл теннис), поскольку:
Вполне возможно, что Билл любит теннис в реальной жизни, но ответ Пролога основан только на фактах и правилах, которые вы дали ему в тексте программы.
На следующем шаге мы рассмотрим общие представления о переменных.