def delete_min(self):
<EOL>if self.left is NULL:<EOL><INDENT>return NULL, self.value<EOL><DEDENT>if not self.left.red and not self.left.left.red:<EOL><INDENT>self = self.move_red_left()<EOL><DEDENT>left, value = self.left.delete_min()<EOL>self = self._replace(left=left)<EOL>return self.balance(), value<EOL>
Delete the left-most value from a tree.