Я очень новичок в Прологе, и у нас не было много теории об этом. В лекциях мы рассматривали основные вещи, такие как атомы, переменные, что означает отношение и т. Д.
Но теперь у меня есть задача, которую я не понимаю, как начать / как решить.
Мы должны создать отношение leaf(X,Y)
, где X
- бинарное дерево, а Y
- атом. Отношение должно быть истинным, если Y
является листом X
. Мы можем проверить, является ли переменная A
листом, используя atom(A)
. Кроме того, важно отметить, что Y
должен быть атомом, а не поддеревом.
Примеры:
?- leaf([x,[y,[z,v]]], v).
true
?- leaf([x,[y,[z,v]]], w).
false