check if a binary tree is a binary search tree

I have some doubts about this algorithm which checks if a binary tree is a binary search tree:

isAbr(x)     {             if(x == NULL)                     return <true, -∞, +∞>;             if(x.left == NULL && x.right == NULL)                     return <true, x.key, x.key>;              <abrLeft, minLeft, maxLeft> = isAbr(x.left);             <abrRight, minRight, maxRight> = isAbr(x.left);             abr = abrLeft && abrRigh && (x.key > maxLeft) && (x.key < minLeft);             min = MIN(minLeft, minRight, x.k);             max = max(maxLeft, maxRight, x.k);              return <abr, min, max>     } 

in particular, it is not clear to me what happens when a node has only one child:

enter image description here

for example, here, the node with the value 6 returns $ <true, 6, 6>$ , and the NULL node to the right of the root returns $ <true, -∞, + ∞>$ ; but with the instruction abr = abrLeft && abrRigh && (x.key > maxLeft) && (x.key < minLeft); don’t we get FALSE $ (8 < -∞)$ ?