function IsItABinarySearchTree(t: BinaryTree): TAnswer;
begin
Result.known := true;
Result.answer := true;
if Assigned(t.left) then begin
if t.left.data > t.data then begin
Result.answer := false;
Result.feedback := IntToStr(t.left.data) + ' is greater than '+
IntToStr(t.data)
end
else
Result := IsItABinarySearchTree(t.left);
end;
if Assigned(t.right) and (Length(Result.feedback) = 0) then begin
if t.right.data < t.data then begin
Result.answer := false;
Result.feedback := IntToStr(t.right.data) + ' is less than '+
IntToStr(t.data)
end
else
Result := IsItABinarySearchTree(t.right);
end;
end;