If M was more than N, procedure isLeftHeavy (M, N) would have returned True. Since it returned False, we know that M is less than or equal to N.
If N was more than M, procedure isLeftHeavy (N, M) would have returned True. Since it returned False, we know that M is more than N, or equal to N.
Since M cannot be more than and less than N at the same time, they must be equal to each other.
Hope my explanation can be understood.