(**********************************************************************)
(** * Properties of multiplication on binary positive numbers *)
(** ** One is neutral for multiplication *)

(* Specifications: *)
Lemma mul_1_l p : 1 * p = p.
Lemma mul_1_r p : p * 1 = p.
(** ** Right reduction properties for multiplication *)
Lemma mul_xO_r p q : p * q~0 = (p * q)~0.
Lemma mul_xI_r p q : p * q~1 = p + (p * q)~0.
(** ** Commutativity of multiplication *)
Theorem mul_comm p q : p * q = q * p.
(** ** Distributivity of multiplication over addition *)
Theorem mul_add_distr_l p q r :
p * (q + r) = p * q + p * r.
Theorem mul_add_distr_r p q r :
(p + q) * r = p * r + q * r.