human
4.5 Validate BST.
Implement a function to check if a binary tree is a binary search tree. 
Solution1: In-order traversal, cannot handle duplicate values
Solution2: Pass down min/max values that each node must fall between"
Please write code following the instructions in jupyter notebook style.
assistant
#Here is code to 4.

class Node:
    def __init__(self, value):
        self.v = value
        self.right = None
        self.left= None

def checkBST(node):
    return (checkBSThelper(node, -math.inf, math.inf))

def checkBSThelper(node, mini, maxi):
    if node is None:
        return True
    if node.v < mini or node.v >= maxi:
        return False
    return checkBSThelper(node.left, mini, node.v) and checkBSThelper(node.right, node.v, maxi)