reconciliation-Nat.ldiff_bit
- Kind
- kernel-term
- Status
- checked
Supports: ∀ (a : Bool) (m : ℕ) (b : Bool) (n : ℕ), (Nat.bit a m).ldiff (Nat.bit b n) = Nat.bit (a && !b) (m.ldiff n)
Evidence notes
Registers an independently constructed native theorem (`F:nat-ldiff-bit`, `Nat.ldiff_bit` in `nat_prelude/bit_decode.rs`) whose proposition definitionally matches this proof-free imported goal -- Mathlib defines `Nat.ldiff` via `bitwise (fun a b => a && !b)`, the same construction our local `ldiff_fn` reproduces, so this closes the SAME function's `bit`-decode identity, not a lookalike about a different definition (the criterion this repository uses to decide when flipping an `ml430` mirror is honest: Mathlib's `def` is the same function, not merely a theorem about a different one). No Autogenesis operation produced the theorem; the route taken (the `Nat.bit` decode bridge transported from `land_bit` -- the fuel-swap machinery unchanged, plus `ldiff`'s own hybrid guard rows -- `lor`-flavoured pass-through at `n=0`, `land`-flavoured absorbing `0` at `m=0` -- and `beq`-gated per-bit combine) is NOT Mathlib's own route via `bitwise_bit'`, which is why this fact's `depends_on` stays empty rather than naming `F:ml430-nat-bitwise-bit-4c4b28a8` -- our proof never used the general `bitwise` recursion equations.