\begin{patch}{MagmaXmpPagePatch1}
\begin{paste}{MagmaXmpPageFull1}{MagmaXmpPageEmpty1}
\pastebutton{MagmaXmpPageFull1}{\hidepaste}
\tab{5}\spadcommand{x:Symbol :='x\bound{x }}
\indentrel{3}\begin{verbatim}
   (1)  x
                                           Type: Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty1}
\begin{paste}{MagmaXmpPageEmpty1}{MagmaXmpPagePatch1}
\pastebutton{MagmaXmpPageEmpty1}{\showpaste}
\tab{5}\spadcommand{x:Symbol :='x\bound{x }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch2}
\begin{paste}{MagmaXmpPageFull2}{MagmaXmpPageEmpty2}
\pastebutton{MagmaXmpPageFull2}{\hidepaste}
\tab{5}\spadcommand{y:Symbol :='y\bound{y }}
\indentrel{3}\begin{verbatim}
   (2)  y
                                           Type: Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty2}
\begin{paste}{MagmaXmpPageEmpty2}{MagmaXmpPagePatch2}
\pastebutton{MagmaXmpPageEmpty2}{\showpaste}
\tab{5}\spadcommand{y:Symbol :='y\bound{y }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch3}
\begin{paste}{MagmaXmpPageFull3}{MagmaXmpPageEmpty3}
\pastebutton{MagmaXmpPageFull3}{\hidepaste}
\tab{5}\spadcommand{z:Symbol :='z\bound{z }}
\indentrel{3}\begin{verbatim}
   (3)  z
                                           Type: Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty3}
\begin{paste}{MagmaXmpPageEmpty3}{MagmaXmpPagePatch3}
\pastebutton{MagmaXmpPageEmpty3}{\showpaste}
\tab{5}\spadcommand{z:Symbol :='z\bound{z }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch4}
\begin{paste}{MagmaXmpPageFull4}{MagmaXmpPageEmpty4}
\pastebutton{MagmaXmpPageFull4}{\hidepaste}
\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }}
\indentrel{3}\begin{verbatim}
   (4)  OrderedFreeMonoid Symbol
                                           Type: Domain
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty4}
\begin{paste}{MagmaXmpPageEmpty4}{MagmaXmpPagePatch4}
\pastebutton{MagmaXmpPageEmpty4}{\showpaste}
\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch5}
\begin{paste}{MagmaXmpPageFull5}{MagmaXmpPageEmpty5}
\pastebutton{MagmaXmpPageFull5}{\hidepaste}
\tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }}
\indentrel{3}\begin{verbatim}
   (5)  Magma Symbol
                                           Type: Domain
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty5}
\begin{paste}{MagmaXmpPageEmpty5}{MagmaXmpPagePatch5}
\pastebutton{MagmaXmpPageEmpty5}{\showpaste}
\tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch6}
\begin{paste}{MagmaXmpPageFull6}{MagmaXmpPageEmpty6}
\pastebutton{MagmaXmpPageFull6}{\hidepaste}
\tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }}
\indentrel{3}\begin{verbatim}
   (6)  [x,x]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty6}
\begin{paste}{MagmaXmpPageEmpty6}{MagmaXmpPagePatch6}
\pastebutton{MagmaXmpPageEmpty6}{\showpaste}
\tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch7}
\begin{paste}{MagmaXmpPageFull7}{MagmaXmpPageEmpty7}
\pastebutton{MagmaXmpPageFull7}{\hidepaste}
\tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }}
\indentrel{3}\begin{verbatim}
   (7)  [y,y]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty7}
\begin{paste}{MagmaXmpPageEmpty7}{MagmaXmpPagePatch7}
\pastebutton{MagmaXmpPageEmpty7}{\showpaste}
\tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch8}
\begin{paste}{MagmaXmpPageFull8}{MagmaXmpPageEmpty8}
\pastebutton{MagmaXmpPageFull8}{\hidepaste}
\tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }}
\indentrel{3}\begin{verbatim}
   (8)  [[x,x],[y,y]]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty8}
