Я пытаюсь вычислить глубину левой ветви в двоичных деревьях, но предикат продолжает давать сбой!
Я пытался trace.
и пришел к выводу, что статус сбоя должен исходить от функтора is\2
, но я до сих пор не могу понять, в чем проблема ...
leftdepth(void,0).
leftdepth(tree(_,Left,_),N):-leftdepth(Left,N),N is N+1.
Я ожидаю, что результат запроса leftdepth(tree(3,tree(2,tree(5,void,void),tree(7,void,void)),void),3).
будет истинным, но выводит false.