Fact is_rel_prime_expo p q l : is_gcd p q 1 -> is_gcd p (mscal mult 1 l q) 1.
(* Every positive number is the product of a list of primes *)
Notation lprod := (fold_right mult 1).
Fact lprod_ge_1 l : Forall prime l -> 1 <= lprod l.
Fact lprod_app l m : lprod (l++m) = lprod l * lprod m.

(* Specifications: *)
Theorem prime_decomp n : n <> 0 -> { l | n = lprod l /\ Forall prime l }.
Hint Resolve lprod_ge_1 prime_ge_2.