@MichaelWayne i guess it's because, for this particular problem,

If the array is indeed rotated (for example [3, 4, 5, 6, 1, 2, 3])

when a[mid] > a[right], a[left] < a[mid] is always true, that is, a[mid] > a[right] implies a[left] < a[mid]. so (a[mid] > a[right]) is equivalent to (a[mid] > a[right] && a[left] < a[mid]). GO RIGHT.

when a[mid] < a[right], a[left] > a[mid] is always true, that is a[mid] < a[right] implies a[left] > a[mid]. so (a[mid] < a[right]) is equivalent to (a[mid] < a[right] && a[left] > a[mid]). GO LEFT.

Therefore, all we need is to compare a[mid] and a[right].
Actually we can also only compare a[mid] and a[left] in 1. but for unrotated array, we just need to go all the way left, and a[mid] < a[right] always holds. <-- this happens to be the same case in 1.

in the end, we know we just need to compare a[mid] and a[right].