\begin{patch}{FreeMagmaXmpPagePatch1}
\begin{paste}{FreeMagmaXmpPageFull1}{FreeMagmaXmpPageEmpty1}
\pastebutton{FreeMagmaXmpPageFull1}{\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}{FreeMagmaXmpPageEmpty1}
\begin{paste}{FreeMagmaXmpPageEmpty1}{FreeMagmaXmpPagePatch1}
\pastebutton{FreeMagmaXmpPageEmpty1}{\showpaste}
\tab{5}\spadcommand{x:Symbol :='x\bound{x }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch2}
\begin{paste}{FreeMagmaXmpPageFull2}{FreeMagmaXmpPageEmpty2}
\pastebutton{FreeMagmaXmpPageFull2}{\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}{FreeMagmaXmpPageEmpty2}
\begin{paste}{FreeMagmaXmpPageEmpty2}{FreeMagmaXmpPagePatch2}
\pastebutton{FreeMagmaXmpPageEmpty2}{\showpaste}
\tab{5}\spadcommand{y:Symbol :='y\bound{y }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch3}
\begin{paste}{FreeMagmaXmpPageFull3}{FreeMagmaXmpPageEmpty3}
\pastebutton{FreeMagmaXmpPageFull3}{\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}{FreeMagmaXmpPageEmpty3}
\begin{paste}{FreeMagmaXmpPageEmpty3}{FreeMagmaXmpPagePatch3}
\pastebutton{FreeMagmaXmpPageEmpty3}{\showpaste}
\tab{5}\spadcommand{z:Symbol :='z\bound{z }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch4}
\begin{paste}{FreeMagmaXmpPageFull4}{FreeMagmaXmpPageEmpty4}
\pastebutton{FreeMagmaXmpPageFull4}{\hidepaste}
\tab{5}\spadcommand{word := FreeMonoid(Symbol)\bound{word }}
\indentrel{3}\begin{verbatim}
   (4)  FreeMonoid(Symbol)
                                             Type: Type
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPageEmpty4}
\begin{paste}{FreeMagmaXmpPageEmpty4}{FreeMagmaXmpPagePatch4}
\pastebutton{FreeMagmaXmpPageEmpty4}{\showpaste}
\tab{5}\spadcommand{word := FreeMonoid(Symbol)\bound{word }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch5}
\begin{paste}{FreeMagmaXmpPageFull5}{FreeMagmaXmpPageEmpty5}
\pastebutton{FreeMagmaXmpPageFull5}{\hidepaste}
\tab{5}\spadcommand{tree := FreeMagma(Symbol)\bound{tree }}
\indentrel{3}\begin{verbatim}
   (5)  FreeMagma(Symbol)
                                             Type: Type
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPageEmpty5}
\begin{paste}{FreeMagmaXmpPageEmpty5}{FreeMagmaXmpPagePatch5}
\pastebutton{FreeMagmaXmpPageEmpty5}{\showpaste}
\tab{5}\spadcommand{tree := FreeMagma(Symbol)\bound{tree }}
\end{paste}\end{patch}

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

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

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

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

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

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

\begin{patch}{FreeMagmaXmpPagePatch9}
\begin{paste}{FreeMagmaXmpPageFull9}{FreeMagmaXmpPageEmpty9}
\pastebutton{FreeMagmaXmpPageFull9}{\hidepaste}
\tab{5}\spadcommand{left c\free{c }}
\indentrel{3}\begin{verbatim}
   (9)  [x, x]
                                Type: FreeMagma(Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPageEmpty9}
\begin{paste}{FreeMagmaXmpPageEmpty9}{FreeMagmaXmpPagePatch9}
\pastebutton{FreeMagmaXmpPageEmpty9}{\showpaste}
\tab{5}\spadcommand{left c\free{c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch10}
\begin{paste}{FreeMagmaXmpPageFull10}{FreeMagmaXmpPageEmpty10}
\pastebutton{FreeMagmaXmpPageFull10}{\hidepaste}
\tab{5}\spadcommand{right c\free{c }}
\indentrel{3}\begin{verbatim}
   (10)  [y, y]
                                Type: FreeMagma(Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPageEmpty10}
\begin{paste}{FreeMagmaXmpPageEmpty10}{FreeMagmaXmpPagePatch10}
\pastebutton{FreeMagmaXmpPageEmpty10}{\showpaste}
\tab{5}\spadcommand{right c\free{c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch11}
\begin{paste}{FreeMagmaXmpPageFull11}{FreeMagmaXmpPageEmpty11}
\pastebutton{FreeMagmaXmpPageFull11}{\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}{FreeMagmaXmpPageEmpty11}
\begin{paste}{FreeMagmaXmpPageEmpty11}{FreeMagmaXmpPagePatch11}
\pastebutton{FreeMagmaXmpPageEmpty11}{\showpaste}
\tab{5}\spadcommand{length c\free{c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch12}
\begin{paste}{FreeMagmaXmpPageFull12}{FreeMagmaXmpPageEmpty12}
\pastebutton{FreeMagmaXmpPageFull12}{\hidepaste}
\tab{5}\spadcommand{c::word\free{c word }}
\indentrel{3}\begin{verbatim}
          2 2
   (12)  x y
                               Type: FreeMonoid(Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

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

\begin{patch}{FreeMagmaXmpPagePatch13}
\begin{paste}{FreeMagmaXmpPageFull13}{FreeMagmaXmpPageEmpty13}
\pastebutton{FreeMagmaXmpPageFull13}{\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}{FreeMagmaXmpPageEmpty13}
\begin{paste}{FreeMagmaXmpPageEmpty13}{FreeMagmaXmpPagePatch13}
\pastebutton{FreeMagmaXmpPageEmpty13}{\showpaste}
\tab{5}\spadcommand{a < b\free{a b }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch14}
\begin{paste}{FreeMagmaXmpPageFull14}{FreeMagmaXmpPageEmpty14}
\pastebutton{FreeMagmaXmpPageFull14}{\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}{FreeMagmaXmpPageEmpty14}
\begin{paste}{FreeMagmaXmpPageEmpty14}{FreeMagmaXmpPagePatch14}
\pastebutton{FreeMagmaXmpPageEmpty14}{\showpaste}
\tab{5}\spadcommand{a < c\free{a c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch15}
\begin{paste}{FreeMagmaXmpPageFull15}{FreeMagmaXmpPageEmpty15}
\pastebutton{FreeMagmaXmpPageFull15}{\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}{FreeMagmaXmpPageEmpty15}
\begin{paste}{FreeMagmaXmpPageEmpty15}{FreeMagmaXmpPagePatch15}
\pastebutton{FreeMagmaXmpPageEmpty15}{\showpaste}
\tab{5}\spadcommand{b < c\free{b c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch16}
\begin{paste}{FreeMagmaXmpPageFull16}{FreeMagmaXmpPageEmpty16}
\pastebutton{FreeMagmaXmpPageFull16}{\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}{FreeMagmaXmpPageEmpty16}
\begin{paste}{FreeMagmaXmpPageEmpty16}{FreeMagmaXmpPagePatch16}
\pastebutton{FreeMagmaXmpPageEmpty16}{\showpaste}
\tab{5}\spadcommand{first c\free{c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch17}
\begin{paste}{FreeMagmaXmpPageFull17}{FreeMagmaXmpPageEmpty17}
\pastebutton{FreeMagmaXmpPageFull17}{\hidepaste}
\tab{5}\spadcommand{rest c\free{c }}
\indentrel{3}\begin{verbatim}
   (17)  [x, [y, y]]
                                Type: FreeMagma(Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPageEmpty17}
\begin{paste}{FreeMagmaXmpPageEmpty17}{FreeMagmaXmpPagePatch17}
\pastebutton{FreeMagmaXmpPageEmpty17}{\showpaste}
\tab{5}\spadcommand{rest c\free{c }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch18}
\begin{paste}{FreeMagmaXmpPageFull18}{FreeMagmaXmpPageEmpty18}
\pastebutton{FreeMagmaXmpPageFull18}{\hidepaste}
\tab{5}\spadcommand{rest rest c\free{c }}
\indentrel{3}\begin{verbatim}
   (18)  [y, y]
                                Type: FreeMagma(Symbol)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPageEmpty18}
\begin{paste}{FreeMagmaXmpPageEmpty18}{FreeMagmaXmpPagePatch18}
\pastebutton{FreeMagmaXmpPageEmpty18}{\showpaste}
\tab{5}\spadcommand{rest rest c\free{c }}
\end{paste}\end{patch}

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

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

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

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

\begin{patch}{FreeMagmaXmpPagePatch21}
\begin{paste}{FreeMagmaXmpPageFull21}{FreeMagmaXmpPageEmpty21}
\pastebutton{FreeMagmaXmpPageFull21}{\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}{FreeMagmaXmpPageEmpty21}
\begin{paste}{FreeMagmaXmpPageEmpty21}{FreeMagmaXmpPagePatch21}
\pastebutton{FreeMagmaXmpPageEmpty21}{\showpaste}
\tab{5}\spadcommand{xa < ax\free{ax xa }}
\end{paste}\end{patch}

\begin{patch}{FreeMagmaXmpPagePatch22}
\begin{paste}{FreeMagmaXmpPageFull22}{FreeMagmaXmpPageEmpty22}
\pastebutton{FreeMagmaXmpPageFull22}{\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}{FreeMagmaXmpPageEmpty22}
\begin{paste}{FreeMagmaXmpPageEmpty22}{FreeMagmaXmpPagePatch22}
\pastebutton{FreeMagmaXmpPageEmpty22}{\showpaste}
\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }}
\end{paste}\end{patch}

