(* needed to implement Stdlib.Numbers.NatInt.NZBitsSpec *)
Definition shiftl_spec_high a n m (_:0<=m) := shiftl_specif_high a n m.(* needed to implement Stdlib.Numbers.NatInt.NZBitsSpec *)
Definition shiftr_spec a n m (_:0<=m) := shiftr_specif a n m.

(* Specifications: *)
Lemma div_0_r a : a / 0 = 0.
Lemma mod_0_r a : a mod 0 = a.
Lemma binary_induction (A : nat -> Prop) : A 0 -> (forall n, A n -> A (2 * n)) -> (forall n, A n -> A (2 * n + 1)) -> forall n, A n.
Lemma tail_add_spec n m : tail_add n m = n + m.
Lemma tail_addmul_spec r n m : tail_addmul r n m = r + n * m.
Lemma tail_mul_spec n m : tail_mul n m = n * m.