(** ** Properties of power *)

(* Specifications: *)
Lemma pow_1_r p : p^1 = p.
Lemma pow_succ_r p q : p^(succ q) = p * p^q.
(** ** Properties of square *)
Lemma square_spec p : square p = p * p.
(** ** Properties of [sub_mask] *)
Lemma sub_mask_succ_r p q :
sub_mask p (succ q) = sub_mask_carry p q.
Theorem sub_mask_carry_spec p q :
sub_mask_carry p q = pred_mask (sub_mask p q).