Аргументы   обеих   формул   в   этом   правиле   совпадают   и   являются   переменными
(которые принято записывать с заглавных букв). Первый шаг, выполняемый Прологом, это
передача значений для X и Y из цели:
Х = круг, Y = Z.
В нашем случае X получает конкретное значение "круг", в то время как запись Y = Z
просто   устанавливает   факт   равенства   двух   переменных.   Как   только   переменная  Y
получает   значение,  Z  будет   присвоено   то   же   значение.   Теперь   правило   (1)
трансформировалось в правило следующего вида:
(1’) площадь (круг, Y):- фигура (круг,Y).
Пролог   обязан   запомнить   вид   этого   правила,   которое   равносильно   следующей
записи:
если (фигура(круг, Y)), то (площадь(круг, Y)).
Теперь Пролог формирует новую цель:
фигура (круг, Y).
Для   этой   новой   цели   он   ищет   подходящее   правило.   В   нашей   программе  таких
правил 4 (правила (2) - (5)). Эти правила имеют усеченный вид: в структуре "если (...) то
(...)", как видим, в них отсутствует часть "если (...)". С точки зрения логики это означает, что
независимо   от   исходных   условий,   записываемых   в   части   "если   (...)",   эти   правила   ут-
верждают истинность частей "то (...)". Следовательно, доказывать такие правила не надо.
Итак, для цели "фигура (круг, Y)" выбирается правило
фигура (квадрат, "сторона * сторона'').
Как и на первом шаге, выполняется попытка передачи значений переменным. Иначе
говоря, получается следующее:
круг = квадрат; Y = " сторона * сторона ".
Учитывая, что "круг" и "квадрат" не переменные (первый символ "к" - не заглавный).
Пролог   вместо   присваивания   сравнивает   их.   Результат   сравнения   -   "ложь".
Следовательно, правило (2) использовать нельзя. Однако, есть еще правила с заголовком
"фигура". Поэтому Пролог выбирает следующее по порядку:
(3)  фигура (круг, " /2*радиус*радиус").
Текущая цель такова: