Я хочу определить 2-местный предикат buildTree, первым аргументом которого является список узлов (т.е. [a, b, c]), а вторым аргументом является дерево tree (a, tree (b, nil), ноль), дерево (с, ноль, ноль)) * * +1002.Это предикат "дерево":
tree(nil).
tree(tree(_,L,R)):-tree(L),tree(R).
, и это предикат "buildTree":
buildTree([],nil).
buildTree([X|[Y|H]],tree(X,L,R)):-
buildTree([Y|H],L),
buildTree(H,R).
, но с запросом, то есть buildTree([a,b,c],T)
, я не сложныйсрок tree(a,tree(b,nil,nil),tree(c,nil,nil))
.Почему?