\begin{paste}{MagmaXmpPageEmpty8}{MagmaXmpPagePatch8}
\pastebutton{MagmaXmpPageEmpty8}{\showpaste}
\tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch9}
\begin{paste}{MagmaXmpPageFull9}{MagmaXmpPageEmpty9}
\pastebutton{MagmaXmpPageFull9}{\hidepaste}
\tab{5}\spadcommand{left c\free{c }}
\indentrel{3}\begin{verbatim}
   (9)  [x,x]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty9}
\begin{paste}{MagmaXmpPageEmpty9}{MagmaXmpPagePatch9}
\pastebutton{MagmaXmpPageEmpty9}{\showpaste}
\tab{5}\spadcommand{left c\free{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch10}
\begin{paste}{MagmaXmpPageFull10}{MagmaXmpPageEmpty10}
\pastebutton{MagmaXmpPageFull10}{\hidepaste}
\tab{5}\spadcommand{right c\free{c }}
\indentrel{3}\begin{verbatim}
   (10)  [y,y]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty10}
\begin{paste}{MagmaXmpPageEmpty10}{MagmaXmpPagePatch10}
\pastebutton{MagmaXmpPageEmpty10}{\showpaste}
\tab{5}\spadcommand{right c\free{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch11}
\begin{paste}{MagmaXmpPageFull11}{MagmaXmpPageEmpty11}
\pastebutton{MagmaXmpPageFull11}{\hidepaste}
\tab{5}\spadcommand{length c\free{c }}
\indentrel{3}\begin{verbatim}
   (11)  4
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty11}
\begin{paste}{MagmaXmpPageEmpty11}{MagmaXmpPagePatch11}
\pastebutton{MagmaXmpPageEmpty11}{\showpaste}
\tab{5}\spadcommand{length c\free{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch12}
\begin{paste}{MagmaXmpPageFull12}{MagmaXmpPageEmpty12}
\pastebutton{MagmaXmpPageFull12}{\hidepaste}
\tab{5}\spadcommand{c::word\free{c word }}
\indentrel{3}\begin{verbatim}
          2 2
   (12)  x y
                         Type: OrderedFreeMonoid Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty12}
\begin{paste}{MagmaXmpPageEmpty12}{MagmaXmpPagePatch12}
\pastebutton{MagmaXmpPageEmpty12}{\showpaste}
\tab{5}\spadcommand{c::word\free{c word }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch13}
\begin{paste}{MagmaXmpPageFull13}{MagmaXmpPageEmpty13}
\pastebutton{MagmaXmpPageFull13}{\hidepaste}
\tab{5}\spadcommand{a < b\free{a b }}
\indentrel{3}\begin{verbatim}
   (13)  true
                                          Type: Boolean
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty13}
\begin{paste}{MagmaXmpPageEmpty13}{MagmaXmpPagePatch13}
\pastebutton{MagmaXmpPageEmpty13}{\showpaste}
\tab{5}\spadcommand{a < b\free{a b }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch14}
\begin{paste}{MagmaXmpPageFull14}{MagmaXmpPageEmpty14}
\pastebutton{MagmaXmpPageFull14}{\hidepaste}
\tab{5}\spadcommand{a < c\free{a c }}
\indentrel{3}\begin{verbatim}
   (14)  true
                                          Type: Boolean
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty14}
\begin{paste}{MagmaXmpPageEmpty14}{MagmaXmpPagePatch14}
\pastebutton{MagmaXmpPageEmpty14}{\showpaste}
\tab{5}\spadcommand{a < c\free{a c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch15}
\begin{paste}{MagmaXmpPageFull15}{MagmaXmpPageEmpty15}
\pastebutton{MagmaXmpPageFull15}{\hidepaste}
\tab{5}\spadcommand{b < c\free{b c }}
\indentrel{3}\begin{verbatim}
   (15)  true
                                          Type: Boolean
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty15}
\begin{paste}{MagmaXmpPageEmpty15}{MagmaXmpPagePatch15}
\pastebutton{MagmaXmpPageEmpty15}{\showpaste}
\tab{5}\spadcommand{b < c\free{b c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch16}
\begin{paste}{MagmaXmpPageFull16}{MagmaXmpPageEmpty16}
\pastebutton{MagmaXmpPageFull16}{\hidepaste}
\tab{5}\spadcommand{first c\free{c }}
\indentrel{3}\begin{verbatim}
   (16)  x
                                           Type: Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty16}
