      "## Algorithm\n",
      "\n",
      "We'll use a recursive solution that valides left <= current < right, passing down the min and max values as we do a depth-first traversal.\n",
      "\n",
      "* If the node is None, return False\n",
      "* If min is set and the node's value <= min, return False\n",
      "* if max is set and the node's value > max, return False\n",
      "* Recursively call the validate function on node.left, updating max\n",
      "* Recursively call the validate function on node.right, updating min\n",
      "    \n",
 
</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     "    if not __validate_bst__(node.right, node.data, maximum):\n",
 </s> add     "    if not _validate_bst(node.right, node.data, maximum):\n",
    "* If the node is None, return True\n",
      "## Algorithm\n",
      "\n",
      "We'll use a recursive solution that valides left <= current < right, passing down the min and max values as we do a depth-first traversal.\n",
      "\n",
    "* If the node is None, return True\n",
      "* If min is set and the node's value <= min, return False\n",
      "* if max is set and the node's value > max, return False\n",
      "* Recursively call the validate function on node.left, updating max\n",
      "* Recursively call the validate function on node.right, updating min\n",
      "    \n",
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