(** ** Gcd *)
Definition divide x y := exists z, y=z*x.
Notation "( x | y )" := (divide x y) (at level 0) : nat_scope.

(* needed to implement Stdlib.Numbers.NatInt.NZBitsSpec *)
Lemma land_spec a b n :
testbit (land a b) n = testbit a n && testbit b n.