conv => rhs; change (m ^^^ n) >>> 1; rw [xor_shiftRight]
case right.hdiv
m n : Nat
disjoint : m &&& n = 0
hm : m > 0
this : getBit (m &&& n) 0 = false
⊢ m >>> 1 + n >>> 1 = (m ^^^ n) / 2
case right.hdiv
m n : Nat
disjoint : m &&& n = 0
hm : m > 0
this : getBit (m &&& n) 0 = false
⊢ m >>> 1 + n >>> 1 = m >>> 1 ^^^ n >>> 1