(*Generator
*)

Definition gen_mon : forall d : nat, nat -> mon d.(*
	Multiplication of monomials.
*)

Definition mult_mon : forall d : nat, mon d -> mon d -> mon d.

(* Specifications: *)
Theorem mult_mon_com : forall (d : nat) (a b : mon d), mult_mon d a b = mult_mon d b a.
Theorem mult_mon_assoc : forall (d : nat) (a b c : mon d), mult_mon d a (mult_mon d b c) = mult_mon d (mult_mon d a b) c.