Category of factorial domains
Cat::FactorialDomain represents the category of factorial domains (i.e., unique factorization domains).
A Cat::FactorialDomain is an integral domain with gcd where an unique factorization can be computed.
The factorization methods are named "factor" and "sqrfree" and must return elements of the domain Factored over this domain.
See Factored for details about the representation of the factorization.