      "    if maximum is not None and node.data > maximum:\n",
      "        return False\n",
      "    if not __validate_bst__(node.left, mininum, node.data):\n",
      "        return False\n",
      "    if not __validate_bst__(node.right, node.data, maximum):\n",
      "        return False\n",
      "    return True"
     ]
    },
    {
 
</s> remove     "    if not __validate_bst__(node.left, mininum, node.data):\n",
 </s> add     "    if not _validate_bst(node.left, mininum, node.data):\n", </s> remove     "def __validate_bst__(node, mininum, maximum):\n",
 </s> add     "def _validate_bst(node, mininum, maximum):\n", </s> remove     "    return __validate_bst__(node, None, None)\n",
 </s> add     "    if node is None:\n",
    "        raise Exception('No root node')\n",
    "    return _validate_bst(node, None, None)\n", </s> remove     "* If the node is None, return False\n",
 </s> add     "* If the node is None, return True\n",
    "    if not _validate_bst(node.right, node.data, maximum):\n",
      "    if maximum is not None and node.data > maximum:\n",
      "        return False\n",
      "    if not __validate_bst__(node.left, mininum, node.data):\n",
      "        return False\n",
    "    if not _validate_bst(node.right, node.data, maximum):\n",
      "        return False\n",
      "    return True"
     ]
    },
    {
keep keep keep keep replace keep keep keep keep keep
 Polish bst validate challenge and solution (#83)

Update constraints, test cases, tests, algorithm discussion, and code. 
graphs_trees/bst_validate/bst_validate_solution.ipynb