\begin{patch}{XPolynomialRingXmpPagePatch1}
\begin{paste}{XPolynomialRingXmpPageFull1}{XPolynomialRingXmpPageEmpty1}
\pastebutton{XPolynomialRingXmpPageFull1}{\hidepaste}
\tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }}
\indentrel{3}\begin{verbatim}
   (1)  OrderedFreeMonoid Symbol
                                           Type: Domain
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty1}
\begin{paste}{XPolynomialRingXmpPageEmpty1}{XPolynomialRingXmpPagePatch1}
\pastebutton{XPolynomialRingXmpPageEmpty1}{\showpaste}
\tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch2}
\begin{paste}{XPolynomialRingXmpPageFull2}{XPolynomialRingXmpPageEmpty2}
\pastebutton{XPolynomialRingXmpPageFull2}{\hidepaste}
\tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }}
\indentrel{3}\begin{verbatim}
   (2)
   XPolynomialRing(Integer,OrderedFreeMonoid Symbol)
                                           Type: Domain
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty2}
\begin{paste}{XPolynomialRingXmpPageEmpty2}{XPolynomialRingXmpPagePatch2}
\pastebutton{XPolynomialRingXmpPageEmpty2}{\showpaste}
\tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch3}
\begin{paste}{XPolynomialRingXmpPageFull3}{XPolynomialRingXmpPageEmpty3}
\pastebutton{XPolynomialRingXmpPageFull3}{\hidepaste}
\tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }}
\indentrel{3}\begin{verbatim}
   (3)  1 + 2x - 3y
Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty3}
\begin{paste}{XPolynomialRingXmpPageEmpty3}{XPolynomialRingXmpPagePatch3}
\pastebutton{XPolynomialRingXmpPageEmpty3}{\showpaste}
\tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch4}
\begin{paste}{XPolynomialRingXmpPageFull4}{XPolynomialRingXmpPageEmpty4}
\pastebutton{XPolynomialRingXmpPageFull4}{\hidepaste}
\tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }}
\indentrel{3}\begin{verbatim}
   (4)  1 + 2x
Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty4}
\begin{paste}{XPolynomialRingXmpPageEmpty4}{XPolynomialRingXmpPagePatch4}
\pastebutton{XPolynomialRingXmpPageEmpty4}{\showpaste}
\tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch5}
\begin{paste}{XPolynomialRingXmpPageFull5}{XPolynomialRingXmpPageEmpty5}
\pastebutton{XPolynomialRingXmpPageFull5}{\hidepaste}
\tab{5}\spadcommand{p + q\free{p }\free{q }}
\indentrel{3}\begin{verbatim}
   (5)  2 + 4x - 3y
Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty5}
\begin{paste}{XPolynomialRingXmpPageEmpty5}{XPolynomialRingXmpPagePatch5}
\pastebutton{XPolynomialRingXmpPageEmpty5}{\showpaste}
\tab{5}\spadcommand{p + q\free{p }\free{q }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch6}
\begin{paste}{XPolynomialRingXmpPageFull6}{XPolynomialRingXmpPageEmpty6}
\pastebutton{XPolynomialRingXmpPageFull6}{\hidepaste}
\tab{5}\spadcommand{p * q\free{p }\free{q }}
\indentrel{3}\begin{verbatim}
                        2
   (6)  1 + 4x - 3y + 4x  - 6y x
Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty6}
\begin{paste}{XPolynomialRingXmpPageEmpty6}{XPolynomialRingXmpPagePatch6}
\pastebutton{XPolynomialRingXmpPageEmpty6}{\showpaste}
\tab{5}\spadcommand{p * q\free{p }\free{q }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch7}
\begin{paste}{XPolynomialRingXmpPageFull7}{XPolynomialRingXmpPageEmpty7}
\pastebutton{XPolynomialRingXmpPageFull7}{\hidepaste}
\tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }}
\indentrel{3}\begin{verbatim}
   (7)  - 6x y + 6y x
Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty7}
\begin{paste}{XPolynomialRingXmpPageEmpty7}{XPolynomialRingXmpPagePatch7}
\pastebutton{XPolynomialRingXmpPageEmpty7}{\showpaste}
\tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch8}
\begin{paste}{XPolynomialRingXmpPageFull8}{XPolynomialRingXmpPageEmpty8}
\pastebutton{XPolynomialRingXmpPageFull8}{\hidepaste}
\tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }}
\indentrel{3}\begin{verbatim}
   (8)  SquareMatrix(2,Fraction Integer)
                                           Type: Domain
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty8}
\begin{paste}{XPolynomialRingXmpPageEmpty8}{XPolynomialRingXmpPagePatch8}
\pastebutton{XPolynomialRingXmpPageEmpty8}{\showpaste}
\tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch9}
\begin{paste}{XPolynomialRingXmpPageFull9}{XPolynomialRingXmpPageEmpty9}
\pastebutton{XPolynomialRingXmpPageFull9}{\hidepaste}
\tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }}
\indentrel{3}\begin{verbatim}
   (9)
  XPolynomialRing(SquareMatrix(2,Fraction Integer),Ordere
  dFreeMonoid Symbol)
                                           Type: Domain
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty9}
\begin{paste}{XPolynomialRingXmpPageEmpty9}{XPolynomialRingXmpPagePatch9}
\pastebutton{XPolynomialRingXmpPageEmpty9}{\showpaste}
\tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch10}
\begin{paste}{XPolynomialRingXmpPageFull10}{XPolynomialRingXmpPageEmpty10}
\pastebutton{XPolynomialRingXmpPageFull10}{\hidepaste}
\tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }}
\indentrel{3}\begin{verbatim}
         Ú1  2¿
   (10)  ³    ³
         À4  8Ù
                 Type: SquareMatrix(2,Fraction Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty10}
