We treat polynomial rings and their elements as follows.

Generic DMS ring is an *n*-variate polynomial ring
,
where *K* is some coefficient set. *K* is unknown in advance
and it is determined when coefficients of an element are received.
When a server has received an element in Generic DMS ring,
the server has to translate it into the corresponding local object
on the server. Each server has its own translation scheme.
In Asir such an element are translated into a distributed polynomial.
In `kan/sm1` things are complicated.
`kan/sm1` does not have any class corresponding to Generic DMS ring.
`kan/sm1` translates a DMS of N variables into an element of
the CurrentRing.
If the CurrentRing is *n*'-variate and *n*' < *n*, then
an *n*-variate polynomial ring is newly created. Optional informations such as
the term order are all ignored.

If RingByName (`CMO_RING_BY_NAME`, yyy)
is specified as the second field of DMS,
it requests a sever to use a ring object whose name is yyy
as the destination ring for the translation.
This is done in `kan/sm1`.

**Example**: (all numbers are represented in hexadecimal notation)

Z/11Z [6 variables] (kxx/cmotest.sm1) run [(x,y) ring_of_polynomials ( ) elimination_order 11 ] define_ring ; (3x^2 y). cmo /ff set ; [(cmoLispLike) 1] extension ; ff :: Class.CMO CMO StandardEncoding: size = 52, size/sizeof(int) = 13, tag=CMO_DISTRIBUTED_POLYNOMIAL 0 0 0 1f 0 0 0 1 0 0 0 18 0 0 0 13 0 0 0 6 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 3 ff omc :: (CMO_DISTRIBUTED_POLYNOMIAL[1f],[size=]1,(CMO_DMS_GENERIC[18],), (CMO_MONOMIAL32[13],3*x^2*y),),

3 *x*^{2} *y* is regarded as an element of a six-variate polynomial ring.