# Package edu.udel.cis.vsl.sarl.ideal.common

package edu.udel.cis.vsl.sarl.ideal.common

Implementation classes for the ideal2 module.
There are classes with names beginning with "NT" (e.g.,

`NTConstant`

). The "NT" stands for
"non-trivial". See the documentation for each class for the interpretation of
non-trivial, but in general the interpretation is that an element of that
class cannot be represented an an element of a "simpler" class. For example,
a non-trivial primitive power is a power of a primitive in which the exponent
is at least 2, as such an element cannot be represented as a primitive. (In
contrast, a primitive power with exponent 1 is equivalent to the primitive
power.) The idea is to have a canonical representation of each element.
Most of the arithmetic logic is contained in the class
`CommonIdealFactory`

. A number of
additional utility classes are defined simply to help the factory (e.g.,
`MonomialAdder`

,
`MonomialDivider`

, etc.).-
ClassDescriptionAn implementation of
`IdealFactory`

.Comparator for ideal numeric expressions.A`SymbolicConstant`

which is also a`Primitive`

.A`Comparator`

on`Monic`

s.A constant which is not 1.A non-trivial monic ("NTMonic") is the product of at least two`PrimitivePower`

s.An`NTPolynomial`

("non-trivial polynomial") is the sum of at least 2`Monomial`

s with different underlying monics, e.g., 1+*x*^{2},*x*+*y*, or*x*+*xy*.A non-trivial primitive power represents a`Primitive`

expression raised to some concrete integer exponent; the exponent is at least 2.A nontrivial`RationalExpression`

.A numeric primitive expression---one which is to be considered as an atomic "variable" when used in other numeric expressions.Empty monic: equivalent to 1.