\begin{paste}{XPolynomialRingXmpPageEmpty10}{XPolynomialRingXmpPagePatch10}
\pastebutton{XPolynomialRingXmpPageEmpty10}{\showpaste}
\tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch11}
\begin{paste}{XPolynomialRingXmpPageFull11}{XPolynomialRingXmpPageEmpty11}
\pastebutton{XPolynomialRingXmpPageFull11}{\hidepaste}
\tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }}
\indentrel{3}\begin{verbatim}
         Ú  1    ¿
         ³- Ä  2 ³
         ³  4    ³
   (11)  ³       ³
         ³     27³
         ³ 4   ÄÄ³
         À      4Ù
                 Type: SquareMatrix(2,Fraction Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty11}
\begin{paste}{XPolynomialRingXmpPageEmpty11}{XPolynomialRingXmpPagePatch11}
\pastebutton{XPolynomialRingXmpPageEmpty11}{\showpaste}
\tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch12}
\begin{paste}{XPolynomialRingXmpPageFull12}{XPolynomialRingXmpPageEmpty12}
\pastebutton{XPolynomialRingXmpPageFull12}{\hidepaste}
\tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }}
\indentrel{3}\begin{verbatim}
         Ú129     ¿
         ³ÄÄÄ  13 ³
         ³ 16     ³
   (12)  ³        ³
         ³     857³
         ³26   ÄÄÄ³
         À      16Ù
                 Type: SquareMatrix(2,Fraction Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty12}
