f : Bool → Bool → Bool
n : ℕ
⊢ binaryRec (fun n => bif f false true then n else 0)
      (fun a m Ia => binaryRec (bif f true false then bit a m else 0) fun b n x => bit (f a b) (Ia n)) 0 n =
    bif f false true then n else 0
f : Bool → Bool → Bool
n : ℕ
⊢ bitwise' f 0 n = bif f false true then n else 0
unfold bitwise'
no goals
f : Bool → Bool → Bool
n : ℕ
⊢ binaryRec (fun n => bif f false true then n else 0)
      (fun a m Ia => binaryRec (bif f true false then bit a m else 0) fun b n x => bit (f a b) (Ia n)) 0 n =
    bif f false true then n else 0
rw [binaryRec_zero]