\begin{paste}{MagmaXmpPageEmpty16}{MagmaXmpPagePatch16}
\pastebutton{MagmaXmpPageEmpty16}{\showpaste}
\tab{5}\spadcommand{first c\free{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch17}
\begin{paste}{MagmaXmpPageFull17}{MagmaXmpPageEmpty17}
\pastebutton{MagmaXmpPageFull17}{\hidepaste}
\tab{5}\spadcommand{rest c\free{c }}
\indentrel{3}\begin{verbatim}
   (17)  [x,[y,y]]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty17}
\begin{paste}{MagmaXmpPageEmpty17}{MagmaXmpPagePatch17}
\pastebutton{MagmaXmpPageEmpty17}{\showpaste}
\tab{5}\spadcommand{rest c\free{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch18}
\begin{paste}{MagmaXmpPageFull18}{MagmaXmpPageEmpty18}
\pastebutton{MagmaXmpPageFull18}{\hidepaste}
\tab{5}\spadcommand{rest rest c\free{c }}
\indentrel{3}\begin{verbatim}
   (18)  [y,y]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty18}
\begin{paste}{MagmaXmpPageEmpty18}{MagmaXmpPagePatch18}
\pastebutton{MagmaXmpPageEmpty18}{\showpaste}
\tab{5}\spadcommand{rest rest c\free{c }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch19}
\begin{paste}{MagmaXmpPageFull19}{MagmaXmpPageEmpty19}
\pastebutton{MagmaXmpPageFull19}{\hidepaste}
\tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }}
\indentrel{3}\begin{verbatim}
   (19)  [[x,x],x]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty19}
\begin{paste}{MagmaXmpPageEmpty19}{MagmaXmpPagePatch19}
\pastebutton{MagmaXmpPageEmpty19}{\showpaste}
\tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch20}
\begin{paste}{MagmaXmpPageFull20}{MagmaXmpPageEmpty20}
\pastebutton{MagmaXmpPageFull20}{\hidepaste}
\tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }}
\indentrel{3}\begin{verbatim}
   (20)  [x,[x,x]]
                                     Type: Magma Symbol
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty20}
\begin{paste}{MagmaXmpPageEmpty20}{MagmaXmpPagePatch20}
\pastebutton{MagmaXmpPageEmpty20}{\showpaste}
\tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch21}
\begin{paste}{MagmaXmpPageFull21}{MagmaXmpPageEmpty21}
\pastebutton{MagmaXmpPageFull21}{\hidepaste}
\tab{5}\spadcommand{xa < ax\free{ax xa }}
\indentrel{3}\begin{verbatim}
   (21)  true
                                          Type: Boolean
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty21}
\begin{paste}{MagmaXmpPageEmpty21}{MagmaXmpPagePatch21}
\pastebutton{MagmaXmpPageEmpty21}{\showpaste}
\tab{5}\spadcommand{xa < ax\free{ax xa }}
\end{paste}\end{patch}

\begin{patch}{MagmaXmpPagePatch22}
\begin{paste}{MagmaXmpPageFull22}{MagmaXmpPageEmpty22}
\pastebutton{MagmaXmpPageFull22}{\hidepaste}
\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }}
\indentrel{3}\begin{verbatim}
   (22)  false
                                          Type: Boolean
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{MagmaXmpPageEmpty22}
\begin{paste}{MagmaXmpPageEmpty22}{MagmaXmpPagePatch22}
\pastebutton{MagmaXmpPageEmpty22}{\showpaste}
\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }}
\end{paste}\end{patch}