(** Connections between [add] and bitwise logical operations. *)

Lemma Z_add_is_or:
forall i, 0 <= i ->
forall x y,
(forall j, 0 <= j <= i -> Z.testbit x j && Z.testbit y j = false) ->
Z.testbit (x + y) i = Z.testbit x i || Z.testbit y i.