(** We cannot have a function complementing all bits of a number, otherwise it would have an infinity of bit 1. Nonetheless, we can design a bounded complement *)
Definition lnot a n := lxor a (ones n).
#[global]
Instance ones_wd : Proper (eq==>eq) ones.

Lemma lnot_lor_low : forall a b n, log2 a < n -> log2 b < n ->
lnot (lor a b) n == land (lnot a n) (lnot b n).