\begin{paste}{XPolynomialRingXmpPageEmpty12}{XPolynomialRingXmpPagePatch12}
\pastebutton{XPolynomialRingXmpPageEmpty12}{\showpaste}
\tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch13}
\begin{paste}{XPolynomialRingXmpPageFull13}{XPolynomialRingXmpPageEmpty13}
\pastebutton{XPolynomialRingXmpPageFull13}{\hidepaste}
\tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }}
\indentrel{3}\begin{verbatim}
         Ú  2     ¿             Ú  1    ¿    Ú129     ¿
         ³- Ä   0 ³             ³- Ä  2 ³    ³ÄÄÄ  13 ³
         ³  3     ³   Ú1  2¿    ³  4    ³    ³ 16     ³
   (13)  ³        ³ + ³    ³x + ³       ³y + ³        ³z
         ³       2³   À4  8Ù    ³     27³    ³     857³
         ³ 0   - Ä³             ³ 4   ÄÄ³    ³26   ÄÄÄ³
         À       3Ù             À      4Ù    À      16Ù
Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty13}
\begin{paste}{XPolynomialRingXmpPageEmpty13}{XPolynomialRingXmpPagePatch13}
\pastebutton{XPolynomialRingXmpPageEmpty13}{\showpaste}
\tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch14}
\begin{paste}{XPolynomialRingXmpPageFull14}{XPolynomialRingXmpPageEmpty14}
\pastebutton{XPolynomialRingXmpPageFull14}{\hidepaste}
\tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }}
\indentrel{3}\begin{verbatim}
         Ú  2     ¿   Ú  1    ¿    Ú129     ¿
         ³- Ä   0 ³   ³- Ä  2 ³    ³ÄÄÄ  13 ³
         ³  3     ³   ³  4    ³    ³ 16     ³
   (14)  ³        ³ + ³       ³y + ³        ³z
         ³       2³   ³     27³    ³     857³
         ³ 0   - Ä³   ³ 4   ÄÄ³    ³26   ÄÄÄ³
         À       3Ù   À      4Ù    À      16Ù
Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty14}
\begin{paste}{XPolynomialRingXmpPageEmpty14}{XPolynomialRingXmpPagePatch14}
\pastebutton{XPolynomialRingXmpPageEmpty14}{\showpaste}
\tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }}
\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPagePatch15}
\begin{paste}{XPolynomialRingXmpPageFull15}{XPolynomialRingXmpPageEmpty15}
\pastebutton{XPolynomialRingXmpPageFull15}{\hidepaste}
\tab{5}\spadcommand{qm**3\bound{qm }}
\indentrel{3}\begin{verbatim}
   (15)
     Ú   8      ¿   Ú  1  8¿    Ú43   52 ¿
     ³- ÄÄ   0  ³   ³- Ä  Ä³    ³ÄÄ   ÄÄ ³
     ³  27      ³   ³  3  3³    ³ 4    3 ³
     ³          ³ + ³      ³y + ³        ³z
     ³         8³   ³16    ³    ³104  857³
     ³ 0    - ÄÄ³   ³ÄÄ   9³    ³ÄÄÄ  ÄÄÄ³
     À        27Ù   À 3    Ù    À 3    12Ù
   + 
     Ú  129       ¿     Ú  3199     831 ¿
     ³- ÄÄÄ  - 26 ³     ³- ÄÄÄÄ   - ÄÄÄ ³
     ³   8        ³ 2   ³   32       4  ³
     ³            ³y  + ³               ³y z
     ³         857³     ³  831     26467³
     ³- 52   - ÄÄÄ³     ³- ÄÄÄ   - ÄÄÄÄÄ³
     À          8 Ù     À   2        32 Ù
   + 
     Ú  3199     831 ¿      Ú  103169     6409 ¿
     ³- ÄÄÄÄ   - ÄÄÄ ³      ³- ÄÄÄÄÄÄ   - ÄÄÄÄ ³
     ³   32       4  ³      ³    128        4  ³ 2
     ³               ³z y + ³                  ³z
     ³  831     26467³      ³   6409     820977³
     ³- ÄÄÄ   - ÄÄÄÄÄ³      ³ - ÄÄÄÄ   - ÄÄÄÄÄÄ³
     À   2        32 Ù      À     2        128 Ù
   + 
     Ú3199   831 ¿     Ú103169   6409 ¿
     ³ÄÄÄÄ   ÄÄÄ ³     ³ÄÄÄÄÄÄ   ÄÄÄÄ ³
     ³ 64     8  ³ 3   ³  256      8  ³ 2
     ³           ³y  + ³              ³y z
     ³831   26467³     ³ 6409   820977³
     ³ÄÄÄ   ÄÄÄÄÄ³     ³ ÄÄÄÄ   ÄÄÄÄÄÄ³
     À 4      64 Ù     À   4      256 Ù
   + 
     Ú103169   6409 ¿        Ú3178239   795341 ¿
     ³ÄÄÄÄÄÄ   ÄÄÄÄ ³        ³ÄÄÄÄÄÄÄ   ÄÄÄÄÄÄ ³
     ³  256      8  ³        ³  1024      128  ³   2
     ³              ³y z y + ³                 ³y z
     ³ 6409   820977³        ³795341   25447787³
     ³ ÄÄÄÄ   ÄÄÄÄÄÄ³        ³ÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄ³
     À   4      256 Ù        À  64       1024  Ù
   + 
     Ú103169   6409 ¿       Ú3178239   795341 ¿
     ³ÄÄÄÄÄÄ   ÄÄÄÄ ³       ³ÄÄÄÄÄÄÄ   ÄÄÄÄÄÄ ³
     ³  256      8  ³   2   ³  1024      128  ³
     ³              ³z y  + ³                 ³z y z
     ³ 6409   820977³       ³795341   25447787³
     ³ ÄÄÄÄ   ÄÄÄÄÄÄ³       ³ÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄ³
     À   4      256 Ù       À  64       1024  Ù
   + 
     Ú3178239   795341 ¿      Ú98625409  12326223 ¿
     ³ÄÄÄÄÄÄÄ   ÄÄÄÄÄÄ ³      ³ÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄ ³
     ³  1024      128  ³ 2    ³  4096       256   ³ 3
     ³                 ³z y + ³                   ³z
     ³795341   25447787³      ³12326223  788893897³
     ³ÄÄÄÄÄÄ   ÄÄÄÄÄÄÄÄ³      ³ÄÄÄÄÄÄÄÄ  ÄÄÄÄÄÄÄÄÄ³
     À  64       1024  Ù      À   128       4096  Ù
Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{XPolynomialRingXmpPageEmpty15}
\begin{paste}{XPolynomialRingXmpPageEmpty15}{XPolynomialRingXmpPagePatch15}
\pastebutton{XPolynomialRingXmpPageEmpty15}{\showpaste}
\tab{5}\spadcommand{qm**3\bound{qm }}
\end{paste}\end{patch}

