reconciliation-Nat.bitwise_bit
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {f : Bool → Bool → Bool} (a : Bool) (m : ℕ) (b : Bool) (n : ℕ), (m = 0 → a = true) → (n = 0 → b = true) → Nat.bitwise f (Nat.bit a m) (Nat.bit b n) = Nat.bit (f a b) (Nat.bitwise f m n)
Evidence notes
Registers an independently constructed native theorem (`F:nat-bitwise-bit`, `Nat.bitwise_bit'` in `nat_prelude/bitwise.rs`) whose proposition matches this proof-free imported goal verbatim -- same binder order, same two side hypotheses, same conclusion. Our `Nat.bitwise` genuinely IS Mathlib's own general combinator (established for `bitwise_comm`/`bitwise_swap` already, unchanged here), and unlike the `testBit`-shaped siblings this mirror-flip criterion rules unflippable (Mathlib's `testBit` returns `Bool` against our `Nat`), this theorem's codomain is `Nat` throughout on both sides -- so the flip is honest in the strongest sense: Mathlib's `def Nat.bitwise`/`Nat.bit` and ours are the same functions, and this closes the same theorem about them.